From eadac1981bc3bbe51fed32e4be5fe0d2672653e0 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 26 二月 2026 17:15:34 +0800
Subject: [PATCH] 经销商管理

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java |   30 ++++++++++++++++++++++++++++--
 1 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
index efb5c1f..04cba6c 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java
@@ -132,7 +132,7 @@
         dealBatchMultiFiles(goods, goods.getFileList(), user,false);
         return goods.getId();
     }
-    private void dealDefaultGoodsSku(Goods goods) {
+    private Integer dealDefaultGoodsSku(Goods goods) {
         Date date = goods.getEditDate();
         Integer userId = goods.getEditor();
         Sku sku = new Sku();
@@ -186,6 +186,8 @@
         goodsSkuAttr.setGoodsSkuId(goodsSku.getId());
         goodsSkuAttr.setSkuAttrId(skuAttr.getId());
         goodsSkuAttrMapper.insert(goodsSkuAttr);
+
+        return goodsSku.getId();
     }
 
     public void dealBatchMultiFiles(Goods goods, List<Multifile> fileList, LoginUserInfo user,boolean update) {
@@ -451,6 +453,16 @@
             goods.setLabels(  StringUtils.removeEnd( goods.getLabels().replace("锛�",","),","));
         }
         goodsMapper.updateById(goods);
+        boolean needUpdatesku = true;
+        if(goods.getSkuPrice()!=null){
+            GoodsSku queryGoodsSku=new GoodsSku();
+            queryGoodsSku.setGoodsId(goods.getId());
+            queryGoodsSku.setIsdeleted(Constants.ZERO);
+            GoodsSku goodsSku=goodsSkuMapper.selectOne(new QueryWrapper<>(queryGoodsSku).last("limit 1"));
+            if(goodsSku !=null && Constants.formatBigdecimal(goodsSku.getPrice()).compareTo(goods.getSkuPrice()) ==0){
+                needUpdatesku = false;//浠锋牸鏈彉鍖栨棤闇�閲嶆柊鐢熸垚渚涜揣浠�
+            }
+        }
         //娓呯┖鍘熸湁鐨剆ku鏁版嵁
         skuMapper.update(null,new UpdateWrapper<Sku>().lambda()
                 .set(Sku::getIsdeleted,Constants.ONE)
@@ -460,7 +472,21 @@
                 .set(GoodsSku::getIsdeleted,Constants.ONE)
                 .eq(GoodsSku::getIsdeleted,Constants.ZERO)
                 .eq(GoodsSku::getGoodsId,goods.getId()));
-        dealDefaultGoodsSku(goods);//鏂板缓sku淇℃伅
+       Integer skuId = dealDefaultGoodsSku(goods);//鏂板缓sku淇℃伅
+        if(needUpdatesku){ //鍏堝垹闄ゅ師鏉ョ殑鏁版嵁
+            shopGoodsRelationMapper.delete(new QueryWrapper<ShopGoodsRelation>().lambda()
+                    .eq(ShopGoodsRelation::getGoodsId,goods.getId())
+            );
+        }else{
+            //鍚﹀垯鏇存柊鎵�鏈変緵璐т环鍏宠仈鍏崇郴涓殑skuID
+            shopGoodsRelationMapper.update(null,new UpdateWrapper<ShopGoodsRelation>().lambda()
+                    .eq(ShopGoodsRelation::getGoodsId,goods.getId())
+                    .set(ShopGoodsRelation::getGoodsSkuId,skuId)
+            );
+        }
+
+
+
         dealBatchMultiFiles(goods, goods.getFileList(), user,true);
     }
 

--
Gitblit v1.9.3