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 +++++++++++++++++++----------------
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java | 6 +++++-
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java | 19 ++++++++++++++-----
3 files changed, 38 insertions(+), 22 deletions(-)
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
index f3a4385..a86426a 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java
@@ -14,7 +14,9 @@
import com.ruoyi.common.core.utils.bean.BeanUtils;
import com.ruoyi.account.api.vo.PaymentUserCoupon;
import com.ruoyi.other.api.domain.Goods;
+import com.ruoyi.other.api.domain.PointSetting;
import com.ruoyi.other.api.feignClient.GoodsClient;
+import com.ruoyi.other.api.feignClient.PointSettingClient;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -54,6 +56,9 @@
private UserPointService userPointService;
@Resource
private GoodsClient goodsClient;
+
+ @Resource
+ private PointSettingClient pointSettingClient;
@@ -126,16 +131,20 @@
}
//如果是积分兑换,增加积分的历史记录
if (data.getSendType()!=1){
+ int point = data.getNeedPoint().intValue();
+ Integer lavePoint = byId.getLavePoint();
+ //扣除积分
+ byId.setLavePoint(byId.getLavePoint() - point);
+ appUserService.updateById(byId);
+
UserPoint userPoint = new UserPoint();
userPoint.setType(4);
- userPoint.setHistoricalPoint(byId.getLavePoint());
- userPoint.setVariablePoint(data.getNeedPoint().intValue());
+ userPoint.setHistoricalPoint(lavePoint);
+ userPoint.setVariablePoint(point);
+ userPoint.setBalance(byId.getLavePoint());
userPoint.setAppUserId(userid);
userPoint.setObjectId(Long.valueOf(data.getId()));
userPointService.save(userPoint);
- //扣除积分
- byId.setLavePoint(byId.getLavePoint() - userPoint.getVariablePoint());
- appUserService.updateById(byId);
}
//增加优惠券记录,根据时间类型设置开始结束时间
UserCoupon userCoupon = new UserCoupon();
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 4bbcdb1..a5a8b35 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
@@ -583,9 +583,13 @@
PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData();
if(null != pointSetting){
int hourPoint = pointSetting.getHourPoint().intValue();
+ int hourPoint1 = hourPoint;
+ if(1 == pointSetting.getWorkPointOpen()){
+ hourPoint1 = hourPoint1 * (100 - pointSetting.getWorkPoint());
+ }
Integer lavePoint = appUser.getLavePoint();
appUser.setTotalPoint(appUser.getTotalPoint() + hourPoint);
- appUser.setLavePoint(appUser.getLavePoint() + hourPoint);
+ appUser.setLavePoint(appUser.getLavePoint() + hourPoint1);
this.updateById(appUser);
//添加积分变动记录
UserPoint userPoint = new UserPoint();
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