Kaynağa Gözat

商品列表添加多个productId查询

lyhzzz 3 yıl önce
ebeveyn
işleme
8dfc784c94

+ 15 - 2
src/main/java/com/cdf/controller/back/CdfProductController.java

@@ -1,17 +1,21 @@
 package com.cdf.controller.back;
 
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.cdf.common.PageInfo;
 import com.cdf.common.ResultData;
 import com.cdf.exception.BusinessException;
 import com.cdf.httpClient.client.CdfClient;
-import com.cdf.httpClient.response.cdf.CdfProductListRequest;
-import com.cdf.httpClient.response.cdf.CdfProductListResponse;
+import com.cdf.httpClient.response.cdf.*;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 @RestController
 @RequestMapping("/back/product")
@@ -22,6 +26,15 @@ public class CdfProductController {
 
     @RequestMapping("/list")
     public ResultData getProductList(@RequestBody CdfProductListRequest param){
+        if(StringUtils.isNotBlank(param.getKeyword()) && param.getKeyword().contains(",")){
+            JSONArray ids = new JSONArray();
+            ids.addAll(Arrays.asList(param.getKeyword().split(",")));
+            CdfProductListByIdsRequest idsRequest = new CdfProductListByIdsRequest(ids);
+            CdfProductListByIdsVo vos = cdfClient.getProductListByIds(idsRequest);
+            List<CdfProduct> productCardList = vos.getProductCardList();
+            PageInfo pageInfo = PageInfo.PageInfo(param.getPageIndex(), 20L, (long) productCardList.size(), productCardList);
+            return ResultData.ok(pageInfo);
+        }
         CdfProductListResponse productList = cdfClient.getProductList(param);
         if(productList.getSearchResult().getType() == 4 ){
             throw new BusinessException(productList.getSearchResult().getType(),productList.getSearchResult().getDesc());