From 11c5ab8d97809bdeddb60b22a4fe161a67aa3b05 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 19 一月 2026 16:03:17 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java |   76 +++++++++----------------------------
 1 files changed, 19 insertions(+), 57 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 741055a..34a05c7 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
@@ -89,6 +89,8 @@
 
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
+    private ShopMapper shopMapper;
 
     @Autowired
     private GoodsSkuAttrJoinMapper goodsSkuAttrJoinMapper;
@@ -214,8 +216,9 @@
                     || goods.getDeductRata() == null
                     || goods.getPrice() == null
                     || goods.getSkuPrice() == null
-                    || StringUtils.isBlank(goods.getImgurl())
-                    || org.apache.commons.collections.CollectionUtils.isEmpty(goods.getFileList())) {
+//                    || StringUtils.isBlank(goods.getImgurl())
+//                    || org.apache.commons.collections.CollectionUtils.isEmpty(goods.getFileList())
+            ) {
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
             }
 
@@ -730,6 +733,7 @@
         queryWrapper.leftJoin(Labels.class,Labels::getId,Goods::getParentCategoryId);
         //搴撳瓨閲�
         queryWrapper.select("(select sum(STOCK) from goods_sku where ISDELETED=0 and GOODS_ID=t.id) as stockNum ");
+        queryWrapper.select("(select count(id) from shop_goods_relation s where s.ISDELETED=0 and s.GOODS_ID=t.id) as pricedShopNum ");
         //瀹為檯閿�閲�
         queryWrapper.select("(select sum(gd.GOODS_NUM) from  goodsorder_detail gd" +
                 "        inner join  goods_sku gs on gs.id=gd.GOODS_SKU_ID" +
@@ -781,9 +785,12 @@
         if (list == null || list.size() == 0) {
             return;
         }
+       long shopNum = shopMapper.selectCount(new QueryWrapper<Shop>().lambda()
+                .eq(Shop::getIsdeleted,Constants.ZERO));
         String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode()
                 + systemDictDataBiz.queryByCode(Constants.OSS, Constants.GOODS_FILE).getCode();
         for (Goods goods : list) {
+            goods.setShopNum(shopNum);
             goods.setResourcePath(path);
             //鏌ヨsku
             MPJLambdaWrapper<GoodsSku> queryWrapper = new MPJLambdaWrapper<GoodsSku>()
@@ -828,13 +835,11 @@
                 .eq("g.ISDELETED",Constants.ZERO)
                 .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()),
-//                       "","")
-
+               //閫傜敤鍝佺墝  閫傜敤绯诲垪
+               .apply(!Objects.isNull(model) && Objects.nonNull(model.getApplicableBrandId()),
+                       " find_in_set( '["+model.getApplicableBrandId()+"]' , g.BRAND_IDS )  ")
+               .apply(!Objects.isNull(model) && Objects.nonNull(model.getSeriesBrandId()),
+                       " find_in_set( '["+model.getSeriesBrandId()+"]' , g.SERIAL_IDS )  ")
                 .eq("g.STATUS", Constants.ZERO)
                 .like(StringUtils.isNotBlank(model.getGoodsName()),"g.NAME",model.getGoodsName());
 
@@ -852,59 +857,16 @@
                         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);
+        IPage<GoodsInfoResponse> page =
+                Objects.isNull(model.getShopId())?
+                goodsMapper.goodsPage(pageWrap.toPage(),wrapper)
+                :
+                goodsMapper.goodsPageForShop(pageWrap.toPage(),wrapper,model.getShopId()) ;
         if (!CollectionUtils.isEmpty(page.getRecords())){
             String preFixPath = systemDictDataBiz.getPreFixPath(Constants.RESOURCE_PATH, Constants.GOODS_FILE);
             page.getRecords().forEach(s->s.setImgurl(preFixPath+s.getImgurl()));
 
         }
-
-
-//        if (pageWrap.getModel().getType().equals(Constants.TWO)) {
-//            for (GoodsInfoResponse goodsResponse : page.getRecords()) {
-//                //鏌ヨ鍟嗗搧鐨勫垎绫�
-//                goodsResponse.setCategoryLabels(labelsMapper.selectById(goodsResponse.getCategoryId()));
-//                //鏌ヨ鍟嗗搧鐨勫搧鐗�
-//                goodsResponse.setBrandLabels(labelsMapper.selectById(goodsResponse.getBrandId()));
-//                //鏌ヨ鍟嗗搧鐨勬爣绛句俊鎭�
-//                if (StringUtils.isNotBlank(goodsResponse.getLabels())) {
-//                    goodsResponse.setLabelsList(labelsMapper.selectList(new QueryWrapper<Labels>()
-//                            .apply(" find_in_set( id, " + goodsResponse.getLabels().split(",") + " ) ")));
-//                }
-//                //鏌ヨ鏄惁宸茶闃�
-//                goodsResponse.setIsSubscribe(goodsorderDetailMapper.selectCount(new QueryWrapper<GoodsorderDetail>()
-//                        .eq("CREATOR", pageWrap.getModel().getMemberId())
-//                        .apply(" GOODS_SKU_ID in ( SELECT g.id  FROM goods_sku g where g.GOODS_ID = " + goodsResponse.getId() + "  )  ")
-//                ));
-//                //sku鍩虹淇℃伅
-//                this.getSkuInfo(goodsResponse);
-//            }
-//        }
         return page;
     }
 

--
Gitblit v1.9.3