From e7a4c604b4703caf135ec3d360106e7cf028cc89 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 27 三月 2025 00:45:08 +0800 Subject: [PATCH] 修改统计bug和部分功能修改 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java | 79 +++++++++++++++++++++++++++------------ 1 files changed, 55 insertions(+), 24 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java index dfa6c27..aabf830 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java @@ -111,6 +111,9 @@ @Resource private OrderClient orderClient; + + @Resource + private IAppUserGiveawayTemporaryService appUserGiveawayTemporaryService; /** @@ -498,7 +501,7 @@ //钻石会员 VipSetting vipSetting3 = vipSettingClient.getVipSetting(3).getData(); //消费积分满足升级 - if(1 == vipSetting3.getVipLevelUpShopRole() && appUser.getShopPoint() >= vipSetting3.getVipLevelUpShop() && appUser.getVipId() < 3){ + if(1 == vipSetting3.getVipLevelUpShopRole() && appUser.getShopPoint().compareTo(vipSetting3.getVipLevelUpShop()) >= 0 && appUser.getVipId() < 3){ appUser.setVipId(3); this.updateById(appUser); //添加等级变化记录 @@ -513,7 +516,10 @@ return; } //返佣积分满足升级 - if(1 == vipSetting3.getVipLevelUpShareRole() && appUser.getSharePoint() >= vipSetting3.getVipLevelUpShare() && appUser.getVipId() < 3){ + List<AppUserGiveawayTemporary> list = appUserGiveawayTemporaryService.list(new LambdaQueryWrapper<AppUserGiveawayTemporary>().eq(AppUserGiveawayTemporary::getAppUserId, appUser.getId())); + int sum = list.stream().mapToInt(AppUserGiveawayTemporary::getSharePoint).sum(); + int sharePoin = appUser.getSharePoint() + sum; + if(1 == vipSetting3.getVipLevelUpShareRole() && sharePoin >= vipSetting3.getVipLevelUpShare() && appUser.getVipId() < 3){ appUser.setVipId(3); this.updateById(appUser); //添加等级变化记录 @@ -556,7 +562,7 @@ //黄金会员 VipSetting vipSetting2 = vipSettingClient.getVipSetting(2).getData(); //消费积分满足升级 - if(1 == vipSetting2.getVipLevelUpShopRole() && appUser.getShopPoint() >= vipSetting2.getVipLevelUpShop() && appUser.getVipId() < 2){ + if(1 == vipSetting2.getVipLevelUpShopRole() && appUser.getShopPoint().compareTo(vipSetting2.getVipLevelUpShop()) >= 0 && appUser.getVipId() < 2){ appUser.setVipId(2); this.updateById(appUser); //添加等级变化记录 @@ -571,7 +577,7 @@ return; } //返佣积分满足升级 - if(1 == vipSetting2.getVipLevelUpShareRole() && appUser.getSharePoint() >= vipSetting2.getVipLevelUpShare() && appUser.getVipId() < 2){ + if(1 == vipSetting2.getVipLevelUpShareRole() && appUser.getSharePoint().compareTo(vipSetting2.getVipLevelUpShare()) >= 0 && appUser.getVipId() < 2){ appUser.setVipId(2); this.updateById(appUser); //添加等级变化记录 @@ -607,7 +613,6 @@ userChangeLog.setAfterVipId(appUser.getVipId()); userChangeLog.setChangeType(1); userChangeLogService.save(userChangeLog); - return; } } } @@ -744,10 +749,38 @@ public void vipDemotion(Long appUserId) { AppUser appUser = this.getById(appUserId); Integer vipId = appUser.getVipId(); + //钻石会员 + VipSetting vipSetting3 = vipSettingClient.getVipSetting(3).getData(); + if(1 == vipSetting3.getVipLevelUpShopRole() && appUser.getShopPoint().compareTo(vipSetting3.getVipLevelUpShop()) >= 0 && appUser.getVipId() == 3){ + return; + } + //返佣积分满足升级 + List<AppUserGiveawayTemporary> list = appUserGiveawayTemporaryService.list(new LambdaQueryWrapper<AppUserGiveawayTemporary>().eq(AppUserGiveawayTemporary::getAppUserId, appUser.getId())); + int sum = list.stream().mapToInt(AppUserGiveawayTemporary::getSharePoint).sum(); + int sharePoin = appUser.getSharePoint() + sum; + if(1 == vipSetting3.getVipLevelUpShareRole() && sharePoin >= vipSetting3.getVipLevelUpShare() && appUser.getVipId() == 3){ + return; + } + //下级人数满足升级 + Integer vipLevelUpNumRole = vipSetting3.getVipLevelUpNumRole(); + Integer vipDirectNum = vipSetting3.getVipDirectNum(); + Integer vipTeamNum = vipSetting3.getVipTeamNum(); + if(1 == vipLevelUpNumRole && appUser.getVipId() == 3){ + //查询直推用户达到X人或者团队人数达到X人后,可升级 + //直推用户数 + long count = this.count(new LambdaQueryWrapper<AppUser>().eq(AppUser::getDelFlag, 0).eq(AppUser::getStatus, 1).eq(AppUser::getInviteUserId, appUserId)); + //团队用户数 + List<AppUser> subordinate = getSubordinate(appUserId); + if(vipDirectNum <= count || vipTeamNum <= subordinate.size()){ + return; + } + } + + //黄金会员 VipSetting vipSetting2 = vipSettingClient.getVipSetting(2).getData(); //消费积分满足升级 - if(1 == vipSetting2.getVipLevelUpShopRole() && appUser.getShopPoint() >= vipSetting2.getVipLevelUpShop() && appUser.getVipId() > 2){ + if(1 == vipSetting2.getVipLevelUpShopRole() && appUser.getShopPoint().compareTo(vipSetting2.getVipLevelUpShop()) >= 0 && appUser.getVipId() >= 2){ appUser.setVipId(2); this.updateById(appUser); //添加等级变化记录 @@ -762,7 +795,7 @@ return; } //返佣积分满足升级 - if(1 == vipSetting2.getVipLevelUpShareRole() && appUser.getSharePoint() >= vipSetting2.getVipLevelUpShare() && appUser.getVipId() > 2){ + if(1 == vipSetting2.getVipLevelUpShareRole() && sharePoin >= vipSetting2.getVipLevelUpShare() && appUser.getVipId() >= 2){ appUser.setVipId(2); this.updateById(appUser); //添加等级变化记录 @@ -777,10 +810,10 @@ return; } //下级人数满足升级 - Integer vipLevelUpNumRole = vipSetting2.getVipLevelUpNumRole(); - Integer vipDirectNum = vipSetting2.getVipDirectNum(); - Integer vipTeamNum = vipSetting2.getVipTeamNum(); - if(1 == vipLevelUpNumRole && appUser.getVipId() > 2){ + vipLevelUpNumRole = vipSetting2.getVipLevelUpNumRole(); + vipDirectNum = vipSetting2.getVipDirectNum(); + vipTeamNum = vipSetting2.getVipTeamNum(); + if(1 == vipLevelUpNumRole && appUser.getVipId() >= 2){ //查询直推用户达到X人或者团队人数达到X人后,可升级 //直推用户数 long count = this.count(new LambdaQueryWrapper<AppUser>().eq(AppUser::getDelFlag, 0).eq(AppUser::getStatus, 1).eq(AppUser::getInviteUserId, appUserId)); @@ -801,19 +834,17 @@ return; } } - if(appUser.getVipId() >= 2){ - appUser.setVipId(1); - this.updateById(appUser); - //添加等级变化记录 - UserChangeLog userChangeLog = new UserChangeLog(); - userChangeLog.setDelFlag(0); - userChangeLog.setCreateTime(LocalDateTime.now()); - userChangeLog.setAppUserId(appUser.getId()); - userChangeLog.setBeforeVipId(vipId); - userChangeLog.setAfterVipId(appUser.getVipId()); - userChangeLog.setChangeType(0); - userChangeLogService.save(userChangeLog); - } + appUser.setVipId(1); + this.updateById(appUser); + //添加等级变化记录 + UserChangeLog userChangeLog = new UserChangeLog(); + userChangeLog.setDelFlag(0); + userChangeLog.setCreateTime(LocalDateTime.now()); + userChangeLog.setAppUserId(appUser.getId()); + userChangeLog.setBeforeVipId(vipId); + userChangeLog.setAfterVipId(appUser.getVipId()); + userChangeLog.setChangeType(0); + userChangeLogService.save(userChangeLog); } /** -- Gitblit v1.7.1