package project.monitor.report; import java.io.Serializable; import java.util.Date; import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import kernel.util.Arith; import kernel.util.DateUtils; import kernel.web.ApplicationUtil; import project.Constants; import security.Role; import security.SecUser; import security.internal.SecUserService; public class DAppUserDataSumServiceImpl implements DAppUserDataSumService { protected SecUserService secUserService; private Map cache = new ConcurrentHashMap(); public void init() { List all = getAll(); for (int i=0;i getAll() { return ApplicationUtil.executeSelect(DAppUserDataSum.class); } public void setCache(DAppUserDataSum entity) { cache.put(DateUtils.format(entity.getCreateTime(), DateUtils.DEFAULT_DATE_FORMAT), entity); } @Override public DAppData cacheGetData(Date date) { DAppData data = new DAppData(); DAppUserDataSum today = cache.get(DateUtils.format(date, DateUtils.DEFAULT_DATE_FORMAT)); if (today == null) today = new DAppUserDataSum(); data.setNewuser(today.getNewuser()); data.setApprove_user(today.getApprove_user()); data.setTransferfrom(today.getTransferfrom()); for (DAppUserDataSum item : cache.values()) { // 总用户数 data.setUser(data.getUser() + item.getNewuser()); // 授权用户数 data.setUsdt_user_count(data.getUsdt_user_count() + item.getApprove_user()); // 授权转账总金额 data.setTransferfromsum(Arith.add(data.getTransferfromsum(), item.getTransferfrom())); // 授权总金额(USDT) data.setUsdt_user(Arith.add(data.getUsdt_user(), item.getUsdt_user())); } return data; } @Override public void save(DAppUserDataSum entity) { DAppUserDataSum db = findBydate(entity.getCreateTime()); if (null != db) { db.setNewuser(db.getNewuser() + entity.getNewuser()); db.setApprove_user(db.getApprove_user() + entity.getApprove_user()); db.setUsdt_user(Arith.add(db.getUsdt_user(), entity.getUsdt_user())); db.setTransferfrom(Arith.add(db.getTransferfrom(), entity.getTransferfrom())); ApplicationUtil.executeUpdate(db); setCache(db); } else { ApplicationUtil.executeInsert(entity); setCache(entity); } } private DAppUserDataSum findBydate(Date date) { Date createTime_begin = null; Date createTime_end = null; if (date != null) { createTime_begin = DateUtils.toDate(DateUtils.format(date, "yyyy-MM-dd")); createTime_end = DateUtils.addDate(createTime_begin, 1); } List list=ApplicationUtil.executeSelect(DAppUserDataSum.class,"WHERE CREATE_TIME>=? AND CREATE_TIME