From ac33a3140ef8ef20dfd2537fce2dfdd0f374f30e Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期四, 26 二月 2026 17:42:10 +0800
Subject: [PATCH] 调试
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 48 insertions(+), 4 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..ecb5f69 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);
}
@@ -958,14 +984,32 @@
goodsMapper.goodsPageForShop(pageWrap.toPage(),wrapper,model.getShopId()) ;
if (!CollectionUtils.isEmpty(page.getRecords())){
String preFixPath = systemDictDataBiz.getPreFixPath(Constants.RESOURCE_PATH, Constants.GOODS_FILE);
+
+
for (GoodsInfoResponse goodsInfoResponse:page.getRecords()
) {
goodsInfoResponse.setImgurl(StringUtils.isNotBlank(goodsInfoResponse.getImgurl())?(preFixPath+goodsInfoResponse.getImgurl()):null);
- //sku鍩虹淇℃伅
- this.getSkuInfo(goodsInfoResponse);
+ if(Objects.isNull(model.getShopId())){
+ //sku鍩虹淇℃伅
+ this.getSkuInfo(goodsInfoResponse);
+ }
+ if(StringUtils.isNotBlank(goodsInfoResponse.getBrandIds())){
+ List<Labels> allBrands = labelsMapper.selectList(new QueryWrapper<Labels>().lambda()
+ .in(Labels::getId,getNumIdByIdsString(goodsInfoResponse.getBrandIds()))
+ .eq(Labels::getType,Constants.LabelsType.APPLICABLE_BRAND.getKey())
+ .eq(Labels::getIsdeleted,Constants.ZERO)
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(allBrands)){
+ goodsInfoResponse.setBrandNames(String.join("/",allBrands.stream().map(i->i.getName()).collect(Collectors.toList())));
+ }
+ }
}
}
if(StringUtils.isNotBlank(model.getGoodsName())&&Objects.nonNull(model.getMemberId())){
+ searchHistoryMapper.delete(new QueryWrapper<SearchHistory>().lambda()
+ .eq(SearchHistory::getMemberId,model.getMemberId())
+ .eq(SearchHistory::getContent,model.getGoodsName())
+ );
SearchHistory searchHistory = new SearchHistory();
searchHistory.setIsdeleted(Constants.ZERO);
searchHistory.setContent(model.getGoodsName());
--
Gitblit v1.9.3