Pu Zhibing
2025-03-26 cbf2486983b77a27af9968bbb362cb8d43789115
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -14,6 +14,7 @@
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.event.PayEvent;
import com.ruoyi.order.mapper.ShoppingCartMapper;
import com.ruoyi.order.model.Order;
import com.ruoyi.order.model.OrderBalancePayment;
@@ -31,6 +32,7 @@
import com.ruoyi.other.api.vo.GetGoodsShopByGoodsIds;
import com.ruoyi.other.api.vo.GetSeckillActivityInfo;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
@@ -108,12 +110,6 @@
   private CommissionService commissionService;
   @Resource
   private VipSettingClient vipSettingClient;
   @Resource
   private UserChangeLogClient userChangeLogClient;
   @Resource
   private PointSettingClient pointSettingClient;
   
   @Resource
@@ -121,6 +117,9 @@
   
   @Resource
   private RedisTemplate redisTemplate;
   @Resource
   private ApplicationEventPublisher applicationEventPublisher;
   
   
   
@@ -1153,13 +1152,12 @@
               if(earnPoint > 0){
                  UserPoint userPoint = new UserPoint();
                  userPoint.setType(1);
                  userPoint.setHistoricalPoint(lavePoint);
                  userPoint.setVariablePoint(earnPoint);
                  userPoint.setBalance(appUser.getLavePoint());
                  userPoint.setCreateTime(LocalDateTime.now());
                  userPoint.setAppUserId(appUser.getId());
                  userPoint.setObjectId(order.getId());
                  userPoint.setExtention(jsonObject.toJSONString());
                  userPoint.setChangeDirection(1);
                  userPointClient.saveUserPoint(userPoint);
               }
            }
@@ -1167,7 +1165,7 @@
            appUser.setLastShopTime(LocalDateTime.now());
            appUserClient.editAppUserById(appUser);
            //变更等级
            appUserClient.vipUpgrade(appUser.getId());
            applicationEventPublisher.publishEvent(new PayEvent(JSON.toJSONString(appUser)));
            //修改订支付状态
            order.setPayStatus(2);
            //自提
@@ -1258,13 +1256,12 @@
            if(earnPoint > 0){
               UserPoint 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());
               userPoint.setExtention(jsonObject.toJSONString());
               userPoint.setChangeDirection(1);
               userPointClient.saveUserPoint(userPoint);
            }
         }
@@ -1272,18 +1269,17 @@
         appUser.setLastShopTime(LocalDateTime.now());
         appUserClient.editAppUserById(appUser);
         //变更等级
         appUserClient.vipUpgrade(appUser.getId());
         applicationEventPublisher.publishEvent(new PayEvent(JSON.toJSONString(appUser)));
         //构建余额明细变动记录
         BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
         balanceChangeRecord.setAppUserId(appUser.getId());
         balanceChangeRecord.setVipId(appUser.getVipId());
         balanceChangeRecord.setOrderId(order.getId());
         balanceChangeRecord.setChangeType(5);
         balanceChangeRecord.setBeforeAmount(balance.add(paymentMoney));
         balanceChangeRecord.setChangeAmount(paymentMoney);
         balanceChangeRecord.setAfterAmount(balance);
         balanceChangeRecord.setDelFlag(0);
         balanceChangeRecord.setCreateTime(LocalDateTime.now());
         balanceChangeRecord.setChangeDirection(-1);
         balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord);
         //修改订支付状态
         order.setPayStatus(2);
@@ -1342,20 +1338,19 @@
         if(orderPoint > 0){
            UserPoint userPoint = new UserPoint();
            userPoint.setType(11);
            userPoint.setHistoricalPoint(lavePoint);
            userPoint.setVariablePoint(orderPoint);
            userPoint.setBalance(appUser.getLavePoint());
            userPoint.setCreateTime(LocalDateTime.now());
            userPoint.setAppUserId(appUser.getId());
            userPoint.setObjectId(order.getId());
            userPoint.setExtention((tra >= 0 ? orderPoint : transferablePoint) + "");
            userPoint.setChangeDirection(-1);
            userPointClient.saveUserPoint(userPoint);
         }
         appUser.setLastShopTime(LocalDateTime.now());
         appUserClient.editAppUserById(appUser);
         //变更等级
         appUserClient.vipUpgrade(appUser.getId());
         applicationEventPublisher.publishEvent(new PayEvent(JSON.toJSONString(appUser)));
         //积分支付不返佣
@@ -1401,11 +1396,10 @@
               balanceChangeRecord.setVipId(appUser.getVipId());
               balanceChangeRecord.setOrderId(order.getId());
               balanceChangeRecord.setChangeType(5);
               balanceChangeRecord.setBeforeAmount(balance.add(expressFee));
               balanceChangeRecord.setChangeAmount(expressFee);
               balanceChangeRecord.setAfterAmount(balance);
               balanceChangeRecord.setDelFlag(0);
               balanceChangeRecord.setCreateTime(LocalDateTime.now());
               balanceChangeRecord.setChangeDirection(-1);
               balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord);
               //修改订支付状态
               order.setPayStatus(2);
@@ -1499,13 +1493,12 @@
         if(earnPoint > 0){
            UserPoint userPoint = new UserPoint();
            userPoint.setType(1);
            userPoint.setHistoricalPoint(lavePoint);
            userPoint.setVariablePoint(earnPoint);
            userPoint.setBalance(appUser.getLavePoint());
            userPoint.setCreateTime(LocalDateTime.now());
            userPoint.setAppUserId(appUser.getId());
            userPoint.setObjectId(order.getId());
            userPoint.setExtention(jsonObject.toJSONString());
            userPoint.setChangeDirection(1);
            userPointClient.saveUserPoint(userPoint);
         }
      }
@@ -1513,13 +1506,16 @@
      appUser.setLastShopTime(LocalDateTime.now());
      appUserClient.editAppUserById(appUser);
      //变更等级
      appUserClient.vipUpgrade(appUser.getId());
      applicationEventPublisher.publishEvent(new PayEvent(JSON.toJSONString(appUser)));
      //修改订支付状态
      order.setPayStatus(2);
      //自提
      if(order.getOrderType() == 1 && StringUtils.isEmpty(order.getAddressJson())){
         order.setOrderStatus(2);
      }
      String r7TrxNo = uniPayCallbackResult.getR9_BankTrxNo();
      order.setSerialNumber(r7TrxNo);
      orderService.updateById(order);
      //处理优惠券
@@ -1582,13 +1578,12 @@
      if(orderPoint > 0){
         UserPoint userPoint = new UserPoint();
         userPoint.setType(11);
         userPoint.setHistoricalPoint(lavePoint);
         userPoint.setVariablePoint(orderPoint);
         userPoint.setBalance(appUser.getLavePoint());
         userPoint.setCreateTime(LocalDateTime.now());
         userPoint.setAppUserId(appUser.getId());
         userPoint.setObjectId(order.getId());
         userPoint.setExtention((tra >= 0 ? orderPoint : transferablePoint) + "");
         userPoint.setChangeDirection(-1);
         userPointClient.saveUserPoint(userPoint);
      }
@@ -1597,7 +1592,7 @@
      appUser.setLastShopTime(LocalDateTime.now());
      appUserClient.editAppUserById(appUser);
      //变更等级
      appUserClient.vipUpgrade(appUser.getId());
      applicationEventPublisher.publishEvent(new PayEvent(JSON.toJSONString(appUser)));
      //修改订支付状态
      order.setPayStatus(2);