From faf27967a7f94a4ed03a179ec2670031576f4502 Mon Sep 17 00:00:00 2001 From: luofl <1442745593@qq.com> Date: 星期五, 07 三月 2025 18:41:41 +0800 Subject: [PATCH] 迭代版本:2.28 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java | 163 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 96 insertions(+), 67 deletions(-) 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 6df1678..e19994f 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 @@ -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()); @@ -1196,33 +1204,36 @@ BigDecimal balance = appUser.getBalance(); //红包金额满足支付 BigDecimal paymentMoney1 = paymentMoney; - if(paymentMoney1.compareTo(totalRedPacketAmount) <= 0){ - totalRedPacketAmount = totalRedPacketAmount.subtract(paymentMoney1); - balance = balance.subtract(paymentMoney1); - appUser.setTotalRedPacketAmount(totalRedPacketAmount); - appUser.setBalance(balance); - redPacketAmount = paymentMoney1; - }else{ - paymentMoney1 = paymentMoney1.subtract(totalRedPacketAmount); - redPacketAmount = totalRedPacketAmount; - totalRedPacketAmount = BigDecimal.ZERO; - if(paymentMoney1.compareTo(totalDistributionAmount) <= 0){ - totalDistributionAmount = totalDistributionAmount.subtract(paymentMoney1); - balance = balance.subtract(paymentMoney1); - appUser.setTotalRedPacketAmount(totalRedPacketAmount); -// appUser.setTotalDistributionAmount(totalDistributionAmount); - appUser.setBalance(balance); - distributionAmount = paymentMoney1; - }else{ - paymentMoney1 = paymentMoney1.subtract(totalDistributionAmount); - totalDistributionAmount = BigDecimal.ZERO; - balance = balance.subtract(paymentMoney1); - appUser.setTotalRedPacketAmount(totalRedPacketAmount); -// appUser.setTotalDistributionAmount(totalDistributionAmount); - appUser.setBalance(balance); - distributionAmount = totalDistributionAmount; - } - } + balance = balance.subtract(paymentMoney1); + appUser.setBalance(balance); + +// if(paymentMoney1.compareTo(totalRedPacketAmount) <= 0){ +// totalRedPacketAmount = totalRedPacketAmount.subtract(paymentMoney1); +// balance = balance.subtract(paymentMoney1); +// appUser.setTotalRedPacketAmount(totalRedPacketAmount); +// appUser.setBalance(balance); +// redPacketAmount = paymentMoney1; +// }else{ +// paymentMoney1 = paymentMoney1.subtract(totalRedPacketAmount); +// redPacketAmount = totalRedPacketAmount; +// totalRedPacketAmount = BigDecimal.ZERO; +// if(paymentMoney1.compareTo(totalDistributionAmount) <= 0){ +//// totalDistributionAmount = totalDistributionAmount.subtract(paymentMoney1); +// balance = balance.subtract(paymentMoney1); +// appUser.setTotalRedPacketAmount(totalRedPacketAmount); +//// appUser.setTotalDistributionAmount(totalDistributionAmount); +// appUser.setBalance(balance); +// distributionAmount = paymentMoney1; +// }else{ +// paymentMoney1 = paymentMoney1.subtract(totalDistributionAmount); +// totalDistributionAmount = BigDecimal.ZERO; +// balance = balance.subtract(paymentMoney1); +// appUser.setTotalRedPacketAmount(totalRedPacketAmount); +//// appUser.setTotalDistributionAmount(totalDistributionAmount); +// appUser.setBalance(balance); +// distributionAmount = totalDistributionAmount; +// } +// } //构建积分流水记录 if(earnPoint > 0){ PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); @@ -1328,16 +1339,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 +1437,18 @@ orderBalancePayment.setDistributionAmount(distributionAmount); orderBalancePaymentService.save(orderBalancePayment); } + + commissionService.calculationCommissionUser(order.getId()); return R.ok(order.getId().toString()); } + + + + + + + + public String getNumber(Integer size){ @@ -1473,16 +1496,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 +1542,8 @@ for (Integer goodsId : goodsIds) { goodsClient.editGoodsNum(goodsId, 1); } + + commissionService.calculationCommissionUser(order.getId()); return R.ok(); } @@ -1552,16 +1579,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); + } //积分支付不反积分 -- Gitblit v1.7.1