From 3d2b51ea4520533de5e78f88dddf5b5c7dce4247 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 06 六月 2024 15:56:18 +0800
Subject: [PATCH] 管理后台添加营销员导入功能

---
 meiya-rest/src/main/java/com/sinata/rest/modular/mall/service/impl/MallOrderServiceImpl.java |   25 +++++++++++++++++++------
 1 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/meiya-rest/src/main/java/com/sinata/rest/modular/mall/service/impl/MallOrderServiceImpl.java b/meiya-rest/src/main/java/com/sinata/rest/modular/mall/service/impl/MallOrderServiceImpl.java
index 002d6ed..bec632a 100644
--- a/meiya-rest/src/main/java/com/sinata/rest/modular/mall/service/impl/MallOrderServiceImpl.java
+++ b/meiya-rest/src/main/java/com/sinata/rest/modular/mall/service/impl/MallOrderServiceImpl.java
@@ -9,6 +9,8 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.sinata.common.enums.EnumMemberGrade;
 import com.sinata.common.enums.EnumPayType;
 import com.sinata.common.enums.EnumUserBankDetailDoneType;
@@ -147,6 +149,12 @@
 
     @Override
     public Object createOrder(List<BodyMallOrder> list) {
+        ObjectMapper objectMapper = new ObjectMapper();
+        try {
+            log.info("createOrder:{}", objectMapper.writeValueAsString(list));
+        } catch (JsonProcessingException e) {
+            throw new RuntimeException(e);
+        }
         // 持久化数据组
         List<MallOrder> orderList = new ArrayList<>();
         List<MallOrderDetail> orderDetailList = new ArrayList<>();
@@ -182,6 +190,10 @@
             order.setIdCard(body.getIdCard());
             order.setNumber(body.getNumber());
             order.setState(EnumMallOrderState.WAIT_PAY.index);
+            if (Objects.isNull(order.getCityCode())) {
+                AreaCity city = areaCityMapper.getCityByMerchantId(body.getMerchantId());
+                Optional.ofNullable(city).ifPresent(c ->order.setCityCode(c.getCityCode()));
+            }
             // 生成订单编号
             String generateOrderNo = dailyIncrementIdGenerator.generateId();
             order.setOrderNo(generateOrderNo);
@@ -242,8 +254,9 @@
                         if(skuVo.getStock() < boSku.getGoodsNum()) {
                             return ApiUtils.returnNG(null, "商品:" + skuVo.getGoodsName() + ",库存不足");
                         }
+                        log.info("商品:{},减去库存:{}",skuVo,boSku.getGoodsNum());
                         // 减去库存
-                        goodsSkuService.updateStock(skuVo.getSkuId(), -boSku.getGoodsNum());
+                        goodsSkuService.updateStock(skuVo.getId(), -1 * boSku.getGoodsNum());
 
                         // 商品价格
                         BigDecimal sellCost;
@@ -263,15 +276,13 @@
                             }
                         } else {
                             // 套餐商品(优先销售价(门店价存得值),未设置为美天销售价)
-                           /* if (skuVo.getPriceMerchant() == null || skuVo.getPriceMerchant().compareTo(BigDecimal.ZERO) <= 0) {
+                            if (skuVo.getPriceMerchant() == null || skuVo.getPriceMerchant().compareTo(BigDecimal.ZERO) <= 0) {
                                 // 美天销售价
                                 sellCost = skuVo.getPriceSale();
                             } else {
                                 // 销售价
                                 sellCost = skuVo.getPriceMerchant();
-                            }*/
-                            // 美天销售价
-                            sellCost = skuVo.getPriceSale();
+                            }
                             // 查询套餐规格组ID
                             MallGroupSpec mallGroupSpec = mallGroupSpecService.getById(skuVo.getSpecIds());
                             List<GroupSpecGoodsSkuJsonVo> groupSpecGoodsSkuJsonVoList = JSONUtil.parseArray(mallGroupSpec.getGoodsSkuJson()).toList(GroupSpecGoodsSkuJsonVo.class);
@@ -536,11 +547,13 @@
                     .select(MallOrderDetail::getSkuId, MallOrderDetail::getGoodsNum)
                     .eq(MallOrderDetail::getOrderNo, orderNo);
             List<MallOrderDetail> orderDetails = orderDetailService.list(orderDetailLambdaQueryWrapper);
+            log.info("-----------------------开始退回库存--------------------");
+            log.info("orderDetails:{}", JSON.toJSONString(orderDetails));
             for (MallOrderDetail od : orderDetails) {
                 // 增加库存
                 goodsSkuService.updateStock(od.getSkuId(), od.getGoodsNum());
             }
-
+            log.info("-----------------------退回库存结束--------------------");
             if (order.getCouponId() != null && order.getCouponId() != 0) {
                 // 退还优惠券
                 myCouponService.updateUseCoupon(order.getUserId(), order.getCouponId(), 0);

--
Gitblit v1.7.1