From d8689abdb2378bdd1c97317ca881173eca26283c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 14 一月 2026 17:13:52 +0800
Subject: [PATCH] 经销商管理

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java |   87 ++++++++++++++++++++++++++++---------------
 1 files changed, 57 insertions(+), 30 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 4378754..741055a 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
@@ -710,6 +710,9 @@
     @Override
     public List<Goods> findList(Goods goods) {
         QueryWrapper<Goods> wrapper = new QueryWrapper<>(goods);
+        wrapper.lambda()
+            .in(goods.getIdList() != null && goods.getIdList().size()>0, Goods::getId, goods.getIdList())
+            .eq( Goods::getIsdeleted, Constants.ZERO);
         return goodsMapper.selectList(wrapper);
     }
 
@@ -718,9 +721,7 @@
         IPage<Goods> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<Goods> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-
         queryWrapper.selectAll(Goods.class);
-
         queryWrapper.select("t1.name",Goods::getCategoryName);
         queryWrapper.select("t2.name" ,Goods::getBrandName);
         queryWrapper.select("t3.name" ,Goods::getParentName);
@@ -750,8 +751,8 @@
         queryWrapper.eq(pageWrap.getModel().getParentCategoryId() != null, Goods::getParentCategoryId, pageWrap.getModel().getParentCategoryId());
         queryWrapper.eq(pageWrap.getModel().getBrandId() != null, Goods::getBrandId, pageWrap.getModel().getBrandId());
         queryWrapper.eq(pageWrap.getModel().getStatus() != null, Goods::getStatus, pageWrap.getModel().getStatus());
-
-        queryWrapper.orderByDesc(Goods::getCreateDate);
+        queryWrapper.in(pageWrap.getModel().getIdList() != null && pageWrap.getModel().getIdList().size()>0, Goods::getId, pageWrap.getModel().getIdList());
+        queryWrapper.orderByDesc(Goods::getId);
         IPage<Goods> result = goodsAdminJoinMapper.selectJoinPage(page, Goods.class, queryWrapper);
         initResult(result.getRecords());
         return PageData.from(result);
@@ -821,45 +822,66 @@
      */
     @Override
     public IPage<GoodsInfoResponse> getGoodsPage(PageWrap<GoodsRequest> pageWrap) {
+       GoodsRequest model = pageWrap.getModel();
 
        QueryWrapper<GoodsRequest> wrapper = new QueryWrapper<GoodsRequest>()
                 .eq("g.ISDELETED",Constants.ZERO)
-                .eq("g.PARENT_CATEGORY_ID",pageWrap.getModel().getParentCategoryId())
-                .eq(!Objects.isNull(pageWrap.getModel()) && Objects.nonNull(pageWrap.getModel().getCategoryId()),
-                        "g.CATEGORY_ID", pageWrap.getModel().getCategoryId())
+                .eq(!Objects.isNull(model) && Objects.nonNull(model.getCategoryId()),
+                        "g.CATEGORY_ID", model.getCategoryId())
+
+               //TODO 閫傜敤鍝佺墝  閫傜敤绯诲垪
+//               .eq(!Objects.isNull(model) && Objects.nonNull(model.getApplicableBrandId()),
+//                       "","")
+//               .eq(!Objects.isNull(model) && Objects.nonNull(model.getSeriesBrandId()),
+//                       "","")
+
                 .eq("g.STATUS", Constants.ZERO)
-                .like(StringUtils.isNotBlank(pageWrap.getModel().getGoodsName()),"g.NAME",pageWrap.getModel().getGoodsName());
-//                .eq(!Objects.isNull(pageWrap.getModel()) && !Objects.isNull(pageWrap.getModel().getType()), "g.TYPE", pageWrap.getModel().getType());
+                .like(StringUtils.isNotBlank(model.getGoodsName()),"g.NAME",model.getGoodsName());
 
-                for(PageWrap.SortData sortData:pageWrap.getSorts1()){
-                    if ("CREATE_DATE".equalsIgnoreCase(sortData.getProperty())){
-                        if (PageWrap.ASC.equalsIgnoreCase(sortData.getDirection())){
-                            wrapper.orderByAsc("g.CREATE_DATE");
-                        }
+                if(Objects.nonNull(model.getSortInfo())){
+                    //鎺掑簭鏂瑰紡锛�0=缁煎悎鎺掑簭锛�1=閿�閲忕敱浣庡埌楂� 锛�2=浠锋牸鐢变綆鍒伴珮锛�3=閿�閲忕敱楂樺埌浣庯紱4=浠锋牸鐢遍珮鍒颁綆
+                    if(Constants.equalsInteger(model.getSortInfo(),Constants.ZERO)){
                         wrapper.orderByDesc("g.CREATE_DATE");
-
-                    }
-                    if ("realSaleNum".equalsIgnoreCase(sortData.getProperty())){
-
-                        if (PageWrap.ASC.equalsIgnoreCase(sortData.getDirection())){
-                            wrapper.orderByAsc("realSaleNum");
-                        }
+                    }else if(Constants.equalsInteger(model.getSortInfo(),Constants.ONE)){
+                        wrapper.orderByAsc("realSaleNum");
+                    }else if(Constants.equalsInteger(model.getSortInfo(),Constants.TWO)){
+                        wrapper.orderByAsc("g.price");
+                    }else if(Constants.equalsInteger(model.getSortInfo(),Constants.THREE)){
                         wrapper.orderByDesc("realSaleNum");
+                    }else if(Constants.equalsInteger(model.getSortInfo(),Constants.FOUR)){
+                        wrapper.orderByDesc("g.price");
                     }
-                    if ("PRICE".equalsIgnoreCase(sortData.getProperty())){
-                        if (PageWrap.ASC.equalsIgnoreCase(sortData.getDirection())){
-                            wrapper.orderByAsc("g.PRICE");
-                        }
-                        wrapper.orderByDesc("g.PRICE");
-                    }
-
                 }
 
+//                for(PageWrap.SortData sortData:pageWrap.getSorts1()){
+//                    if ("CREATE_DATE".equalsIgnoreCase(sortData.getProperty())){
+//                        if (PageWrap.ASC.equalsIgnoreCase(sortData.getDirection())){
+//                            wrapper.orderByAsc("g.CREATE_DATE");
+//                        }
+//                        wrapper.orderByDesc("g.CREATE_DATE");
+//
+//                    }
+//                    if ("realSaleNum".equalsIgnoreCase(sortData.getProperty())){
+//
+//                        if (PageWrap.ASC.equalsIgnoreCase(sortData.getDirection())){
+//                            wrapper.orderByAsc("realSaleNum");
+//                        }
+//                        wrapper.orderByDesc("realSaleNum");
+//                    }
+//                    if ("PRICE".equalsIgnoreCase(sortData.getProperty())){
+//                        if (PageWrap.ASC.equalsIgnoreCase(sortData.getDirection())){
+//                            wrapper.orderByAsc("g.PRICE");
+//                        }
+//                        wrapper.orderByDesc("g.PRICE");
+//                    }
+//
+//                }
 
         IPage<GoodsInfoResponse> page = goodsMapper.goodsPage(pageWrap.toPage(),wrapper);
         if (!CollectionUtils.isEmpty(page.getRecords())){
             String preFixPath = systemDictDataBiz.getPreFixPath(Constants.RESOURCE_PATH, Constants.GOODS_FILE);
             page.getRecords().forEach(s->s.setImgurl(preFixPath+s.getImgurl()));
+
         }
 
 
@@ -898,6 +920,7 @@
 
         String fullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
                 systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
+        Integer sumStock = Constants.ZERO;
         for (GoodsSkuResponse goodsSkuResponse:goodsSkuResponseList) {
             if(StringUtils.isBlank(goodsSkuResponse.getImgurl())){
                 goodsSkuResponse.setImgurl(fullUrl + goodsSkuResponse.getGoodsImgUrl());
@@ -930,8 +953,11 @@
                 indexData.append("," + ( skuAttr.getSortnum()-1));
             }
             goodsSkuResponse.setIndexData(indexData.toString().substring(1));
+            sumStock = sumStock + goodsSkuResponse.getStock();
         }
-
+        //鐪熷疄閿�閲� = realSaleNum  - saleNum;
+        //鐪熷疄搴撳瓨= sumStock - (realSaleNum  - saleNum)
+        goodsResponse.setStock(sumStock - goodsResponse.getRealSaleNum() + goodsResponse.getSaleNum());
         goodsResponse.setGoodsSkuResponseList(goodsSkuResponseList);
         //Sku鍩虹淇℃伅
         List<SkuResponse> skuResponseList = skuMapper.getSkuResponseList(goodsResponse.getId());
@@ -953,7 +979,7 @@
                 systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
         GoodsInfoResponse goodsResponse = goodsMapper.getGoodsInfo(goodsId);
         if(Objects.isNull(goodsResponse)){
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠涓撳尯鍏宠仈鍟嗗搧宸插垹闄�");
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
         goodsResponse.setImgurl(fullUrl + goodsResponse.getImgurl());
         //鏌ヨ鍟嗗搧鐨勫垎绫�
@@ -970,6 +996,7 @@
                                                                                             Constants.GOODS_FILE);
         List<MultiFileDTO> multiFileDTOS = objAllFileUrl.get(Constants.MultiFile.PLATFORM_GOOD_ROTATION.getKey());
         goodsResponse.setGoodBannerMultiFiles(multiFileDTOS);
+
         return goodsResponse;
     }
 

--
Gitblit v1.9.3