From 7e9667699856022efcac2941eacddd25e20d0c1f Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期一, 16 十二月 2024 15:40:06 +0800
Subject: [PATCH] 新增加管理后台订单模块接口

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java |   62 +++++++++++++++++++++++++++---
 1 files changed, 55 insertions(+), 7 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 a5a8b35..ec7c38a 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
@@ -74,19 +74,19 @@
 	
 	@Resource
 	private VipSettingClient vipSettingClient;
+
+	@Resource
+	private PointSettingClient pointSettingClient;
 	
 	@Resource
 	private UserChangeLogService userChangeLogService;
-	
+
 	@Value("${file.upload.location}")
 	private String filePath;
 	
 	@Value("${file.upload.accessPath}")
 	private String accessPath;
-	
-	@Resource
-	private PointSettingClient pointSettingClient;
-	
+
 	@Resource
 	private UserPointService userPointService;
 	
@@ -297,8 +297,22 @@
 			appUser.setTotalRedPacketAmount(BigDecimal.ZERO);
 			appUser.setTotalDistributionAmount(BigDecimal.ZERO);
 			appUser.setBalance(BigDecimal.ZERO);
-			appUser.setLavePoint(0);
-			appUser.setTotalPoint(0);
+			R<PointSetting> pointSettingR = pointSettingClient.getPointSetting(1);
+			if (R.isError(pointSettingR)){
+				throw new RuntimeException("获取积分设置失败");
+			}
+			PointSetting pointSetting = pointSettingR.getData();
+			if (pointSetting == null){
+				throw new RuntimeException("积分设置不存在");
+			}
+			Integer getRegisPoint = pointSetting.getGetRegisPoint();
+			Integer getRegisPoint1 = getRegisPoint;
+			//计算可用积分比例
+			if(1 == pointSetting.getGetRegisPointOpen()){
+				getRegisPoint1 = getRegisPoint1 * (100 - pointSetting.getGetRegisPoint());
+			}
+			appUser.setLavePoint(getRegisPoint1);
+			appUser.setTotalPoint(getRegisPoint);
 			//根据平台的配置未达标,则标注为可修改推广人
 			appUser.setChangePromoter(0);
 			appUser.setLongitude(registerAccount.getLongitude());
@@ -311,6 +325,18 @@
 //			appUser.setDistrict();
 //			appUser.setDistrictCode();
 			this.save(appUser);
+			//增加积分变动记录
+			if(getRegisPoint1 > 0){
+				//构建积分流水记录
+				UserPoint userPoint = new UserPoint();
+				userPoint.setType(10);
+				userPoint.setHistoricalPoint(0);
+				userPoint.setVariablePoint(getRegisPoint1);
+				userPoint.setBalance(appUser.getLavePoint());
+				userPoint.setCreateTime(LocalDateTime.now());
+				userPoint.setAppUserId(appUser.getId());
+				userPointService.save(userPoint);
+			}
 			//获取微信推广二维码
 			String fileName = UUID.randomUUID() + ".jpg";
 			weChatUtil.getwxacodeunlimit("pages/login/login", "id=" + appUser.getId(), EnvVersion.DEVELOP, filePath + fileName);
@@ -367,6 +393,28 @@
 	 */
 	public void vipUpgrade(Long id){
 		AppUser appUser = this.getById(id);
+		Integer lavePoint = appUser.getLavePoint();
+		//计算积分
+		PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
+		Integer newPoint = pointSetting.getNewPoint();
+		Integer newPoint1 = newPoint;
+		if(null != pointSetting && 1 == pointSetting.getGetNewPointOpen()){
+			newPoint1 = newPoint1 * (100 - pointSetting.getGetNewPoint());
+		}
+		appUser.setLavePoint(appUser.getLavePoint() + newPoint1);
+		appUser.setTotalPoint(appUser.getTotalPoint() + newPoint);
+		//记录积分变动
+		if(newPoint1 > 0){
+			//构建积分流水记录
+			UserPoint userPoint = new UserPoint();
+			userPoint.setType(3);
+			userPoint.setHistoricalPoint(lavePoint);
+			userPoint.setVariablePoint(newPoint1);
+			userPoint.setBalance(appUser.getLavePoint());
+			userPoint.setCreateTime(LocalDateTime.now());
+			userPoint.setAppUserId(appUser.getId());
+			userPointService.save(userPoint);
+		}
 		Integer vipId = appUser.getVipId();
 		//钻石会员
 		VipSetting vipSetting3 = vipSettingClient.getVipSetting(3).getData();

--
Gitblit v1.7.1