Pu Zhibing
2024-12-10 d341be8242db41136119a842e29194af4902a9b7
同步代码
3个文件已修改
60 ■■■■■ 已修改文件
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserCouponController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
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();
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){