Explorar o código

Merge remote-tracking branch 'origin/feature-material-wangcz' into feature-material-wangcz

shenjj %!s(int64=7) %!d(string=hai) anos
pai
achega
6c7bce86ff

+ 15 - 0
src/main/java/com/uas/platform/b2c/core/config/SysConf.java

@@ -175,6 +175,12 @@ public class SysConf {
 	@Value(("#{sys.profile}"))
 	private String profile;
 
+	/**
+	 * 物料id
+	 */
+	@Value(("#{sys.productServiceIp}"))
+	private String productServiceIp;
+
 	public Boolean getRebuildIndexesOnRefresh() {
 		return rebuildIndexesOnRefresh;
 	}
@@ -387,4 +393,13 @@ public class SysConf {
 		this.profile = profile;
 		return this;
 	}
+
+	public String getProductServiceIp() {
+		return productServiceIp;
+	}
+
+	public SysConf setProductServiceIp(String productServiceIp) {
+		this.productServiceIp = productServiceIp;
+		return this;
+	}
 }

+ 11 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/constant/PublicProductUrl.java

@@ -0,0 +1,11 @@
+package com.uas.platform.b2c.prod.commodity.constant;
+
+/**
+ * description
+ *
+ * @author yuj 2018-08-23 9:17
+ */
+public class PublicProductUrl {
+
+    public static final String PRODUCT_SEARCH_URL = "/product/get/searchProductIds?page={page}&size={size}&keyword={keyword}&filters={filters}&keywordSearchColumns={keywordSearchColumns}";
+}

+ 3 - 3
src/main/java/com/uas/platform/b2c/prod/commodity/controller/ProductController.java

@@ -426,8 +426,8 @@ public class ProductController {
 	 * @param keyword
 	 * @return
 	 */
-	@RequestMapping(value = "/keyword", method = RequestMethod.GET)
-	public List<Product> getProductsByKeyword(String keyword) {
-		return new ArrayList<>();
+	@RequestMapping(value = "/code/keyword", method = RequestMethod.GET)
+	public List<Product> getProductsMatchCodeByKeyword(String keyword) {
+		return productService.getProductsMatchCodeByKeyword(keyword);
 	}
 }

+ 8 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/ProductService.java

@@ -375,4 +375,12 @@ public interface ProductService {
      * @param prids
      */
     void updateProductsByInBound(List<Long> prids);
+
+
+    /**
+     * 根据关键字匹配器件型号,获取物料信息
+     * @param keyword
+     * @return
+     */
+    List<Product> getProductsMatchCodeByKeyword(String keyword);
 }

+ 40 - 0
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ProductServiceImpl.java

@@ -3,6 +3,8 @@ package com.uas.platform.b2c.prod.commodity.service.impl;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.alibaba.fastjson.parser.Feature;
 import com.uas.platform.b2c.advertise.ad.service.RecommendProductService;
 import com.uas.platform.b2c.common.account.dao.UserDao;
 import com.uas.platform.b2c.common.account.model.Enterprise;
@@ -20,6 +22,7 @@ import com.uas.platform.b2c.core.utils.FastjsonUtils;
 import com.uas.platform.b2c.core.utils.NumberUtil;
 import com.uas.platform.b2c.core.utils.StringUtilB2C;
 import com.uas.platform.b2c.prod.commodity.constant.DoubleConstant;
+import com.uas.platform.b2c.prod.commodity.constant.PublicProductUrl;
 import com.uas.platform.b2c.prod.commodity.constant.StringConstant;
 import com.uas.platform.b2c.prod.commodity.dao.*;
 import com.uas.platform.b2c.prod.commodity.model.*;
@@ -2490,5 +2493,42 @@ public class ProductServiceImpl implements ProductService {
             productDao.save(products);
         }
     }
+
+    /**
+     * 根据关键字匹配器件型号,获取物料信息
+     *
+     * @param keyword
+     * @return
+     */
+    @Override
+    public List<Product> getProductsMatchCodeByKeyword(String keyword) {
+        if (StringUtils.isEmpty(keyword)) {
+            return new ArrayList<>();
+        }
+        Map<String, Object> map = new HashedMap();
+        map.put("page", 1);
+        map.put("size", 10);
+        map.put("keyword", keyword);
+        Map<String, Object> filters = new HashedMap();
+        filters.put("pr_enuu", SystemSession.getUser().getEnterprise().getUu());
+        filters.put("pr_b2cenabled", 1);
+        map.put("filters", FlexJsonUtils.toJson(filters));
+        List<String> searchColumns = new ArrayList<>();
+        searchColumns.add("pr_pcmpcode");
+        map.put("keywordSearchColumns", FlexJsonUtils.toJson(searchColumns));
+        String str = restTemplate.getForObject(sysConf.getProductServiceIp() + PublicProductUrl.PRODUCT_SEARCH_URL, String.class, map);
+        if (org.apache.commons.lang.StringUtils.isNotEmpty(str)) {
+            SPage<Integer> page =  (SPage)JSONObject.parseObject(str, new TypeReference<SPage<Integer>>() {
+            }, new Feature[0]);
+            List<Integer> list = page.getContent();
+            List<Long> prids = new ArrayList<>();
+            for (Integer id : list) {
+                prids.add(Long.valueOf(id));
+            }
+            List<Product> products = productDao.findProductInId(prids);
+            return products;
+        }
+        return new ArrayList<>();
+    }
 }