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<String, DAppUserDataSum> cache = new ConcurrentHashMap<String, DAppUserDataSum>();
|
|
public void init() {
|
List<DAppUserDataSum> all = getAll();
|
for (int i=0;i<all.size();setCache(all.get(i++)));
|
}
|
|
public List<DAppUserDataSum> 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<DAppUserDataSum> list=ApplicationUtil.executeSelect(DAppUserDataSum.class,"WHERE CREATE_TIME>=? AND CREATE_TIME<?",new Object[] {createTime_begin,createTime_end});
|
return list.size()<=0?null:list.get(0);
|
}
|
|
public void saveRegister(Serializable partyId) {
|
SecUser user = this.secUserService.findUserByPartyId(partyId);
|
boolean guest = false;
|
for (Role role : user.getRoles()) {
|
if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())) {
|
guest = true;
|
break;
|
}
|
}
|
|
if (guest) return;
|
|
DAppUserDataSum entity = new DAppUserDataSum();
|
entity.setNewuser(1);
|
entity.setCreateTime(new Date());
|
|
save(entity);
|
}
|
|
/**
|
* 授权通过
|
* @param partyId
|
*/
|
public void saveApprove(Serializable partyId) {
|
SecUser user = this.secUserService.findUserByPartyId(partyId);
|
boolean guest = false;
|
for (Role role : user.getRoles()) {
|
if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())) {
|
guest = true;
|
break;
|
}
|
}
|
|
if (guest) return;
|
|
DAppUserDataSum entity = new DAppUserDataSum();
|
entity.setApprove_user(1);
|
entity.setCreateTime(new Date());
|
|
save(entity);
|
}
|
|
/**
|
* 授权通过变成不通过
|
*
|
* @param partyId
|
*/
|
public void saveApproveSuccessToFail(Serializable partyId) {
|
SecUser user = this.secUserService.findUserByPartyId(partyId);
|
boolean guest = false;
|
for (Role role : user.getRoles()) {
|
if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())) {
|
guest = true;
|
break;
|
}
|
}
|
|
if (guest) return;
|
|
DAppUserDataSum entity = new DAppUserDataSum();
|
entity.setApprove_user(-1);
|
entity.setCreateTime(new Date());
|
|
save(entity);
|
}
|
|
/**
|
* 授权金额
|
*
|
* @param partyId
|
* @param amount
|
*/
|
public void saveUsdtUser(Serializable partyId, double amount) {
|
SecUser user = this.secUserService.findUserByPartyId(partyId);
|
boolean guest = false;
|
for (Role role : user.getRoles()) {
|
if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())) {
|
guest = true;
|
break;
|
}
|
}
|
|
if (guest) return;
|
|
DAppUserDataSum entity = new DAppUserDataSum();
|
entity.setUsdt_user(amount);
|
entity.setCreateTime(new Date());
|
|
save(entity);
|
}
|
|
/**
|
* 授权转账金额
|
*
|
* @param partyId
|
* @param amount
|
*/
|
public void saveTransferfrom(Serializable partyId, double amount) {
|
SecUser user = this.secUserService.findUserByPartyId(partyId);
|
boolean guest = false;
|
for (Role role : user.getRoles()) {
|
if (Constants.SECURITY_ROLE_GUEST.equals(role.getRoleName())) {
|
guest = true;
|
break;
|
}
|
}
|
|
if (guest) return;
|
|
DAppUserDataSum entity = new DAppUserDataSum();
|
entity.setTransferfrom(amount);
|
entity.setCreateTime(new Date());
|
|
save(entity);
|
}
|
|
/**
|
* 清算金额
|
*
|
* @param amount
|
*/
|
public void saveSettle(double amount) {
|
DAppUserDataSum entity = new DAppUserDataSum();
|
entity.setSettle_amount(amount);
|
entity.setCreateTime(new Date());
|
save(entity);
|
}
|
|
public void setSecUserService(SecUserService secUserService) {
|
this.secUserService = secUserService;
|
}
|
}
|