From e0623f1a914ecbc99d5926c0df3cf26032c02499 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 01 一月 2025 17:11:50 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/qijisheng

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java |   30 +++++++++++++++++++++---------
 1 files changed, 21 insertions(+), 9 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 aeeceef..afae1bf 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
@@ -312,7 +312,7 @@
 			appUser.setTotalDistributionAmount(BigDecimal.ZERO);
 			appUser.setBalance(BigDecimal.ZERO);
 			//新用户才能奖励积分,老用户注销重新注册没有
-			AppUser old = this.getOne(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, registerAccount.getPhone()).eq(AppUser::getDelFlag, 0));
+			long old = this.count(new LambdaQueryWrapper<AppUser>().eq(AppUser::getPhone, registerAccount.getPhone()).eq(AppUser::getDelFlag, 0));
 			R<PointSetting> pointSettingR = pointSettingClient.getPointSetting(1);
 			if (R.isError(pointSettingR)){
 				throw new RuntimeException("获取积分设置失败");
@@ -322,14 +322,17 @@
 				throw new RuntimeException("积分设置不存在");
 			}
 			Integer regisPoint = pointSetting.getRegisPoint();
-			if(null == old){
-				Integer regisPoint1 = regisPoint;
+			if(0 == old){
+				Integer regisPoint1 = 0;
 				//计算可用积分比例
 				if(1 == pointSetting.getGetRegisPointOpen()){
-					regisPoint1 = new BigDecimal(regisPoint1).multiply(pointSetting.getGetRegisPoint().divide(new BigDecimal(100))).intValue();
+					regisPoint1 = new BigDecimal(regisPoint).multiply(pointSetting.getGetRegisPoint().divide(new BigDecimal(100))).intValue();
 				}
 				appUser.setLavePoint(regisPoint);
 				appUser.setAvailablePoint(regisPoint1);
+				if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
+					appUser.setTransferablePoint(regisPoint1);
+				}
 				appUser.setTotalRegisterPoint(regisPoint);
 				appUser.setTotalPoint(regisPoint);
 			}
@@ -352,7 +355,7 @@
 			}
 			this.save(appUser);
 			//增加积分变动记录
-			if(null == old && regisPoint > 0){
+			if(0 == old && regisPoint > 0){
 				//构建积分流水记录
 				UserPoint userPoint = new UserPoint();
 				userPoint.setType(7);
@@ -368,12 +371,15 @@
 			//拉新分佣
 			if(null != appUser2){
 				Integer newPoint = pointSetting.getNewPoint();
-				Integer newPoint1 = newPoint;
+				Integer newPoint1 = 0;
 				if(1 == pointSetting.getGetRegisPointOpen()){
-					newPoint1 = new BigDecimal(newPoint1).multiply(pointSetting.getGetRegisPoint().divide(new BigDecimal(100))).intValue();
+					newPoint1 = new BigDecimal(newPoint).multiply(pointSetting.getGetRegisPoint().divide(new BigDecimal(100))).intValue();
 				}
 				appUser2.setLavePoint(appUser2.getLavePoint() + newPoint);
 				appUser2.setAvailablePoint(appUser2.getAvailablePoint() + newPoint1);
+				if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
+					appUser2.setTransferablePoint(appUser2.getTransferablePoint() + newPoint1);
+				}
 				appUser2.setTotalInvitePoint(appUser2.getTotalInvitePoint() + newPoint);
 				appUser2.setTotalPoint(appUser2.getTotalPoint() + newPoint);
 				this.updateById(appUser2);
@@ -394,6 +400,9 @@
 					AppUser appUser3 = this.getById(appUser2.getInviteUserId());
 					appUser3.setLavePoint(appUser3.getLavePoint() + newPoint);
 					appUser3.setAvailablePoint(appUser3.getAvailablePoint() + newPoint1);
+					if(null != pointSetting && 1 == pointSetting.getGetRegisPointGift()){
+						appUser3.setTransferablePoint(appUser3.getTransferablePoint() + newPoint1);
+					}
 					appUser3.setTotalInvitePoint(appUser3.getTotalInvitePoint() + newPoint);
 					appUser3.setTotalPoint(appUser3.getTotalPoint() + newPoint);
 					this.updateById(appUser3);
@@ -688,14 +697,17 @@
 				PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
 				if(null != pointSetting){
 					int hourPoint = pointSetting.getHourPoint().intValue();
-					int hourPoint1 = hourPoint;
+					int hourPoint1 = 0;
 					if(1 == pointSetting.getWorkPointOpen()){
-						hourPoint1 = new BigDecimal(hourPoint1).multiply(pointSetting.getWorkPoint().divide(new BigDecimal(100))).intValue();
+						hourPoint1 = new BigDecimal(hourPoint).multiply(pointSetting.getWorkPoint().divide(new BigDecimal(100))).intValue();
 					}
 					Integer lavePoint = appUser.getLavePoint();
 					appUser.setTotalPoint(appUser.getTotalPoint() + hourPoint);
 					appUser.setLavePoint(appUser.getLavePoint() + hourPoint);
 					appUser.setAvailablePoint(appUser.getAvailablePoint() + hourPoint1);
+					if(null != pointSetting && 1 == pointSetting.getWorkPointGift()){
+						appUser.setTransferablePoint(appUser.getTransferablePoint() + hourPoint1);
+					}
 					appUser.setTotalHourPoint(appUser.getTotalHourPoint() + hourPoint);
 					this.updateById(appUser);
 					//添加积分变动记录

--
Gitblit v1.7.1