فهرست منبع

修改打单配置,从数据库获取数据

xian 5 سال پیش
والد
کامیت
cbab877f67

+ 8 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/tools/LogisticsInfo.java

@@ -57,6 +57,14 @@ public class LogisticsInfo implements Serializable {
         this.logisticsOnehundredCode = logisticsOnehundredCode;
     }
 
+    public String getLogisticsReamk() {
+        return logisticsReamk;
+    }
+
+    public void setLogisticsReamk(String logisticsReamk) {
+        this.logisticsReamk = logisticsReamk;
+    }
+
     public Date getCreateDate() {
         return createDate;
     }

+ 18 - 55
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AwaitSendController.java

@@ -239,8 +239,7 @@ public class AwaitSendController {
             List<ComplaintDetectInfo> listDetect  = complaintDetectInfoService.listComplaintDetectBySalesId(salesOrderInfo.getSalesOrderId());
             salesOrderInfo.setComplaintDetectInfoList(listDetect);
         }
-
-
+        assert salesOrderInfo != null;
         if (salesOrderInfo.getSalesShippingStatus() != 11) {
             return ResponseJson.getFAILURE().addResponseKeyValue("error","订单状态非通知配货,无法打印");
         }
@@ -253,67 +252,31 @@ public class AwaitSendController {
             LOGGER.error("{} 获取电子面单失败,原因:{}", orderId, "该订单没有绑定店铺或店铺没有发货人信息");
             return ResponseJson.getFAILURE().addResponseKeyValue("error","该订单没有绑定店铺或店铺没有发货人信息");
         }
-        /*
-         * 组装数据
-         */
-        post = salesOrderInfo.getSalesPostFirm();
-        EOrderRequestData eOrderRequestData = new EOrderRequestData();
-        eOrderRequestData.ShipperCode = (post);
-        // 传递订单到第三方平台进行操作,如果出现当前订单打印失败了需要重新的,需要更改我们系统订单号
+
+        // 获取物流公司的设置数据
+        LogisticsInfo logisticsInfo = new LogisticsInfo();
+        logisticsInfo.setLogisticsRstCode(salesOrderInfo.getSalesPostFirm());
+        List<LogisticsInfo> list = logisticsInfoService.getLogisticsInfoList(logisticsInfo);
+        if (list == null || list.isEmpty() || list.size() != 1 || list.get(0) == null || list.get(0).getLogisticsReamk() == null) {
+            return ResponseJson.getFAILURE().addResponseKeyValue("error","该订单未搜索到对应的物流公司" + salesOrderInfo.getSalesPostFirm());
+        }
+        logisticsInfo = list.get(0);
+        EOrderRequestData eOrderRequestData = JSONObject.parseObject(logisticsInfo.getLogisticsReamk(), EOrderRequestData.class);
+        if (eOrderRequestData == null) {
+            return ResponseJson.getFAILURE().addResponseKeyValue("error","物流公司未设置对应的数据" + salesOrderInfo.getSalesPostFirm());
+        }
+        // 组装通用数据
         eOrderRequestData.OrderCode = salesOrderInfo.getSalesOrderId();
         eOrderRequestData.PayType = (3);
-        eOrderRequestData.ExpType = ("1");
         eOrderRequestData.Cost = (0.00);
         eOrderRequestData.OtherCost = (0.0);
         eOrderRequestData.Remark = salesId.toString();
-        // 不同的快递公司需要做不同的处理
-        if (post.equalsIgnoreCase("EMS")) {
-            // 省内EMS
-            eOrderRequestData.CustomerName = ("90000009971400");
-            eOrderRequestData.CustomerPwd = ("90000009971400");
-        } else if (post.equalsIgnoreCase("SF")) {
-            // 顺丰
-            eOrderRequestData.MonthCode = ("7690035114");
-        } else if (post.equalsIgnoreCase("YZBK")) {
-            // 省外EMS
-            eOrderRequestData.CustomerName = ("90000009971400");
-            eOrderRequestData.CustomerPwd = ("90000009971400");
-            eOrderRequestData.ExpType = "9";
-            eOrderRequestData.ShipperCode = "EMS";
-        } else if (post.equalsIgnoreCase("STO")) {
-            // 申通快递
-            eOrderRequestData.CustomerName = ("爱贝源");
-            eOrderRequestData.CustomerPwd = ("sto87891799*");
-            eOrderRequestData.SendSite = ("广东东莞清溪分部");
-            eOrderRequestData.TemplateSize = ("130");
-        } else if (post.equalsIgnoreCase("DBL")) {
-            //德邦 (360特惠件)
-            eOrderRequestData.CustomerName = ("651476854");
-            eOrderRequestData.ExpType = ("2");
-        } else if (post.equalsIgnoreCase("SDDB")) {
-            // 上朵德邦(标准快递)
-            eOrderRequestData.CustomerName = ("S20140809-60390596");
-            eOrderRequestData.ExpType = ("3");
-            eOrderRequestData.ShipperCode = "DBL";
-        } else if (post.equalsIgnoreCase("YNEMS")) {
-            // 优尼雅省内EMS
-            eOrderRequestData.CustomerName = ("90000009827141");
-            eOrderRequestData.CustomerPwd = ("90000009827141");
-            eOrderRequestData.ShipperCode = "EMS";
-        } else if (post.equalsIgnoreCase("YWEMS")) {
-            // 优尼雅省外EMS
-            eOrderRequestData.CustomerName = ("90000009827141");
-            eOrderRequestData.CustomerPwd = ("90000009827141");
-            eOrderRequestData.ExpType = "9";
-            eOrderRequestData.ShipperCode = "EMS";
-        }
         // 收件人信息
         String[] addrs = salesOrderInfo.getSalesAddressInfo().split(" ");
         if (addrs.length <= 3) {
             addrs = salesOrderInfo.getSalesAddressInfo().split("-");
         }
         String addrDetails = salesOrderInfo.getSalesAddressInfo().substring(addrs[0].length() + addrs[1].length() + addrs[2].length() + 3);
-
         Map<String, Object> receiver = new HashMap<String, Object>();
         receiver.put("Name", salesOrderInfo.getSalesAddressName());
         receiver.put("Tel", salesOrderInfo.getSalesAddressTel());
@@ -344,7 +307,8 @@ public class AwaitSendController {
         int Goodsquantity = 0;
         for (SalesOrderItem temp : items) {
             goodName.append(temp.getProductAbbreviation())
-                    .append("(").append(temp.getColorAbbreviation()).append(")*").append(temp.getItemNum()).append(";");
+                    .append("(").append(temp.getColorAbbreviation()).append(")*")
+                    .append(temp.getItemNum()).append(";");
             if(temp.getColorIsWeight() != null){
                 colorIsWeight += temp.getColorIsWeight();
             }
@@ -358,12 +322,11 @@ public class AwaitSendController {
                if( i == 0){
                    goodName.append(detectInfo.getDetectNumber());
                }else{
-                   goodName.append(","+detectInfo.getDetectNumber());
+                   goodName.append(",").append(detectInfo.getDetectNumber());
                }
            }
            goodName.append("】");
         }
-
         // 20181113增加需求:产品名称后面增加打印订单日期
         goodName.append("【D").append(DateTimeUtil.format(new Date(), "MMdd")).append("】");
         String uuid = UUIDGenerator.getUUID().substring(0, 8);