From e6839a670cb185de6c8af9c7abcbebccc8e64e15 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 19 May 2025 12:43:32 +0800
Subject: [PATCH] refactor(prod): 更新生产环境配置和微信小程序支付参数

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   88 ++++++++++++++++++++++++++------------------
 1 files changed, 52 insertions(+), 36 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
index 65239cf..2a89336 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java
@@ -109,7 +109,7 @@
             throw new FebsException("请重新选择收货地址信息");
         }
 
-        String orderNo = MallUtils.getOrderNum();
+        String orderNo = MallUtils.getOrderNum("O");
         MallOrderInfo orderInfo = new MallOrderInfo();
         orderInfo.setOrderNo(orderNo);
         orderInfo.setOrderTime(new Date());
@@ -208,13 +208,13 @@
                     }
 
                     MallGoods mallGoods = mallGoodsMapper.selectById(sku.getGoodsId());
-                    // 零撸专区购买
-                    if (new BigDecimal(mallGoods.getPresentPrice()).compareTo(BigDecimal.ZERO) == 0) {
-                        List<MallOrderItem> items = mallOrderItemMapper.selectItemByGoodsIdUnCancel(mallGoods.getId(), member.getId());
-                        if (CollUtil.isNotEmpty(items)) {
-                            throw new FebsException("无法重复领取同一个商品");
-                        }
-                    }
+                    // todo 纯积分商品一个账号限制购买一次
+//                    if (new BigDecimal(mallGoods.getPresentPrice()).compareTo(BigDecimal.ZERO) == 0) {
+//                        List<MallOrderItem> items = mallOrderItemMapper.selectItemByGoodsIdUnCancel(mallGoods.getId(), member.getId());
+//                        if (CollUtil.isNotEmpty(items)) {
+//                            throw new FebsException("积分商品一个账号只能购买一次");
+//                        }
+//                    }
 
                     if (MallGoods.ISSALE_STATUS_DISABLED.equals(mallGoods.getIsSale())) {
                         throw new FebsException(mallGoods.getGoodsName() + "已下架");
@@ -317,6 +317,7 @@
 
         for (AddOrderItemDto item : items) {
             Long skuId = item.getSkuId();
+            Integer cnt = item.getCnt();
             MallGoodsSku sku = skusAll.stream().filter(s -> s.getId().equals(skuId)).findFirst().orElse(null);
             if (ObjectUtil.isNotEmpty(sku)) {
                 Long goodsId = sku.getGoodsId();
@@ -324,7 +325,7 @@
                 if (ObjectUtil.isNotEmpty(mallGoods)) {
                     BigDecimal multi = mallGoods.getStaticProp().divide(BigDecimal.valueOf(100), 4, RoundingMode.HALF_DOWN);
                     //获取该商品该规格的积分
-                    BigDecimal scoreAmount = sku.getOriginalPrice().multiply(multi).setScale(0, RoundingMode.HALF_DOWN);
+                    BigDecimal scoreAmount = sku.getOriginalPrice().multiply(multi).multiply(new BigDecimal(cnt)).setScale(0, RoundingMode.HALF_DOWN);
                     scoreAmountMap.put(skuId, scoreAmount);
                 }
             }
@@ -543,23 +544,23 @@
         if (OrderStatusEnum.WAIT_PAY.getValue() != orderInfo.getStatus()) {
             throw new FebsException("订单状态不能支付");
         }
-        //先支付积分部分
-        if(orderInfo.getScoreAmount().compareTo(BigDecimal.ZERO) > 0){
-            balanceScorePay(orderInfo, payOrderDto.getTradePwd(), "prizeScore");
-            mallMoneyFlowService.addMoneyFlow(
-                    member.getId(),
-                    orderInfo.getAmount().negate(),
-                    ScoreFlowTypeEnum.PAY.getValue(),
-                    orderInfo.getOrderNo(),
-                    FlowTypeEnum.PRIZE_SCORE.getValue(),
-                    StrUtil.format(ScoreFlowTypeEnum.PAY.getDesc(),orderInfo.getScoreAmount()),
-                    2
-            );
-        }
 
         String payResultStr = "";
         String wxResultStr = "";
         if(orderInfo.getAmount().compareTo(BigDecimal.ZERO) <= 0){
+            //先支付积分部分
+            if(orderInfo.getScoreAmount().compareTo(BigDecimal.ZERO) > 0){
+                balanceScorePay(orderInfo, payOrderDto.getTradePwd(), "prizeScore");
+                mallMoneyFlowService.addMoneyFlow(
+                        member.getId(),
+                        orderInfo.getScoreAmount().negate(),
+                        ScoreFlowTypeEnum.PAY.getValue(),
+                        orderInfo.getOrderNo(),
+                        FlowTypeEnum.PRIZE_SCORE.getValue(),
+                        StrUtil.format(ScoreFlowTypeEnum.PAY.getDesc(),orderInfo.getScoreAmount()),
+                        2
+                );
+            }
             orderInfo.setPayOrderNo(orderInfo.getOrderNo());
             orderInfo.setPayMethod("积分支付");
             orderInfo.setStatus(OrderStatusEnum.WAIT_SHIPPING.getValue());
@@ -591,7 +592,22 @@
                     agentProducer.sendOrderReturn(orderInfo.getId());
                     break;
                 case "3":
+
                     payResultStr = balancePay(orderInfo, payOrderDto.getTradePwd(), "balance");
+
+                    //先支付积分部分
+                    if(orderInfo.getScoreAmount().compareTo(BigDecimal.ZERO) > 0){
+                        balanceScorePay(orderInfo, payOrderDto.getTradePwd(), "prizeScore");
+                        mallMoneyFlowService.addMoneyFlow(
+                                member.getId(),
+                                orderInfo.getScoreAmount().negate(),
+                                ScoreFlowTypeEnum.PAY.getValue(),
+                                orderInfo.getOrderNo(),
+                                FlowTypeEnum.PRIZE_SCORE.getValue(),
+                                StrUtil.format(ScoreFlowTypeEnum.PAY.getDesc(),orderInfo.getScoreAmount()),
+                                2
+                        );
+                    }
 
                     orderInfo.setPayOrderNo(orderInfo.getOrderNo());
                     orderInfo.setPayMethod("余额支付");
@@ -606,7 +622,7 @@
                             ScoreFlowTypeEnum.PAY_BALANCE.getValue(),
                             orderInfo.getOrderNo(),
                             FlowTypeEnum.BALANCE.getValue(),
-                            StrUtil.format(ScoreFlowTypeEnum.PAY_BALANCE.getDesc(),orderInfo.getScoreAmount()),
+                            StrUtil.format(ScoreFlowTypeEnum.PAY_BALANCE.getDesc(),orderInfo.getAmount()),
                             2
                     );
                     agentProducer.sendOrderCoupon(orderInfo.getId());
@@ -694,11 +710,11 @@
         orderListDto.setMemberId(member.getId());
 //        IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectApiOrderListInPage(page, orderListDto);
         IPage<MallOrderInfo> mallOrderInfos = this.baseMapper.selectNewApiOrderListInPage(page, orderListDto);
-        if (CollUtil.isNotEmpty(mallOrderInfos.getRecords())) {
-            mallOrderInfos.getRecords().forEach(item -> {
-                item.setItems(mallOrderItemMapper.selectListByOrderId(item.getId()));
-            });
-        }
+//        if (CollUtil.isNotEmpty(mallOrderInfos.getRecords())) {
+//            mallOrderInfos.getRecords().forEach(item -> {
+//                item.setItems(mallOrderItemMapper.selectListByOrderId(item.getId()));
+//            });
+//        }
         return MallOrderInfoConversion.INSTANCE.entitysToVos(mallOrderInfos.getRecords());
     }
 
@@ -709,13 +725,13 @@
         if (ObjectUtil.isNull(orderInfo)) {
             throw new FebsException("订单不存在");
         }
-        List<MallOrderItem> items = orderInfo.getItems();
-        if(CollUtil.isNotEmpty(items)){
-            for(MallOrderItem mallOrderItem : items){
-                mallOrderItem.setItemAmount(mallOrderItemMapper.selectById(mallOrderItem.getId()).getAmount());
-                mallOrderItem.setScoreAmount(mallOrderItemMapper.selectById(mallOrderItem.getId()).getScoreAmount());
-            }
-        }
+//        List<MallOrderItem> items = orderInfo.getItems();
+//        if(CollUtil.isNotEmpty(items)){
+//            for(MallOrderItem mallOrderItem : items){
+//                mallOrderItem.setItemAmount(mallOrderItemMapper.selectById(mallOrderItem.getId()).getAmount());
+//                mallOrderItem.setScoreAmount(mallOrderItemMapper.selectById(mallOrderItem.getId()).getScoreAmount());
+//            }
+//        }
 
         OrderDetailVo orderDetailVo = MallOrderInfoConversion.INSTANCE.entityToDetailVo(orderInfo);
 
@@ -935,7 +951,7 @@
                 mallGoodsComment.setSkuName(mallGoodsSku.getSkuName());
                 mallGoodsComment.setStyleId(mallGoodsSku.getStyleId());
                 mallGoodsComment.setStyleName(mallGoodsSku.getStyleName());
-                mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_ENABLE);
+                mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_DISABLED);
                 mallGoodsCommentMapper.insert(mallGoodsComment);
             }
         }

--
Gitblit v1.9.1