From 2baa90c11d0ee7284d127f3a96c0f8452292d150 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 02 一月 2025 16:41:27 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java |   95 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 85 insertions(+), 10 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 7920fbb..2094c25 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
@@ -365,9 +365,10 @@
 				userPoint.setCreateTime(LocalDateTime.now());
 				userPoint.setAppUserId(appUser.getId());
 				userPointService.save(userPoint);
-				//变更等级
-				vipUpgrade(appUser.getId());
 			}
+			//变更等级
+			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());
 				}
+				//变更等级
+				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());
 					}
+					//变更等级
+					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);

--
Gitblit v1.7.1