From 5fcab4f1d5c3c65ecef6970a3479bae6d479ff99 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期四, 23 五月 2024 18:43:19 +0800
Subject: [PATCH] bug修复

---
 meiya-rest/src/main/java/com/sinata/rest/modular/mall/service/impl/MallOrderServiceImpl.java |   17 +++++++++++------
 1 files changed, 11 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..b74fe63 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
@@ -182,6 +182,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 +246,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 +268,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 +539,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