Browse Source

处理根据型号获取指定企业下的物料信息

yujia 7 years ago
parent
commit
348871772c

+ 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/searchProducts?page={page}&size={size}&keyword={keyword}&filters={filters}&keywordSearchColumns={keywordSearchColumns}";
+}

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

@@ -427,7 +427,7 @@ public class ProductController {
 	 * @return
 	 */
 	@RequestMapping(value = "/keyword", method = RequestMethod.GET)
-	public List<Product> getProductsByKeyword(String keyword) {
-		return new ArrayList<>();
+	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);
 }

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

@@ -20,6 +20,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 +2491,38 @@ 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());
+        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)) {
+            JSONObject jsonObject = FlexJsonUtils.fromJson(str, JSONObject.class);
+            String content = jsonObject.getString("content");
+            if (org.apache.commons.lang.StringUtils.isNotEmpty(content)) {
+                List<Product> jsonArray = FlexJsonUtils.fromJsonArray(content, Product.class);
+                return jsonArray;
+            }
+        }
+        return new ArrayList<>();
+    }
 }