luofl
2025-03-06 2ed6444f45d227e2acc6de65c3e8b582440fb83a
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -41,6 +41,9 @@
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@Slf4j
@@ -142,6 +145,9 @@
         throw new RuntimeException("根据类型(1=服务商品,2=单品商品)获取商品数据失败");
      }
      List<Integer> goodsIds = data.stream().map(Goods::getId).collect(Collectors.toList());
      if(goodsIds.isEmpty()){
         return new ArrayList<>();
      }
      //查询符合商品类型的商品数据
      List<ShoppingCart> list = this.list(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid)
            .in(ShoppingCart::getGoodsId, goodsIds).eq(ShoppingCart::getStatus, 1));
@@ -1144,16 +1150,18 @@
                  jsonObject.put("transferablePoint", earnPoint1);
               }
               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());
               userPointClient.saveUserPoint(userPoint);
               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());
                  userPointClient.saveUserPoint(userPoint);
               }
            }
            appUser.setShopAmount(appUser.getShopAmount().add(paymentMoney).setScale(2, RoundingMode.HALF_EVEN));
            appUser.setLastShopTime(LocalDateTime.now());
@@ -1328,16 +1336,18 @@
         }
         //构建积分流水记录
         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) + "");
         userPointClient.saveUserPoint(userPoint);
         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) + "");
            userPointClient.saveUserPoint(userPoint);
         }
         appUser.setLastShopTime(LocalDateTime.now());
         appUserClient.editAppUserById(appUser);
@@ -1424,8 +1434,18 @@
         orderBalancePayment.setDistributionAmount(distributionAmount);
         orderBalancePaymentService.save(orderBalancePayment);
      }
      commissionService.calculationCommissionUser(order.getId());
      return R.ok(order.getId().toString());
   }
   
   public String getNumber(Integer size){
@@ -1473,16 +1493,18 @@
            jsonObject.put("transferablePoint", earnPoint1);
         }
         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());
         userPointClient.saveUserPoint(userPoint);
         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());
            userPointClient.saveUserPoint(userPoint);
         }
      }
      appUser.setShopAmount(appUser.getShopAmount().add(paymentMoney).setScale(2, RoundingMode.HALF_EVEN));
      appUser.setLastShopTime(LocalDateTime.now());
@@ -1517,6 +1539,8 @@
      for (Integer goodsId : goodsIds) {
         goodsClient.editGoodsNum(goodsId, 1);
      }
      commissionService.calculationCommissionUser(order.getId());
      return R.ok();
   }
   
@@ -1552,16 +1576,18 @@
      }
      //构建积分流水记录
      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) + "");
      userPointClient.saveUserPoint(userPoint);
      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) + "");
         userPointClient.saveUserPoint(userPoint);
      }
      //积分支付不反积分