From 3c99ce947f25a2dcbae14e78276df77978d412ca Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期四, 26 九月 2024 16:03:17 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   79 ++++++++++++++++++++++++++++++++-------
 1 files changed, 64 insertions(+), 15 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index 660a07e..7fabc18 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -51,10 +51,8 @@
 import com.ruoyi.other.api.domain.TGoods;
 import com.ruoyi.order.vo.ChargingOrderListInfoVO;
 import com.ruoyi.other.api.domain.TIntegralRule;
-import com.ruoyi.other.api.feignClient.IntegralRuleClient;
-import com.ruoyi.other.api.feignClient.OtherClient;
-import com.ruoyi.other.api.feignClient.RoleSiteClient;
-import com.ruoyi.other.api.feignClient.UserSiteClient;
+import com.ruoyi.other.api.domain.TVip;
+import com.ruoyi.other.api.feignClient.*;
 import com.ruoyi.payment.api.feignClient.AliPaymentClient;
 import com.ruoyi.payment.api.feignClient.WxPaymentClient;
 import com.ruoyi.payment.api.model.RefundReq;
@@ -182,6 +180,9 @@
 
 	@Resource
 	private IntegralRuleClient integralRuleClient;
+	
+	@Resource
+	private VipClient vipClient;
 
 	//计数器
 	private Map<String, Integer> counter_map = new HashMap<>();
@@ -828,13 +829,24 @@
 			String inviteUsersToEarnPoints = integralRule.getInviteUsersToEarnPoints();
 			JSONObject jsonObject = JSON.parseObject(inviteUsersToEarnPoints);
 			Integer num1 = jsonObject.getInteger("num1");
+			
+			TAppUser appUser1 = appUserClient.getUserById(appUser.getInviteUserId()).getData();
+			if(null != appUser1.getVipId()){
+				TVip vip = vipClient.getInfo(appUser1.getVipId()).getData();
+				Integer doubleIntegration = vip.getDoubleIntegration();
+				//双倍积分
+				if(1 == doubleIntegration){
+					num1 *= 2;
+				}
+			}
+			
 			GetInviteUser query = new GetInviteUser();
-			query.setAppUserId(appUser.getInviteUserId());
+			query.setAppUserId(appUser1.getId());
 			query.setBeInvitedAppUserId(chargingOrder.getAppUserId());
 			TInviteUser inviteUser = inviteUserClient.getInviteUser(query).getData();
 			if(null == inviteUser){
 				inviteUser = new TInviteUser();
-				inviteUser.setAppUserId(appUser.getInviteUserId());
+				inviteUser.setAppUserId(appUser1.getId());
 				inviteUser.setBeInvitedAppUserId(chargingOrder.getAppUserId());
 				inviteUser.setAward(num1);
 				inviteUser.setCreateTime(LocalDateTime.now());
@@ -843,11 +855,10 @@
 				inviteUser.setAward(num1);
 				inviteUserClient.updateInviteUser(inviteUser);
 			}
-			TAppUser appUser1 = appUserClient.getUserById(appUser.getInviteUserId()).getData();
 			TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange();
 			String code = Double.valueOf(Math.random() * 1000).intValue() + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
 			appUserIntegralChange.setCode(code);
-			appUserIntegralChange.setAppUserId(appUser.getInviteUserId());
+			appUserIntegralChange.setAppUserId(appUser1.getId());
 			appUserIntegralChange.setChangeType(5);
 			appUserIntegralChange.setHistoricalIntegral(appUser1.getPoints());
 			appUserIntegralChange.setCurrentIntegral(appUser1.getPoints() + num1);
@@ -895,7 +906,33 @@
 		chargingOrder.setStatus(5);
 		chargingOrder.setPaymentAmount(payAmount);
 		this.updateById(chargingOrder);
-
+		
+		//添加积分
+		TIntegralRule integralRule = integralRuleClient.getSet().getData();
+		if(null != integralRule){
+			TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
+			Integer num1 = JSON.parseObject(integralRule.getChargeCredit()).getInteger("num1");
+			Integer integral = payAmount.multiply(new BigDecimal(num1)).intValue();
+			if(null != appUser.getVipId()){
+				TVip vip = vipClient.getInfo(appUser.getVipId()).getData();
+				Integer doubleIntegration = vip.getDoubleIntegration();
+				//双倍积分
+				if(1 == doubleIntegration){
+					integral *= 2;
+				}
+			}
+			
+			TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange();
+			appUserIntegralChange.setAppUserId(appUser.getId());
+			appUserIntegralChange.setChangeType(2);
+			appUserIntegralChange.setHistoricalIntegral(appUser.getPoints());
+			appUser.setPoints(appUser.getPoints() + integral);
+			appUserIntegralChange.setCurrentIntegral(appUser.getPoints());
+			appUserIntegralChange.setCreateTime(LocalDateTime.now());
+			appUserClient.updateAppUser(appUser);
+			appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
+		}
+		
 		//计算优惠券
 		if(null != chargingOrder.getAppCouponId()){
 			//判断实际充电金额是否满足优惠券使用条件,如果不满足则不适用优惠券。
@@ -990,6 +1027,7 @@
 
 		}
 
+		
 	}
 
 
@@ -1585,7 +1623,7 @@
 
 		//计算费用,处理退款
 		endCharge(chargingOrder);
-
+		
 		//处理推荐奖励(被推荐首单奖励)
 		TAppUser appUser = appUserClient.getUserById(chargingOrder.getAppUserId()).getData();
 		long count = this.count(new LambdaQueryWrapper<TChargingOrder>().eq(TChargingOrder::getAppUserId, chargingOrder.getAppUserId())
@@ -1595,13 +1633,24 @@
 			String inviteUsersToEarnPoints = integralRule.getInviteUsersToEarnPoints();
 			JSONObject jsonObject = JSON.parseObject(inviteUsersToEarnPoints);
 			Integer num1 = jsonObject.getInteger("num1");
+			
+			TAppUser appUser1 = appUserClient.getUserById(appUser.getInviteUserId()).getData();
+			if(null != appUser1.getVipId()){
+				TVip vip = vipClient.getInfo(appUser1.getVipId()).getData();
+				Integer doubleIntegration = vip.getDoubleIntegration();
+				//双倍积分
+				if(1 == doubleIntegration){
+					num1 *= 2;
+				}
+			}
+			
 			GetInviteUser query = new GetInviteUser();
-			query.setAppUserId(appUser.getInviteUserId());
+			query.setAppUserId(appUser1.getId());
 			query.setBeInvitedAppUserId(chargingOrder.getAppUserId());
 			TInviteUser inviteUser = inviteUserClient.getInviteUser(query).getData();
 			if(null == inviteUser){
 				inviteUser = new TInviteUser();
-				inviteUser.setAppUserId(appUser.getInviteUserId());
+				inviteUser.setAppUserId(appUser1.getId());
 				inviteUser.setBeInvitedAppUserId(chargingOrder.getAppUserId());
 				inviteUser.setAward(num1);
 				inviteUser.setCreateTime(LocalDateTime.now());
@@ -1610,20 +1659,20 @@
 				inviteUser.setAward(num1);
 				inviteUserClient.updateInviteUser(inviteUser);
 			}
-			TAppUser appUser1 = appUserClient.getUserById(appUser.getInviteUserId()).getData();
 			TAppUserIntegralChange appUserIntegralChange = new TAppUserIntegralChange();
 			String code = Double.valueOf(Math.random() * 1000).intValue() + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS"));
 			appUserIntegralChange.setCode(code);
-			appUserIntegralChange.setAppUserId(appUser.getInviteUserId());
+			appUserIntegralChange.setAppUserId(appUser1.getId());
 			appUserIntegralChange.setChangeType(5);
 			appUserIntegralChange.setHistoricalIntegral(appUser1.getPoints());
 			appUserIntegralChange.setCurrentIntegral(appUser1.getPoints() + num1);
 			appUserIntegralChange.setCreateTime(LocalDateTime.now());
 			appUserIntegralChangeClient.addAppUserIntegralChange(appUserIntegralChange);
-
+			
 			appUser1.setPoints(appUser1.getPoints() + num1);
 			appUserClient.updateAppUser(appUser1);
 		}
+		
 	}
 
 	/**

--
Gitblit v1.7.1