From 0f9d91bacff24cb14d5d86ec3de0598a13f4152c Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 27 十二月 2024 11:50:37 +0800
Subject: [PATCH] 修改会员等级变更

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java           |   12 ++++++
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java         |   51 ++-----------------------
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java |    5 ++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java          |   12 ++++--
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java        |    2 +
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java      |    2 +
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java             |   10 +++++
 ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java            |    9 ++++
 8 files changed, 52 insertions(+), 51 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java
index ca8a349..d7281f4 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java
@@ -99,6 +99,11 @@
 				log.error("获取用户失败: "+cause.getMessage());
 				return Collections.emptyList();
 			}
+			
+			@Override
+			public void vipUpgrade(Long appUserId) {
+				R.fail("检查会员等级变更失败:" + cause.getMessage());
+			}
 		};
 	}
 }
diff --git a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
index 9acea8a..fd30031 100644
--- a/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
+++ b/ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
@@ -81,4 +81,13 @@
 
 	@PostMapping("/app-user/getAppUserByPhone1")
 	R<AppUser> getAppUserByPhone1(@RequestParam("phone") String phone);
+	
+	
+	
+	/**
+	 * 检查会员等级变更
+	 * @param appUserId
+	 */
+	@PostMapping("/app-user/vipUpgrade")
+	void vipUpgrade(@RequestParam("appUserId") Long appUserId);
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
index d455ab3..34a31bc 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
@@ -737,5 +737,15 @@
         }
         return s;
     }
+    
+    
+    /**
+     * 检查会员等级变更
+     * @param appUserId
+     */
+    @PostMapping("/vipUpgrade")
+    public void vipUpgrade(@RequestParam("appUserId") Long appUserId){
+        appUserService.vipUpgrade(appUserId);
+    }
 }
 
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java
index fe01561..9281143 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java
@@ -82,6 +82,8 @@
 				userPoint.setCreateTime(LocalDateTime.now());
 				userPoint.setAppUserId(appUser.getId());
 				userPointService.save(userPoint);
+				//变更等级
+				appUserService.vipUpgrade(appUser.getId());
 			}
 		}
 		return R.ok();
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java
index 7090a28..70c79b6 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java
@@ -91,6 +91,8 @@
                 userPoint.setCreateTime(LocalDateTime.now());
                 userPoint.setAppUserId(appUser.getId());
                 userPointService.save(userPoint);
+                //变更等级
+                appUserService.vipUpgrade(appUser.getId());
             }
         }else {
             userSignRecord.setPoint(0);
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 727cb36..aeeceef 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
@@ -362,6 +362,8 @@
 				userPoint.setCreateTime(LocalDateTime.now());
 				userPoint.setAppUserId(appUser.getId());
 				userPointService.save(userPoint);
+				//变更等级
+				vipUpgrade(appUser.getId());
 			}
 			//拉新分佣
 			if(null != appUser2){
@@ -384,9 +386,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());
@@ -404,9 +406,9 @@
 						userPoint.setCreateTime(LocalDateTime.now());
 						userPoint.setAppUserId(appUser3.getId());
 						userPointService.save(userPoint);
+						//变更等级
+						vipUpgrade(appUser3.getId());
 					}
-					//处理会员等级
-					vipUpgrade(appUser3.getId());
 				}
 			}
 			
@@ -705,6 +707,8 @@
 					userPoint.setCreateTime(LocalDateTime.now());
 					userPoint.setAppUserId(appUser.getId());
 					userPointService.save(userPoint);
+					//变更等级
+					vipUpgrade(appUser.getId());
 				}
 			}else{
 				redisService.setCacheObject("ONLINE_" + userid, duration, 15L, TimeUnit.MINUTES);
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
index 8357e1e..b8d4e84 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
@@ -176,6 +176,8 @@
                     userPoint.setObjectId(order.getId());
                     userPoint.setExtention(order.getOrderNumber());
                     userPointClient.saveUserPoint(userPoint);
+                    //变更等级
+                    appUserClient.vipUpgrade(inviteUser.getId());
                 }
             }
             //直帮上级
@@ -226,6 +228,8 @@
                     userPoint.setObjectId(order.getId());
                     userPoint.setExtention(order.getOrderNumber());
                     userPointClient.saveUserPoint(userPoint);
+                    //变更等级
+                    appUserClient.vipUpgrade(superiorLeader.getId());
                 }
             }
     
@@ -305,6 +309,8 @@
                     userPoint.setObjectId(order.getId());
                     userPoint.setExtention(order.getOrderNumber());
                     userPointClient.saveUserPoint(userPoint);
+                    //变更等级
+                    appUserClient.vipUpgrade(shopAppUser.getId());
                 }
     
                 if(!shop.getLavePoint().equals(shopLavePoint)){
@@ -353,6 +359,8 @@
                         userPoint.setObjectId(order.getId());
                         userPoint.setExtention(order.getOrderNumber());
                         userPointClient.saveUserPoint(userPoint);
+                        //变更等级
+                        appUserClient.vipUpgrade(technicianAppUser.getId());
                     }
                 }
             }
@@ -434,6 +442,8 @@
                         userPoint.setObjectId(order.getId());
                         userPoint.setExtention(order.getOrderNumber());
                         userPointClient.saveUserPoint(userPoint);
+                        //变更等级
+                        appUserClient.vipUpgrade(bdShopAppUser.getId());
                     }
         
                     if(!shop1.getLavePoint().equals(shopLavePoint)){
@@ -529,6 +539,8 @@
                         userPoint.setObjectId(order.getId());
                         userPoint.setExtention(order.getOrderNumber());
                         userPointClient.saveUserPoint(userPoint);
+                        //变更等级
+                        appUserClient.vipUpgrade(sjShopAppUser.getId());
                     }
         
                     if(!shop2.getLavePoint().equals(shopLavePoint)){
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
index 1d15775..e533c48 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -932,6 +932,8 @@
 			appUser.setShopAmount(appUser.getShopAmount().add(paymentMoney).setScale(2, RoundingMode.HALF_EVEN));
 			appUser.setLastShopTime(LocalDateTime.now());
 			appUserClient.editAppUserById(appUser);
+			//变更等级
+			appUserClient.vipUpgrade(appUser.getId());
 			//构建余额明细变动记录
 			BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
 			balanceChangeRecord.setAppUserId(appUser.getId());
@@ -951,8 +953,6 @@
 			orderService.updateById(order);
 			//删除购物车数据
 			this.removeBatchByIds(ids);
-			//检查消费积分满足后升级会员
-			vipUpgrade(appUser);
 		}
 		//积分支付
 		if(3 == shoppingCartPayment.getPaymentType()){
@@ -973,8 +973,8 @@
 			appUser.setTotalPoint(appUser.getTotalPoint() + earnPoint);
 			appUser.setLastShopTime(LocalDateTime.now());
 			appUserClient.editAppUserById(appUser);
-			//检查消费积分满足后升级会员
-			vipUpgrade(appUser);
+			//变更等级
+			appUserClient.vipUpgrade(appUser.getId());
 
 			//构建积分流水记录
 			UserPoint userPoint = new UserPoint();
@@ -1077,47 +1077,4 @@
 	}
 
 
-	/**
-	 * 会员等级变化
-	 * @param appUser
-	 */
-	public void vipUpgrade(AppUser appUser){
-		Integer shopPoint = appUser.getShopPoint();
-		Integer vipId = appUser.getVipId();
-		//钻石会员
-		VipSetting vipSetting3 = vipSettingClient.getVipSetting(3).getData();
-		Integer vipLevelUpShopRole = vipSetting3.getVipLevelUpShopRole();
-		Integer vipLevelUpShop = vipSetting3.getVipLevelUpShop();
-		if(null != vipLevelUpShopRole && 1 == vipLevelUpShopRole && appUser.getVipId() < 3 && shopPoint >= vipLevelUpShop){
-			appUser.setVipId(3);
-			appUserClient.editAppUserById(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);
-			userChangeLogClient.saveUserChangeLog(userChangeLog);
-			return;
-		}
-		//黄金会员
-		VipSetting vipSetting2 = vipSettingClient.getVipSetting(2).getData();
-		vipLevelUpShopRole = vipSetting2.getVipLevelUpShopRole();
-		vipLevelUpShop = vipSetting2.getVipLevelUpShop();
-		if(null != vipLevelUpShopRole && 1 == vipLevelUpShopRole && appUser.getVipId() < 2 && shopPoint >= vipLevelUpShop){
-			appUser.setVipId(2);
-			appUserClient.editAppUserById(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);
-			userChangeLogClient.saveUserChangeLog(userChangeLog);
-		}
-	}
 }

--
Gitblit v1.7.1