From bd6499727e01444fd276fcb296be9024e574f39b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9D=BE?= <8605635+zhang3064194730@user.noreply.gitee.com> Date: Mon, 30 Dec 2024 14:18:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BE=BE=E6=A0=87=E5=A5=96=E5=8A=B1?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=96=B9=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/controller/app/WuyouController.java | 90 ++++++++++++------- 1 file changed, 57 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java b/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java index d3d88fe8..8e0645ca 100644 --- a/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java +++ b/src/main/java/com/sqx/modules/pay/controller/app/WuyouController.java @@ -9,8 +9,10 @@ import com.sqx.common.utils.ApiAccessLimitUtil; import com.sqx.common.utils.DateUtils; import com.sqx.common.utils.RedisKeys; import com.sqx.common.utils.Result; +import com.sqx.modules.app.entity.InviteAchievement; import com.sqx.modules.app.entity.UserEntity; import com.sqx.modules.app.entity.UserMoneyDetails; +import com.sqx.modules.app.service.InviteAchievementService; import com.sqx.modules.app.service.UserMoneyDetailsService; import com.sqx.modules.app.service.UserMoneyService; import com.sqx.modules.app.service.UserService; @@ -72,11 +74,12 @@ public class WuyouController { private final CompletAwardService completAwardService; private final SysUserService sysUserService; private final WuyouPay wuyouPay; + private final InviteAchievementService inviteAchievementService; private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); WuyouController(OrdersService ordersService, PayDetailsDao payDetailsDao, UserService userService, InviteService inviteService, CashOutDao cashOutDao, UserMoneyService userMoneyService, UserMoneyDetailsService userMoneyDetailsService, CommonInfoService commonRepository, - InviteDao inviteDao, CompletAwardService completAwardService, SysUserService sysUserService, WuyouPay wuyouPay) { + InviteDao inviteDao, CompletAwardService completAwardService, SysUserService sysUserService, WuyouPay wuyouPay, InviteAchievementService inviteAchievementService) { this.ordersService = ordersService; this.payDetailsDao = payDetailsDao; this.userService = userService; @@ -89,6 +92,7 @@ public class WuyouController { this.completAwardService = completAwardService; this.sysUserService = sysUserService; this.wuyouPay = wuyouPay; + this.inviteAchievementService = inviteAchievementService; } @Debounce(interval = 1000, value = "#orderId") @@ -243,54 +247,62 @@ public class WuyouController { if (sourceUser == null || sourceUser.getUserId() == 1) { return; } - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("classify", 6); - queryWrapper.eq("user_id", sourceUser.getUserId()); - queryWrapper.eq("by_user_id", user.getUserId()); - int count = userMoneyDetailsService.count(queryWrapper); - if (count == 0) { +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("classify", 6); +// queryWrapper.eq("user_id", sourceUser.getUserId()); +// queryWrapper.eq("by_user_id", user.getUserId()); +// int count = userMoneyDetailsService.count(queryWrapper); + InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(user.getUserId()); + // 首次达标 + int signCount = Integer.parseInt(commonRepository.findOne(913).getValue()); + if (inviteAchievement.getIsFirst() == 1 && inviteAchievement.getCount() >= signCount) { //满3笔 - Integer sumOrderNum = ordersService.countOrderNum(user.getUserId(), null); - if (sumOrderNum >= Integer.parseInt(commonRepository.findOne(913).getValue())) { - String amount = commonRepository.findOne(912).getValue(); - UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); - userMoneyDetails.setClassify(6); - userMoneyDetails.setMoney(new BigDecimal(amount)); - userMoneyDetails.setUserId(sourceUser.getUserId()); - userMoneyDetails.setByUserId(user.getUserId()); - userMoneyDetails.setCreateTime(DateUtil.now()); - userMoneyDetails.setContent("分享达标奖励" + amount + "元"); - userMoneyDetails.setTitle("分享达标奖励"); - userMoneyDetails.setState(2); - userMoneyDetails.setType(1); - userMoneyDetails.setMoneyType(1); - userMoneyDetailsService.save(userMoneyDetails); - //存入余额 钱 - userMoneyService.updateAmount(1, sourceUser.getUserId(), Double.parseDouble(amount)); +// Integer sumOrderNum = ordersService.countOrderNum(user.getUserId(), null); +// if (sumOrderNum >= Integer.parseInt(commonRepository.findOne(913).getValue())) { + String amount = commonRepository.findOne(912).getValue(); + UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); + userMoneyDetails.setClassify(6); + userMoneyDetails.setMoney(new BigDecimal(amount)); + userMoneyDetails.setUserId(sourceUser.getUserId()); + userMoneyDetails.setByUserId(user.getUserId()); + userMoneyDetails.setCreateTime(DateUtil.now()); + userMoneyDetails.setContent("分享达标奖励" + amount + "元"); + userMoneyDetails.setTitle("分享达标奖励"); + userMoneyDetails.setState(2); + userMoneyDetails.setType(1); + userMoneyDetails.setMoneyType(1); + userMoneyDetailsService.save(userMoneyDetails); + //存入余额 钱 + userMoneyService.updateAmount(1, sourceUser.getUserId(), Double.parseDouble(amount)); + + int count = inviteAchievementService.countBySourceUserId(sourceUser.getUserId()); + // 首次达标奖励 + if (count == 0) { SysUserEntity sysUser = sysUserService.selectSysUserByQdCode(user.getQdCode()); String qdAward = commonRepository.findOne(915).getValue(); - UserMoneyDetails userMoneyDetails4 = new UserMoneyDetails( null, sysUser == null ? null : sysUser.getUserId(), null, "[分享达标额外奖励]", 6, 1, 2, new BigDecimal(qdAward), "推广人员首次达标,额外奖励现金红包" + qdAward, 2); userMoneyService.updateSysAmount(1, sysUser == null ? null : sysUser.getUserId(), Double.parseDouble(qdAward)); userMoneyDetailsService.save(userMoneyDetails4); - - Invite invite = inviteService.selectInviteByUser(sourceUser.getUserId(), user.getUserId(), 1); - if (invite != null) { - invite.setMoney(Double.valueOf(amount)); - invite.setState(1); - inviteDao.updateById(invite); - } } + + Invite invite = inviteService.selectInviteByUser(sourceUser.getUserId(), user.getUserId(), 1); + if (invite != null) { + invite.setMoney(Double.valueOf(amount)); + invite.setState(1); + inviteDao.updateById(invite); + } +// } } QueryWrapper moneyDetailsQuery = new QueryWrapper<>(); moneyDetailsQuery.eq("classify", 6); moneyDetailsQuery.eq("user_id", sourceUser.getUserId()); //达标人数 - int completeCount = userMoneyDetailsService.count(moneyDetailsQuery); +// int completeCount = userMoneyDetailsService.count(moneyDetailsQuery); + int completeCount = inviteAchievementService.countNum(sourceUser.getUserId(), signCount); completAwardService.list(new QueryWrapper().eq("invite_count", completeCount)).forEach(completAward -> { switch (completAward.getType()) { case 1: @@ -346,6 +358,18 @@ public class WuyouController { } ordersService.updateById(order); ordersService.insertOrders(order); + InviteAchievement inviteAchievement = inviteAchievementService.getByUserId(user.getUserId()); + if (inviteAchievement == null) { + inviteAchievement = new InviteAchievement(); + inviteAchievement.setIsFirst(1); + inviteAchievement.setCount(1); + inviteAchievement.setCreateTime(DateUtil.date()); + inviteAchievement.setUserId(user.getUserId()); + inviteAchievement.setSourceUserId(byUser.getUserId()); + inviteAchievementService.insertNotExists(inviteAchievement); + } else { + inviteAchievementService.incrCount(inviteAchievement.getId(), 1); + } ThreadUtil.execAsync(() -> { activities(user, byUser); });