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