From 56fcde8c93a1a10bc50fac775e370a2db57f520e Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 20 一月 2026 17:08:30 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/GoodsServiceImpl.java |   80 +++++++++++-----------------------------
 1 files changed, 22 insertions(+), 58 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 2d8af53..f275e49 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
@@ -83,6 +83,9 @@
     @Autowired
     private MultifileService multifileService;
 
+    @Autowired
+    private CollectMapper collectMapper;
+
 
     @Autowired
     private GoodsAdminJoinMapper goodsAdminJoinMapper;
@@ -835,13 +838,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());
 
@@ -859,59 +860,15 @@
                         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;
     }
 
@@ -980,8 +937,7 @@
 
 
     @Override
-    public GoodsInfoResponse getGoodsInfo(Integer goodsId) {
-
+    public GoodsInfoResponse getGoodsInfo(Integer goodsId,Integer memberId) {
         String fullUrl = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
                 systemDictDataBiz.queryByCode(Constants.OSS,Constants.GOODS_FILE).getCode();
         GoodsInfoResponse goodsResponse = goodsMapper.getGoodsInfo(goodsId);
@@ -1003,6 +959,14 @@
                                                                                             Constants.GOODS_FILE);
         List<MultiFileDTO> multiFileDTOS = objAllFileUrl.get(Constants.MultiFile.PLATFORM_GOOD_ROTATION.getKey());
         goodsResponse.setGoodBannerMultiFiles(multiFileDTOS);
+        goodsResponse.setCollectStatus(Constants.ZERO);
+        if(Objects.nonNull(memberId)){
+            goodsResponse.setCollectStatus(collectMapper.selectCount(new QueryWrapper<Collect>().lambda()
+                    .eq(Collect::getMemberId,memberId)
+                    .eq(Collect::getObjId,goodsId)
+                    .eq(Collect::getObjType,Constants.ONE)
+            )>Constants.ZERO?Constants.ONE:Constants.ZERO);
+        }
 
         return goodsResponse;
     }

--
Gitblit v1.9.3