From f93f02d8cc15732652c751f69e7319858ca6f0a4 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 21 一月 2026 17:19:26 +0800
Subject: [PATCH] 经销商管理

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java |   41 ++++++++++++++++++++++++++++++++---------
 1 files changed, 32 insertions(+), 9 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 43968bc..ec2bf51 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
@@ -372,6 +372,7 @@
         if(goodsSkuList==null || goodsSkuList.size() == 0){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鍟嗗搧灏氭湭璁剧疆闆跺敭浠凤紝璇峰厛璁剧疆浠锋牸锛� ");
         }
+        List<Integer> idList2 = new ArrayList<>();
         for(Goods param: list){
             Goods goods = getGoodsFromListById(param.getId(),goodsList,goodsSkuList);
             if(goods ==null ){
@@ -379,25 +380,47 @@
             }
             //濡傛灉鏄笂鏋�
             goods.setGoodsSkuList(goodsSkuList);
+            boolean s =true;
             if(goods.getSkuPrice() == null || goods.getSkuPrice().compareTo(new BigDecimal(0)) <=0){
                 //榛樿sku淇℃伅
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), goods.getName()+":鍟嗗搧鍟嗗搧灏氭湭璁剧疆闆跺敭浠凤紝鏃犳硶涓婃灦");
+                s =false;
+                if(idList.size()==1) {
+                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), goods.getName()+":鍟嗗搧鍟嗗搧灏氭湭璁剧疆闆跺敭浠凤紝鏃犳硶涓婃灦");
+                }
             }
-            if(Constants.formatLongNum(goods.getPricedShopNum()) <= shopNum){
+            if(Constants.formatLongNum(goods.getPricedShopNum()) < shopNum){
                 //榛樿sku淇℃伅
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), goods.getName()+":鏈夋湭璁剧疆渚涜揣浠风殑缁忛攢鍟嗭紝鏃犳硶涓婃灦");
+                s =false;
+                if(idList.size()==1){
+                  throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), goods.getName()+":鏈夋湭璁剧疆渚涜揣浠风殑缁忛攢鍟嗭紝鏃犳硶涓婃灦");
+                }
+
+            }
+            if(s){
+                idList2.add(param.getId());
             }
         }
-        goodsMapper.update(null,new UpdateWrapper<Goods>().lambda()
-                .set(Goods::getEditDate,new Date() )
-                .set(Goods::getEditor,user.getId())
-                .set(Goods::getStatus,Constants.ZERO )
-                .in(Goods::getId,idList));
+        int successNum = 0;
+        if(idList2.size()>0){
+            successNum = goodsMapper.update(null,new UpdateWrapper<Goods>().lambda()
+                    .set(Goods::getEditDate,new Date() )
+                    .set(Goods::getEditor,user.getId())
+                    .set(Goods::getStatus,Constants.ZERO )
+                    .in(Goods::getId,idList2));
+        }
+
+        if(successNum != idList.size()){
+            if( idList.size()>1){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "鎴愬姛涓婃灦鍟嗗搧鏁帮細銆�"+successNum+"銆戯紝涓婃灦澶辫触锛氥��"+(idList.size()-successNum)+"銆戜釜鍟嗗搧,璇风‘淇濆緟涓婃灦鍟嗗搧鐨勫潎閿�鍞环鍜屼緵璐т环宸茶缃�");
+            }else {
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode()," 涓婃灦澶辫触");
+            }
+        }
     }
 
     private Goods getGoodsFromListById(Integer id, List<Goods> goodsList, List<GoodsSku> skuList) {
         for(Goods model: goodsList){
-            if(Constants.equalsObject(model.getIdList(),id)){
+            if(Constants.equalsInteger(model.getId(),id)){
                 for(GoodsSku sku :skuList){
                     if(Constants.equalsInteger(sku.getGoodsId(),id)){
                         model.setSkuPrice(sku.getPrice());

--
Gitblit v1.9.3