From d341be8242db41136119a842e29194af4902a9b7 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期二, 10 十二月 2024 18:35:14 +0800
Subject: [PATCH] 同步代码

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java |   35 +++++++++++++++++++----------------
 1 files changed, 19 insertions(+), 16 deletions(-)

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 d589c8d..65b8f29 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
@@ -105,6 +105,9 @@
 	@Resource
 	private UserChangeLogClient userChangeLogClient;
 	
+	@Resource
+	private PointSettingClient pointSettingClient;
+	
 	
 	
 	
@@ -949,13 +952,18 @@
 			}
 			//构建积分流水记录
 			if(earnPoint > 0){
+				PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
+				int earnPoint1 = earnPoint;
+				if(null != pointSetting && 1 == pointSetting.getBuyPointOpen()){
+					earnPoint1 = earnPoint1 * (100 - pointSetting.getBuyPoint());
+				}
 				appUser.setShopPoint(appUser.getShopPoint() + earnPoint);
-				appUser.setLavePoint(appUser.getLavePoint() + earnPoint);
+				appUser.setLavePoint(appUser.getLavePoint() + earnPoint1);
 				appUser.setTotalPoint(appUser.getTotalPoint() + earnPoint);
 				
 				UserPoint userPoint = new UserPoint();
 				userPoint.setType(1);
-				userPoint.setHistoricalPoint(appUser.getLavePoint() - earnPoint);
+				userPoint.setHistoricalPoint(appUser.getLavePoint() - earnPoint1);
 				userPoint.setVariablePoint(earnPoint);
 				userPoint.setBalance(appUser.getLavePoint());
 				userPoint.setCreateTime(LocalDateTime.now());
@@ -988,9 +996,15 @@
 		//积分支付
 		if(3 == shoppingCartPayment.getPaymentType()){
 			Integer lavePoint = appUser.getLavePoint();
-			appUser.setLavePoint(lavePoint - orderPoint);
+			PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
+			int earnPoint1 = earnPoint;
+			//计算可用积分比例
+			if(null != pointSetting && 1 == pointSetting.getBuyPointOpen()){
+				earnPoint1 = earnPoint1 * (100 - pointSetting.getBuyPoint());
+			}
+			appUser.setLavePoint(appUser.getLavePoint() - orderPoint);
 			appUser.setShopPoint(appUser.getShopPoint() + earnPoint);
-			appUser.setLavePoint(appUser.getLavePoint() + earnPoint);
+			appUser.setLavePoint(appUser.getLavePoint() + earnPoint1);
 			appUser.setTotalPoint(appUser.getTotalPoint() + earnPoint);
 			appUser.setShopAmount(appUser.getShopAmount().add(paymentMoney).setScale(2, RoundingMode.HALF_EVEN));
 			appUser.setLastShopTime(LocalDateTime.now());
@@ -1000,7 +1014,7 @@
 			
 			//构建积分流水记录
 			UserPoint userPoint = new UserPoint();
-			userPoint.setType(4);
+			userPoint.setType(1);
 			userPoint.setHistoricalPoint(lavePoint);
 			userPoint.setVariablePoint(orderPoint);
 			userPoint.setBalance(appUser.getLavePoint());
@@ -1008,17 +1022,6 @@
 			userPoint.setAppUserId(appUser.getId());
 			userPoint.setObjectId(order.getId());
 			userPointClient.saveUserPoint(userPoint);
-			if(earnPoint > 0){
-				userPoint = new UserPoint();
-				userPoint.setType(1);
-				userPoint.setHistoricalPoint(appUser.getLavePoint() - earnPoint);
-				userPoint.setVariablePoint(earnPoint);
-				userPoint.setBalance(appUser.getLavePoint());
-				userPoint.setCreateTime(LocalDateTime.now());
-				userPoint.setAppUserId(appUser.getId());
-				userPoint.setObjectId(order.getId());
-				userPointClient.saveUserPoint(userPoint);
-			}
 			//如果有运费,需要先扣除账户积分,再进行支付。支付成功后修改订单状态,未支付成功则回退积分,删除的订单
 			if(expressFee.compareTo(BigDecimal.ZERO) > 0){
 				if(shoppingCartPayment.getFreightPaymentType() == 1){

--
Gitblit v1.7.1