Просмотр исходного кода

fixbug: 器件收藏搜索恢复 器件搜索接口

wangdy 7 лет назад
Родитель
Сommit
2e206bdc8c

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/search/constant/SearchUrl.java

@@ -20,7 +20,7 @@ public class SearchUrl {
     /**
      * 获取企业物料
      */
-    public static final String PRODUCT_ID_NENUU_URL = "/search/productIds?keyword={keyword}&page={page}&size={size}";
+    public static final String PRODUCT_ID_NENUU_URL = "/search/productIds?keyword={keyword}&page={page}&size={size}&duplicate=true";
 
     /**
      * 标准型号联想(物料)

+ 4 - 8
src/main/java/com/uas/platform/b2c/common/search/rpc/service/Impl/SearchServiceImpl.java

@@ -190,7 +190,7 @@ public class SearchServiceImpl implements SearchService{
     }
 
     @Override
-    public Map<String, Object> getComponentIds(String keyword, PageParams var2) throws SearchException {
+    public String getComponentIds(String keyword, PageParams var2) throws SearchException {
         Map<String, Object> map = new HashedMap();
         map.put("keyword", keyword);
         map.put("params", FlexJsonUtils.toJsonDeep(var2));
@@ -198,16 +198,12 @@ public class SearchServiceImpl implements SearchService{
         if(StringUtils.isEmpty(str)) {
             return null;
         }else {
-            try {
-                Map<String, Object> reMap = FastjsonUtils.fromJson(str, Map.class);
-                return reMap;
-            }catch (Exception e) {
-                e.printStackTrace();
-                return null;
-            }
+            return str;
         }
     }
 
+
+
     @Override
     public Set<Long> getKindIdsBySearchComponent(String keyword, String brandId) throws SearchException {
         Map<String, Object> map = new HashedMap();

+ 1 - 1
src/main/java/com/uas/platform/b2c/common/search/rpc/service/SearchService.java

@@ -29,7 +29,7 @@ public interface SearchService {
 
     SPage<Map<String, Object>> getbrandsAndSellers(String keyword, Integer page, Integer size) throws SearchException;
 
-    Map<String, Object> getComponentIds(String keyword, PageParams var2) throws SearchException;
+    String getComponentIds(String keyword, PageParams var2) throws SearchException;
 
     Set<Long> getKindIdsBySearchComponent(String keyword, String brandId) throws SearchException;
 

+ 48 - 8
src/main/java/com/uas/platform/b2c/common/search/service/impl/SearcherServiceImpl.java

@@ -200,23 +200,63 @@ public class SearcherServiceImpl implements SearcherService {
 	@Override
 	public ModelMap searchComponent(String keyword, PageParams page) {
 		ModelMap map = new ModelMap();
-		Map<String, Object> results = new HashMap<>();
+		String results = "";
 		try {
 			results = searchService.getComponentIds(keyword, convertPageParams(page));
 		} catch (SearchException e) {
 			throwSystemException(e);
 		}
-		List<Long> componentIds = (List<Long>) results.get("componentIds");
-		if (!CollectionUtils.isEmpty(componentIds)) {
-			List<ComponentInfo> components = componentInfoDao
-					.findByIdsInOrder(componentIds.toArray(new Long[componentIds.size()]));
+
+		ComponentIdsResult componentIdsResult = FastjsonUtils.fromJson(results, ComponentIdsResult.class);
+		Long[] componentIds = componentIdsResult.getComponentIds();
+
+		if (componentIds.length > 0) {
+			List<ComponentInfo> components = componentInfoDao.findByIdsInOrder(componentIds);
 			map.put("components", components);// 当前页器件内容
 		}
-		map.put("total", results.get("total"));// 搜索结果总数
-		map.put("page", results.get("page"));// 当前页面
-		map.put("size", results.get("size"));// 每页个数
+		map.put("total", componentIdsResult.getTotal());// 搜索结果总数
+		map.put("page", componentIdsResult.getPage());// 当前页面
+		map.put("size", componentIdsResult.getSize());// 每页个数
 		return map;
 	}
+    public static class ComponentIdsResult{
+        private int total;
+        private int size;
+        private int page;
+        private Long[] componentIds;
+
+        public int getTotal() {
+            return total;
+        }
+
+        public void setTotal(int total) {
+            this.total = total;
+        }
+
+        public int getSize() {
+            return size;
+        }
+
+        public void setSize(int size) {
+            this.size = size;
+        }
+
+        public int getPage() {
+            return page;
+        }
+
+        public void setPage(int page) {
+            this.page = page;
+        }
+
+        public Long[] getComponentIds() {
+            return componentIds;
+        }
+
+        public void setComponentIds(Long[] componentIds) {
+            this.componentIds = componentIds;
+        }
+    }
 	/**
 	 * 智能搜索批次
 	 *

+ 9 - 12
src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentGoodsServiceImpl.java

@@ -2,6 +2,8 @@ package com.uas.platform.b2c.prod.product.component.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2c.common.search.rpc.service.SearchService;
+import com.uas.platform.b2c.common.search.service.impl.SearcherServiceImpl;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
 import com.uas.platform.b2c.prod.product.component.dao.ComponentGoodsDao;
@@ -16,7 +18,6 @@ import com.uas.platform.b2c.common.search.util.PageParams.FilterField;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
-import org.springframework.data.domain.Sort;
 import org.springframework.data.domain.Sort.Direction;
 import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
@@ -48,7 +49,7 @@ public class ComponentGoodsServiceImpl implements ComponentGoodsService {
 	@Override
 	public Page<ComponentGoods> getCompGoodsByKindid(final PageInfo info) {
 		Map<String, Object> filter = info.getFilters();
-		Map<String, Object> searchResult = null;
+		String searchResult = "";
 		//只能显示20页的数据
 		if(info.getPageNumber() > Constant.PAGEMAX) {
 			info.setPageNumber(Constant.PAGEMAX);
@@ -72,18 +73,14 @@ public class ComponentGoodsServiceImpl implements ComponentGoodsService {
 					filter.remove("code");
 				}
 				searchResult = searchService.getComponentIds(code, pageParams);
-				@SuppressWarnings("unchecked")
-				List<Integer> componentIds = (List<Integer>) searchResult.get("componentIds");
-				List<Long> componentIdsLong = new ArrayList<>();
-				for (Integer cid:componentIds) {
-					componentIdsLong.add(cid.longValue());
-				}
+				SearcherServiceImpl.ComponentIdsResult componentIdsResult = FastjsonUtils.fromJson(searchResult, SearcherServiceImpl.ComponentIdsResult.class);
+				Long[] componentIds = componentIdsResult.getComponentIds();
+
 				List<ComponentGoods> componentGoods = new ArrayList<>();
-				if (componentIds.size() > 0) {
-					Long[] idArr = new Long[componentIdsLong.size()];
-					componentGoods = componentGoodsDao.findByIdsInOrder(componentIdsLong.toArray(idArr));
+				if (componentIds.length > 0) {
+					componentGoods = componentGoodsDao.findByIdsInOrder(componentIds);
 				}
-				int length = (int)searchResult.get("total");
+				int length = componentIdsResult.getTotal();
 				if(length < componentGoods.size()) {
 					length = componentGoods.size();
 				}

+ 9 - 7
src/main/java/com/uas/platform/b2c/prod/product/component/service/impl/ComponentServiceImpl.java

@@ -2,9 +2,11 @@ package com.uas.platform.b2c.prod.product.component.service.impl;
 
 import com.uas.platform.b2c.common.account.model.User;
 import com.uas.platform.b2c.common.search.rpc.service.SearchService;
+import com.uas.platform.b2c.common.search.service.impl.SearcherServiceImpl;
 import com.uas.platform.b2c.common.search.util.PageParams;
 import com.uas.platform.b2c.core.config.SysConf;
 import com.uas.platform.b2c.core.constant.SplitChar;
+import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsDao;
 import com.uas.platform.b2c.prod.commodity.dao.GoodsHistoryDao;
 import com.uas.platform.b2c.prod.commodity.model.Goods;
@@ -192,7 +194,7 @@ public class ComponentServiceImpl implements ComponentService {
 	@Override
 	public Page<ComponentInfo> findInfoPage(final PageInfo info) {
 		Map<String, Object> filter = info.getFilters();
-		Map<String, Object> searchResult = null;
+		String searchResult = "";
 		// filter: kindid 可以筛选kindID及其子类目下属的所有器件
 		//只能显示40页的数据
 		if(info.getPageNumber() > Constant.PAGEMAX) {
@@ -218,14 +220,14 @@ public class ComponentServiceImpl implements ComponentService {
 					filter.remove("code");
 				}
 				searchResult = searchService.getComponentIds(code, pageParams);
-				@SuppressWarnings("unchecked")
-				List<Long> componentIds = (List<Long>) searchResult.get("componentIds");
+				SearcherServiceImpl.ComponentIdsResult componentIdsResult = FastjsonUtils.fromJson(searchResult, SearcherServiceImpl.ComponentIdsResult.class);
+				Long[] componentIds = componentIdsResult.getComponentIds();
+
 				List<ComponentInfo> components = new ArrayList<ComponentInfo>();
-				if (componentIds.size() > 0) {
-					Long[] idArr = new Long[componentIds.size()];
-					components = componentInfoDao.findByIdsInOrder(componentIds.toArray(idArr));
+				if (componentIds.length > 0) {
+					components = componentInfoDao.findByIdsInOrder(componentIds);
 				}
-				PageImpl<ComponentInfo> pageImpl = new PageImpl<ComponentInfo>(components, info, (int) searchResult.get("total"));
+				PageImpl<ComponentInfo> pageImpl = new PageImpl<ComponentInfo>(components, info, componentIdsResult.getTotal());
 				return pageImpl;
 			}
 			if (filter.get("kindid") != null) {