From c99b27b5d7f63b7c9ebe0ed682a82d28c238453a Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 20 May 2025 11:49:42 +0800
Subject: [PATCH] feat(mall): 新增新人礼功能

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallOrderInfoServiceImpl.java |   27 ++++++++++++++-------------
 1 files changed, 14 insertions(+), 13 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 2dfbdb4..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,11 +208,11 @@
                     }
 
                     MallGoods mallGoods = mallGoodsMapper.selectById(sku.getGoodsId());
-                    // 零撸专区购买
+                    // 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("积分商品限制一件");
+//                            throw new FebsException("积分商品一个账号只能购买一次");
 //                        }
 //                    }
 
@@ -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);
                 }
             }
@@ -621,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());
@@ -724,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);
 
@@ -950,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