后台-用户等级-监听代理身份变动
This commit is contained in:
@@ -7,6 +7,7 @@ import com.accompany.admin.mapper.recharge.RechargeUserAdminMapper;
|
||||
import com.accompany.admin.service.guild.GuildApplyAdminService;
|
||||
import com.accompany.admin.service.recharge.RechargeUserAdminService;
|
||||
import com.accompany.admin.vo.recharge.RechargeUserAdminVo;
|
||||
import com.accompany.business.event.RechargeUserChangeEvent;
|
||||
import com.accompany.business.model.guild.GuildMember;
|
||||
import com.accompany.business.service.guild.GuildMemberService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
@@ -26,6 +27,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -55,6 +57,8 @@ public class RechargeUserAdminServiceImpl implements RechargeUserAdminService {
|
||||
private GuildApplyAdminService guildApplyAdminService;
|
||||
@Autowired
|
||||
private UsersService usersService;
|
||||
@Autowired
|
||||
private ApplicationContext applicationContext;
|
||||
|
||||
@Override
|
||||
public Page<RechargeUserAdminVo> page(String searchValue, Integer partitionId, Long searchType, PageReq req, Byte subChildren, Long manageErbanNo) {
|
||||
@@ -108,12 +112,17 @@ public class RechargeUserAdminServiceImpl implements RechargeUserAdminService {
|
||||
Long uid = user.getUid();
|
||||
List<Users> deleteCache = new ArrayList<>();
|
||||
deleteCache.add(user);
|
||||
|
||||
RechargeUserChangeEvent changeEvent = null;
|
||||
|
||||
Date now = new Date();
|
||||
if (rechargeUser == null) {
|
||||
rechargeUser = new RechargeUser();
|
||||
rechargeUser.setUid(uid);
|
||||
rechargeUser.setCreateTime(now);
|
||||
rechargeUser.setManageUid(0L);
|
||||
|
||||
changeEvent = new RechargeUserChangeEvent(uid);
|
||||
}
|
||||
long type = 0;
|
||||
if (rechargeUser.getManageUid() == 0) {
|
||||
@@ -126,6 +135,10 @@ public class RechargeUserAdminServiceImpl implements RechargeUserAdminService {
|
||||
rechargeUser.setUpdateTime(now);
|
||||
rechargeUserService.saveOrUpdate(rechargeUser);
|
||||
|
||||
if (null != changeEvent){
|
||||
applicationContext.publishEvent(changeEvent);
|
||||
}
|
||||
|
||||
List<Long> saveSubErbanNos = param.getSubErbanNos();
|
||||
Set<Long> saveSubUids = new HashSet<>();
|
||||
List<RechargeUserVo> delSubRechargeUsers = new ArrayList<>();
|
||||
@@ -173,6 +186,9 @@ public class RechargeUserAdminServiceImpl implements RechargeUserAdminService {
|
||||
for (Long subUid : saveSubUids) {
|
||||
type = saveRechargeUserRegion(param.getUserRegions(), type, subUid, now);
|
||||
rechargeUser = existSubMap.get(subUid);
|
||||
|
||||
RechargeUserChangeEvent subChargeEvent = null;
|
||||
|
||||
if (rechargeUser == null) {
|
||||
rechargeUser = new RechargeUser();
|
||||
rechargeUser.setId(null);
|
||||
@@ -182,10 +198,16 @@ public class RechargeUserAdminServiceImpl implements RechargeUserAdminService {
|
||||
rechargeUser.setStarLevel(0);
|
||||
rechargeUser.setHasGuildCharge(param.getHasGuildCharge());
|
||||
rechargeUser.setCreateTime(now);
|
||||
|
||||
subChargeEvent = new RechargeUserChangeEvent(subUid);
|
||||
}
|
||||
rechargeUser.setType(type);
|
||||
rechargeUser.setUpdateTime(now);
|
||||
rechargeUserService.saveOrUpdate(rechargeUser);
|
||||
|
||||
if (null != subChargeEvent){
|
||||
applicationContext.publishEvent(subChargeEvent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -193,8 +215,11 @@ public class RechargeUserAdminServiceImpl implements RechargeUserAdminService {
|
||||
for (RechargeUserVo delSubRechargeUser : delSubRechargeUsers) {
|
||||
this.del(delSubRechargeUser.getId());
|
||||
deleteCache.add(usersBaseService.getUsersByUid(delSubRechargeUser.getUid()));
|
||||
|
||||
applicationContext.publishEvent(new RechargeUserChangeEvent(delSubRechargeUser.getUid()));
|
||||
}
|
||||
}
|
||||
|
||||
for (Users users : deleteCache) {
|
||||
usersService.deleteUserRelateCaches(users);
|
||||
}
|
||||
|
@@ -0,0 +1,10 @@
|
||||
package com.accompany.business.event;
|
||||
|
||||
import org.springframework.context.ApplicationEvent;
|
||||
|
||||
public class RechargeUserChangeEvent extends ApplicationEvent {
|
||||
public RechargeUserChangeEvent(Object source) {
|
||||
super(source);
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,32 @@
|
||||
package com.accompany.business.event.listener;
|
||||
|
||||
import com.accompany.business.event.RechargeUserChangeEvent;
|
||||
import com.accompany.business.mybatismapper.DiamondGiveHistoryMapper;
|
||||
import com.accompany.payment.service.UserRechargeLevelService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.ApplicationListener;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Component
|
||||
public class RechargeUserChangeListener implements ApplicationListener<RechargeUserChangeEvent> {
|
||||
|
||||
@Autowired
|
||||
private DiamondGiveHistoryMapper diamondGiveHistoryMapper;
|
||||
@Autowired
|
||||
private UserRechargeLevelService service;
|
||||
|
||||
@Async
|
||||
@Override
|
||||
public void onApplicationEvent(RechargeUserChangeEvent event) {
|
||||
Long uid = (Long) event.getSource();
|
||||
|
||||
BigDecimal totalReceiveGoldNum = diamondGiveHistoryMapper.getUserTotalReceiveGold(uid);
|
||||
BigDecimal last60TotalReceiveGoldNum = diamondGiveHistoryMapper.getUserLast60TotalReceiveGold(uid);
|
||||
|
||||
service.statistics(uid, totalReceiveGoldNum, last60TotalReceiveGoldNum);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user