mitao
2024-04-30 c6889419ea24a8df72b654f30b3851f1172e3499
meiya-rest/src/main/java/com/sinata/rest/modular/mall/service/impl/MallOrderServiceImpl.java
@@ -242,8 +242,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 +264,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 +535,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);