Ver código fonte

更新平台获取物料数据的方法

hejq 7 anos atrás
pai
commit
85dd7f2119

+ 7 - 0
src/main/java/com/uas/platform/b2b/controller/BaseInfoController.java

@@ -168,6 +168,8 @@ public class BaseInfoController {
 		logger.log("查看产品", SystemSession.getUser().getUserName() + "查看了产品信息(全部)");
 		PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("isSale", Constant.YES);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		/*pageInfo.filter("b2bDisabled", Constant.NO);*/
 		return productService.findB2bEnabledProductInfoByPageInfo(pageInfo, keyword);
 	}
 
@@ -181,6 +183,8 @@ public class BaseInfoController {
 		PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("isSale", Constant.YES);
 		pageInfo.filter("standard", Constant.YES);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		/*pageInfo.filter("b2bDisabled", Constant.NO);*/
 		return productService.findB2bEnabledProductInfoByPageInfo(pageInfo, keyword);
 	}
 
@@ -193,6 +197,9 @@ public class BaseInfoController {
 		logger.log("查看产品", SystemSession.getUser().getUserName() + "查看了产品信息(非标准)");
 		PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("isSale", Constant.YES);
+		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+        pageInfo.filter("standard", Constant.NO);
+		/*pageInfo.filter("b2bDisabled", Constant.NO);*/
 		return productService.findNotStandardB2bEnabledProductInfoByPageInfo(pageInfo, keyword);
 	}
 

+ 6 - 11
src/main/java/com/uas/platform/b2b/controller/ProductController.java

@@ -196,6 +196,8 @@ public class ProductController {
 	@ResponseBody
 	public SPage<Product> getProductInfo(PageParams params, String keyword) {
 		PageInfo pageInfo = new PageInfo(params);
+        pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+        /*pageInfo.filter("b2bDisabled", Constant.NO);*/
 		return productService.findB2bEnabledProductInfoByPageInfo(pageInfo, keyword);
 	}
 
@@ -211,6 +213,8 @@ public class ProductController {
 	public SPage<Product> getProductInfoStandard(PageParams params, String keyword) {
 		PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("standard", Constant.YES);
+        pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+        /*pageInfo.filter("b2bDisabled", Constant.NO);*/
 		return productService.findB2bEnabledProductInfoByPageInfo(pageInfo, keyword);
 	}
 
@@ -226,6 +230,8 @@ public class ProductController {
 	public SPage<Product> getProductInfoNonStandard(PageParams params, String keyword) {
 		PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("standard", Constant.NO);
+        pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+        /*pageInfo.filter("b2bDisabled", Constant.NO);*/
 		return productService.findB2bEnabledProductInfoByPageInfo(pageInfo, keyword);
 	}
 
@@ -553,17 +559,6 @@ public class ProductController {
 		return productService.updateall(status, type, idStrings);
 	}
 
-	/**
-	 * 全部更新
-	 * 
-	 * @return
-	 */
-	// @RequestMapping(value = "/updateByEn", method = RequestMethod.POST)
-	// @ResponseBody
-	// public ModelMap updateByEn() {
-	// return productService.updateByEn();
-	// }
-	
 	/**
 	 * 单个匹配
 	 * 

+ 75 - 0
src/main/java/com/uas/platform/b2b/ps/ProductUtils.java

@@ -2,14 +2,18 @@ package com.uas.platform.b2b.ps;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.alibaba.fastjson.parser.Feature;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.ProductInfo;
 import com.uas.platform.b2b.model.ProductUsers;
 import com.uas.platform.b2b.support.SysConf;
+import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.util.HttpUtil;
 import com.uas.platform.core.util.HttpUtil.Response;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import com.uas.sso.support.Page;
 import org.apache.commons.collections.map.HashedMap;
 import org.apache.http.protocol.HTTP;
 import org.apache.log4j.Logger;
@@ -420,4 +424,75 @@ public class ProductUtils {
         }
         return null;
     }
+
+    /**
+     * 用idList查询物料信息
+     *
+     * @param idList idList
+     * @return
+     */
+    public static List<Product> findByIds(List<Long> idList) {
+        Response res = null;
+        try {
+            HashMap<String, Object> map = new HashMap<>(1);
+            map.put("ids", ListToString(idList, ","));
+            res = HttpUtil.sendGetRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/get/findByEnUUAndCode", map);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        if (HttpStatus.OK.value() == res.getStatusCode()) {
+            return JSONObject.parseArray(res.getResponseText(), Product.class);
+        } else {
+            logger.error("findByIds http response status error: " + res.getStatusCode());
+        }
+        return null;
+    }
+
+    /**
+     * 通过分页参数查询物料信息
+     *
+     * @param pageInfo 分页信息
+     * @param keyword  关键字
+     * @return
+     */
+    public static Page<Product> findByPageInfo(PageInfo pageInfo, String keyword) {
+        pageInfo.setSort(null);
+        Response res = null;
+        try {
+            JSONObject formData = JSON.parseObject(JSON.toJSONString(pageInfo));
+            if (null != keyword) {
+                formData.put("keyword", keyword);
+            }
+            res = HttpUtil.sendGetRequest(PRODUCT_PUBLIC_SERVICE_URL + "/product/get/findByPageInfo", formData);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        if (HttpStatus.OK.value() == res.getStatusCode()) {
+            return (Page)JSONObject.parseObject(res.getResponseText(), new TypeReference<Page<Product>>() {
+            }, new Feature[0]);
+        } else {
+            logger.error("findByPageInfo http response status error: " + res.getStatusCode());
+        }
+        return null;
+    }
+
+    /**
+     * 将List转为StringBuffer
+     *
+     * @param idList id
+     * @param mark 符号
+     * @return
+     */
+    private static StringBuffer ListToString(List<Long> idList, String mark) {
+        StringBuffer buffer = new StringBuffer();
+        idList.forEach(id -> {
+            if (buffer.length() > 0) {
+                buffer.append(mark);
+            }
+            buffer.append(id);
+        });
+        return buffer;
+    }
+
+
 }

+ 2 - 1
src/main/java/com/uas/platform/b2b/search/SearchServiceImpl.java

@@ -8,6 +8,7 @@ import com.uas.platform.b2b.erp.model.B2BVendor;
 import com.uas.platform.b2b.erp.model.SaleTenderErp;
 import com.uas.platform.b2b.erp.model.SaleTenderItemErp;
 import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.service.BrandService;
 import com.uas.platform.b2b.service.ComponentService;
 import com.uas.platform.b2b.service.KindService;
@@ -776,7 +777,7 @@ public class SearchServiceImpl implements com.uas.platform.b2b.search.SearchServ
 		if (idsPage.getContent().size() > SplitArray.QUERY_MAX_NUMBER) {
 			List<List<Long>> idLists = SplitArray.splitAry(idsPage.getContent(), SplitArray.QUERY_MAX_NUMBER);
 			for (List<Long> idList : idLists) {
-				List<Product> products = productDao.findAll(idList);
+				List<Product> products = ProductUtils.findByIds(idList);
 				content.addAll(products);
 			}
 		} else {

+ 4 - 15
src/main/java/com/uas/platform/b2b/service/impl/ProductServiceImpl.java

@@ -8,6 +8,7 @@ import com.uas.platform.b2b.ps.ProductUtils;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.ComponentService;
 import com.uas.platform.b2b.service.ProductService;
+import com.uas.platform.b2b.support.SPageUtils;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
 import com.uas.platform.b2b.temporary.model.UpdateByBatchParameter;
@@ -385,25 +386,13 @@ public class ProductServiceImpl implements ProductService {
 	@Override
 	public SPage<Product> findProductInfoByPageInfo(PageInfo pageInfo, String keyword) {
 		Page<Product> products = findAllProudctByPageInfo(pageInfo, keyword);
-		SPage<Product> prods = new SPage<Product>();
-		prods.setContent(products.getContent());
-		prods.setPage(products.getNumber());
-		prods.setSize(products.getSize());
-		prods.setTotalElement(products.getTotalElements());
-		prods.setTotalPage(products.getTotalPages());
-		return prods;
+		return SPageUtils.covertSPage(products);
 	}
 
 	@Override
 	public SPage<Product> findB2bEnabledProductInfoByPageInfo(PageInfo pageInfo, String keyword) {
-		Page<Product> products = findAllB2bEnabledProudctByPageInfo(pageInfo, keyword);
-		SPage<Product> prods = new SPage<Product>();
-		prods.setContent(products.getContent());
-		prods.setPage(products.getNumber());
-		prods.setSize(products.getSize());
-		prods.setTotalElement(products.getTotalElements());
-		prods.setTotalPage(products.getTotalPages());
-		return prods;
+		com.uas.sso.support.Page<Product> products = ProductUtils.findByPageInfo(pageInfo, keyword);
+		return SPageUtils.covert(products);
 	}
 
     /**

+ 14 - 1
src/test/java/com/uas/platform/b2b/purc/PurchaseNotify.java

@@ -3,11 +3,15 @@ package com.uas.platform.b2b.purc;
 import com.uas.platform.b2b.BaseJunitTest;
 import com.uas.platform.b2b.dao.PurchaseNoticeDao;
 import com.uas.platform.b2b.dao.PurchaseOrderItemDao;
+import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.model.PurchaseNotice;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
+import com.uas.platform.b2b.ps.ProductUtils;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
+import com.uas.sso.support.Page;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.test.context.transaction.TransactionConfiguration;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.persistence.EntityManager;
@@ -127,4 +131,13 @@ public class PurchaseNotify extends BaseJunitTest {
         return notice;
     }
 
+    @Test
+    public void test() {
+        PageParams params = new PageParams();
+        params.setCount(20);
+        params.setPage(1);
+        PageInfo pageInfo = new PageInfo(params);
+        Page<Product> productPage = ProductUtils.findByPageInfo(pageInfo, null);
+        System.out.println(productPage);
+    }
 }