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

替代物料添加产品库接口,url参数encode设置

dongbw 7 лет назад
Родитель
Сommit
991ee8404d

+ 4 - 1
src/main/java/com/uas/ps/inquiry/service/impl/InquiryForSaleServiceImpl.java

@@ -54,6 +54,7 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
+import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
@@ -318,7 +319,7 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
             // 如果是替代料报价,则增加参数
             if (Constant.YES == inquiryItem.getIsReplace() && !StringUtils.isEmpty(inquiryItem.getReplaceCmpCode())
                     && !StringUtils.isEmpty(inquiryItem.getReplaceBrand())) {
-                url = url + "?replaceCmpCode=" + inquiryItem.getReplaceCmpCode() + "&replaceBrand=" + inquiryItem.getReplaceBrand();
+                url = url + "?replaceCmpCode=" + URLEncoder.encode(inquiryItem.getReplaceCmpCode(), "UTF-8") + "&replaceBrand=" + URLEncoder.encode(inquiryItem.getReplaceBrand(), "UTF-8");
             }
             long start = System.currentTimeMillis();
             String res = HttpUtil.doPost(url, FlexJsonUtils.toJsonDeep(product));
@@ -332,6 +333,8 @@ public class InquiryForSaleServiceImpl implements InquiryForSaleService {
                 logger.log("报价成功后保存到个人物料库", "保存报价id【" + inquiryItem.getId() + "】到个人物料库失败", result.get("message").toString(), product.getUserUU(), product.getEnUU(), inquiryItem.getSource());
             }
         } catch (Exception e) {
+            log.info("/product/save/inquiry 报价成功后保存到个人物料库中 出错:" + e.getMessage());
+            e.printStackTrace();
             String reason = e.getMessage().length() > 10 ? e.getMessage().substring(0, 999).concat("") : e.getMessage();
             logger.log("报价成功后保存到个人物料库", "保存报价id【" + inquiryItem.getId() + "】到个人物料库失败", reason, product.getUserUU(), product.getEnUU(), inquiryItem.getSource());
         }

+ 24 - 22
src/main/java/com/uas/ps/inquiry/service/impl/InquiryServiceImpl.java

@@ -57,6 +57,7 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashSet;
@@ -450,34 +451,35 @@ public class InquiryServiceImpl implements InquiryService {
     private void addProductReplace(PublicInquiryItem item) {
         if (null != item.getIsReplace() && Constant.YES == item.getIsReplace() && !StringUtils.isEmpty(item.getReplaceCmpCode())
                 && !StringUtils.isEmpty(item.getReplaceBrand())) {
-            String url = PS_PRODUCT_URL + "/product/save/inquiry?replaceCmpCode=" + item.getReplaceCmpCode()
-                    + "&replaceBrand=" + item.getReplaceBrand();
-            Product product;
-            if (null != item.getProductId()) {
-                product = productDao.findOne(item.getProductId());
-                product.setUserUU(item.getInquiry().getRecorderUU());
-            } else {
-                product = new Product();
-                // 需要哪些字段
-                product.setEnUU(item.getInquiry().getEnUU());
-                product.setUserUU(item.getInquiry().getRecorderUU());
-                product.setCmpCode(item.getCmpCode());
-                product.setBrand(item.getInbrand());
-                product.setpCmpCode(item.getCmpCode());
-                product.setpBrandEn(item.getInbrand());
-                product.setStandard((short) 0);
-                product.setCreateTime(new Date());
-                product.setSourceApp(item.getInquiry().getSourceApp());
-                product.setSpec(StringUtils.isEmpty(item.getSpec()) ? item.getCmpCode() : item.getSpec());
-                product.setKind(item.getProdTitle());
-
-            }
             try {
+                String url = PS_PRODUCT_URL + "/product/save/inquiry?replaceCmpCode=" + URLEncoder.encode(item.getReplaceCmpCode(), "UTF-8")
+                        + "&replaceBrand=" + URLEncoder.encode(item.getReplaceBrand(), "UTF-8");
+                Product product;
+                if (null != item.getProductId()) {
+                    product = productDao.findOne(item.getProductId());
+                    product.setUserUU(item.getInquiry().getRecorderUU());
+                } else {
+                    product = new Product();
+                    // 需要哪些字段
+                    product.setEnUU(item.getInquiry().getEnUU());
+                    product.setUserUU(item.getInquiry().getRecorderUU());
+                    product.setCmpCode(item.getCmpCode());
+                    product.setBrand(item.getInbrand());
+                    product.setpCmpCode(item.getCmpCode());
+                    product.setpBrandEn(item.getInbrand());
+                    product.setStandard((short) 0);
+                    product.setCreateTime(new Date());
+                    product.setSourceApp(item.getInquiry().getSourceApp());
+                    product.setSpec(StringUtils.isEmpty(item.getSpec()) ? item.getCmpCode() : item.getSpec());
+                    product.setKind(item.getProdTitle());
+
+                }
                 long start = System.currentTimeMillis();
                 String res = HttpUtil.doPost(url, FlexJsonUtils.toJsonDeep(product));
                 log.info("/product/save/inquiry 耗时:" + (System.currentTimeMillis() - start));
                 log.info("采纳替代物料报价,添加替代物料返回" + res);
             } catch (Exception e) {
+                log.info("/product/save/inquiry 替代料报价采纳之后保存到个人物料库中 出错:" + e.getMessage());
                 e.printStackTrace();
             }
         }