From 3d0e0d4aba6455559a0418f08b573155164e260f Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 22 Nov 2023 18:19:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=95=86=E5=93=81=E8=BF=87?= =?UTF-8?q?=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/goods/controller/GoodsSpuController.java | 2 ++ .../com/qs/serve/modules/goods/entity/GoodsSpu.java | 3 +++ .../serve/modules/goods/mapper/GoodsCrmSkuMapper.java | 2 +- .../modules/oms/service/impl/OmsOrderServiceImpl.java | 10 +++++++--- src/main/resources/log4j2.xml | 5 +++++ src/main/resources/mapper/goods/GoodsSpuMapper.xml | 6 +++++- 6 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java index 17bce4a4..db46e2b7 100644 --- a/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java +++ b/src/main/java/com/qs/serve/modules/goods/controller/GoodsSpuController.java @@ -445,6 +445,7 @@ public class GoodsSpuController { if(selectSpecialFlag!=null&& selectSpecialFlag.equals(1)){ if(!spu.getSpecialSkuId().equals(0L)){ GoodsSku goodsSku = goodsSkuService.getById(spu.getSpecialSkuId()); + spu.setSkuId(goodsSku.getId()); spu.setSkuCode(goodsSku.getSkuCode()); spu.setSkuPrice(goodsSku.getSalesPrice()); spu.setVolume(goodsSku.getVolume().toString()); @@ -456,6 +457,7 @@ public class GoodsSpuController { if(spu.getSpuCode().equals(skuKey.getSkuCode())){ GoodsSku goodsSku = goodsSkuService.getByCode(skuKey.getInvCode()); spu.setSkuCode(goodsSku.getSkuCode()); + spu.setSkuId(goodsSku.getId()); spu.setSkuPrice(goodsSku.getSalesPrice()); spu.setVolume(goodsSku.getVolume().toString()); spu.setWeight(goodsSku.getWeight().toString()); diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java index 9289edc6..2a72a9ea 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java @@ -156,6 +156,9 @@ public class GoodsSpu implements Serializable { @TableField(exist = false) private BigDecimal skuPrice; + @TableField(exist = false) + private Long skuId; + @TableField(exist = false) private String skuCode; diff --git a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsCrmSkuMapper.java b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsCrmSkuMapper.java index 9e041d03..08afbd96 100644 --- a/src/main/java/com/qs/serve/modules/goods/mapper/GoodsCrmSkuMapper.java +++ b/src/main/java/com/qs/serve/modules/goods/mapper/GoodsCrmSkuMapper.java @@ -77,7 +77,7 @@ public interface GoodsCrmSkuMapper { * 根据sku状态,更新spu上架状态 * @return */ - @Update("update goods_spu set shelf = 0 where goods_spu.id not in ( " + + @Update("update goods_spu set order_flag = 0 where goods_spu.id not in ( " + " select goods_sku.spu_id from goods_sku where goods_sku.`enable` = 1 " + ") ") int updateSpuShelfBySku(); diff --git a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java index 987af999..4795afb1 100644 --- a/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/oms/service/impl/OmsOrderServiceImpl.java @@ -261,10 +261,14 @@ public class OmsOrderServiceImpl extends ServiceImpl im goodsSpu = goodsSpuService.getById(goodsSku.getSpuId()); }else { //PC下单 - //goodsSpu = goodsSpuService.getById(modifyItem.getSpuId()); goodsSpu = goodsSpuMap.get(modifyItem.getSpuId()); - String skuCode = spuGetSkuMap.get(goodsSpu.getSpuCode()); - goodsSku = goodsSkuService.getByCode(skuCode); + //防止切换ID + if(modifyItem.getSkuId()!=null){ + goodsSku = goodsSkuService.getById(modifyItem.getSkuId()); + }else { + String skuCode = spuGetSkuMap.get(goodsSpu.getSpuCode()); + goodsSku = goodsSkuService.getByCode(skuCode); + } } OmsOrderItem orderItem = new OmsOrderItem(); orderItem.setOrderId(order.getId()); diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml index e340b909..8fcdef07 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -20,6 +20,11 @@ + + + + + diff --git a/src/main/resources/mapper/goods/GoodsSpuMapper.xml b/src/main/resources/mapper/goods/GoodsSpuMapper.xml index 04d6c1ea..3afa8cf8 100644 --- a/src/main/resources/mapper/goods/GoodsSpuMapper.xml +++ b/src/main/resources/mapper/goods/GoodsSpuMapper.xml @@ -88,9 +88,13 @@ and `goods_spu`.`update_by` = #{query.updateBy} and `goods_spu`.`tenant_id` = #{query.tenantId} and `goods_spu`.`del_flag` = #{query.delFlag} - + and `goods_spu`.`order_flag` = #{query.orderFlag} + and `goods_spu`.`special_sku_id` is not null and `goods_spu`.`special_sku_id` != '0' + + and (`goods_spu`.`special_sku_id` is null or `goods_spu`.`special_sku_id` = '0') + and (`goods_spu`.`name` like concat('%',#{query.searchValue},'%') or `goods_spu`.`goods_spu` like concat('%',#{query.searchValue},'%')) and `goods_spu`.`id` in