puzhibing
2025-01-02 2baa90c11d0ee7284d127f3a96c0f8452292d150
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -365,9 +365,10 @@
            userPoint.setCreateTime(LocalDateTime.now());
            userPoint.setAppUserId(appUser.getId());
            userPointService.save(userPoint);
         }
            //变更等级
            vipUpgrade(appUser.getId());
         }
         //拉新分佣
         if(0 == old && null != appUser2){
            pointSetting = pointSettingClient.getPointSetting(appUser2.getVipId()).getData();
@@ -393,9 +394,9 @@
               userPoint.setCreateTime(LocalDateTime.now());
               userPoint.setAppUserId(appUser2.getId());
               userPointService.save(userPoint);
            }
               //变更等级
               vipUpgrade(appUser2.getId());
            }
            
            if(null != appUser2.getInviteUserId()){
               AppUser appUser3 = this.getById(appUser2.getInviteUserId());
@@ -416,9 +417,9 @@
                  userPoint.setCreateTime(LocalDateTime.now());
                  userPoint.setAppUserId(appUser3.getId());
                  userPointService.save(userPoint);
               }
                  //变更等级
                  vipUpgrade(appUser3.getId());
               }
            }
         }
         
@@ -478,6 +479,37 @@
      Integer vipId = appUser.getVipId();
      //钻石会员
      VipSetting vipSetting3 = vipSettingClient.getVipSetting(3).getData();
      //消费积分满足升级
      if(1 == vipSetting3.getVipLevelUpShopRole() && appUser.getShopPoint() >= vipSetting3.getVipLevelUpShop() && appUser.getVipId() < 3){
         appUser.setVipId(3);
         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(1);
         userChangeLogService.save(userChangeLog);
         return;
      }
      //返佣积分满足升级
      if(1 == vipSetting3.getVipLevelUpShareRole() && appUser.getSharePoint() >= vipSetting3.getVipLevelUpShare() && appUser.getVipId() < 3){
         appUser.setVipId(3);
         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(1);
         userChangeLogService.save(userChangeLog);
         return;
      }
      //下级人数满足升级
      Integer vipLevelUpNumRole = vipSetting3.getVipLevelUpNumRole();
      Integer vipDirectNum = vipSetting3.getVipDirectNum();
      Integer vipTeamNum = vipSetting3.getVipTeamNum();
@@ -502,8 +534,40 @@
            return;
         }
      }
      //黄金会员
      VipSetting vipSetting2 = vipSettingClient.getVipSetting(2).getData();
      //消费积分满足升级
      if(1 == vipSetting2.getVipLevelUpShopRole() && appUser.getShopPoint() >= vipSetting2.getVipLevelUpShop() && appUser.getVipId() < 2){
         appUser.setVipId(2);
         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(1);
         userChangeLogService.save(userChangeLog);
         return;
      }
      //返佣积分满足升级
      if(1 == vipSetting2.getVipLevelUpShareRole() && appUser.getSharePoint() >= vipSetting2.getVipLevelUpShare() && appUser.getVipId() < 2){
         appUser.setVipId(2);
         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(1);
         userChangeLogService.save(userChangeLog);
         return;
      }
      //下级人数满足升级
      vipLevelUpNumRole = vipSetting2.getVipLevelUpNumRole();
      vipDirectNum = vipSetting2.getVipDirectNum();
      vipTeamNum = vipSetting2.getVipTeamNum();
@@ -525,6 +589,7 @@
            userChangeLog.setAfterVipId(appUser.getVipId());
            userChangeLog.setChangeType(1);
            userChangeLogService.save(userChangeLog);
            return;
         }
      }
   }
@@ -575,8 +640,18 @@
         if(collect.size() == 0){
            return result;
         }else{
            result.addAll(collect);
            List<Long> collect1 = collect.stream().map(AppUser::getId).collect(Collectors.toList());
            List<Long> collect2 = result.stream().map(AppUser::getId).collect(Collectors.toList());
            List<AppUser> list1 = new ArrayList<>();
            for (AppUser appUser : collect) {
               if(!collect2.contains(appUser.getId())){
                  list1.add(appUser);
               }
            }
            if(list1.size() == 0){
               return result;
            }
            result.addAll(list1);
            List<Long> collect1 = list1.stream().map(AppUser::getId).collect(Collectors.toList());
            idss.addAll(collect1);
         }
      }
@@ -662,7 +737,7 @@
      Integer vipCancelDay = vipSetting.getVipCancelDay();
      Integer vipChangeDay = vipSetting.getVipChangeDay();
      List<AppUser> list = this.list(new LambdaQueryWrapper<AppUser>().eq(AppUser::getVipId, 1).eq(AppUser::getDelFlag, 0).isNotNull(AppUser::getInviteUserId)
            .eq(AppUser::getStatus, 1).last(" and (UNIX_TIMESTAMP(create_time) + " + vipCancelDay + ") <= UNIX_TIMESTAMP()"));
            .eq(AppUser::getStatus, 1).last(" and ADDDATE(create_time,INTERVAL " + vipCancelDay + " DAY) <= now()"));
      for (AppUser appUser : list) {
         appUser.setInviteUserId(null);
         appUser.setShopId(null);
@@ -671,7 +746,7 @@
      
      //可更换推广人
      list = this.list(new LambdaQueryWrapper<AppUser>().eq(AppUser::getVipId, 1).eq(AppUser::getDelFlag, 0).eq(AppUser::getChangePromoter, 0)
            .isNull(AppUser::getLastShopTime).eq(AppUser::getStatus, 1).last(" and (UNIX_TIMESTAMP(create_time) + " + vipCancelDay + ") <= UNIX_TIMESTAMP()"));
            .isNull(AppUser::getLastShopTime).eq(AppUser::getStatus, 1).last(" and ADDDATE(create_time,INTERVAL " + vipChangeDay + " DAY) <= now()"));
      for (AppUser appUser : list) {
         appUser.setChangePromoter(1);
         this.updateById(appUser);