浏览代码

订单打印查询邮政编码从本地获取

wangxiaoming 5 年之前
父节点
当前提交
e9780d16e9

+ 4 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -443,6 +443,10 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             throw  new RuntimeException("交易号("+ mainOrder.getSalesDealCode() +")重复,请重新生成交易号!");
         }
 
+        if(mainOrder.getSalesAddressPostcode() == null){
+            throw  new RuntimeException("未获取到邮政编码信息,请检查地址信息!");
+        }
+
         if(mainOrder.getSalesCreateTime() == null){
             /*保证时间与以前一样*/
             mainOrder.setSalesCreateTime(new Date());

+ 2 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java

@@ -1064,6 +1064,8 @@ public class AdminOrderController {
                     for(EfastOrder efastOrderStyle:orderEfasts){
                         if(salesDealCode.equals(efastOrderStyle.getPlatformOrderId())){
                             efastOrderStyle.setStyleColor("color:red;");
+                            String msg = efastOrderStyle.getReturnMsg()==null?"":efastOrderStyle.getReturnMsg();
+                            efastOrderStyle.setReturnMsg(msg +"-"+e.getMessage());
                         }
                     }
                     newFaultNum ++;

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

@@ -302,13 +302,13 @@ public class AwaitSendController {
         }
         String addrDetails = salesOrderInfo.getSalesAddressInfo().substring(addrs[0].length() + addrs[1].length() + addrs[2].length() + 3);
         // 获取收件人邮编
-        String postCode = AddrUtil.getPostCode(addrs[2]);
-        if (postCode == null || "".equals(postCode)) {
-            postCode = AddrUtil.getPostCode(addrs[1]);
-        }
-        if (postCode == null || "".equals(postCode)) {
-            postCode = AddrUtil.getPostCode(addrs[0]);
-        }
+//        String postCode = AddrUtil.getPostCode(addrs[2]);
+//        if (postCode == null || "".equals(postCode)) {
+//            postCode = AddrUtil.getPostCode(addrs[1]);
+//        }
+//        if (postCode == null || "".equals(postCode)) {
+//            postCode = AddrUtil.getPostCode(addrs[0]);
+//        }
 
         Map<String, Object> receiver = new HashMap<String, Object>();
         receiver.put("Name", salesOrderInfo.getSalesAddressName());
@@ -317,7 +317,7 @@ public class AwaitSendController {
         receiver.put("CityName", addrs[1]);
         receiver.put("ExpAreaName", addrs[2]);
         receiver.put("Address", addrDetails);
-        receiver.put("PostCode", postCode);
+        receiver.put("PostCode", salesOrderInfo.getSalesAddressPostcode());
         eOrderRequestData.Receiver = (receiver);
         // 发件人信息
         Map<String, Object> sender = new HashMap<String, Object>();

+ 13 - 8
watero-rst-web/src/main/java/com/iamberry/rst/utils/ExcelUtil.java

@@ -813,19 +813,24 @@ public class ExcelUtil {
         }
 
         // 详细地址不能直接切割
-        if (addrs != null && addrs.length >= 4) {
+        if (addrs != null && addrs.length == 4) {
             // 防止区域数据出现小区 扰乱数据
             if (!addrs[2].contains("小区")) {
                 String address = AddrUtil.dealAddress(addrs[0].trim(), addrs[1].trim(), addrs[2].trim(), addrInfo, splitCharTemp, false);
                 return new String[]{addrs[0].trim(), addrs[1].trim(), addrs[2].trim(), address};
             }
-        } else if (addrs != null && addrs.length == 3) {
-            // 防止区域数据出现小区 扰乱数据
-            if (!addrs[1].contains("小区")) {
-                String address = AddrUtil.dealAddress(addrs[0].trim(), addrs[0].trim(), addrs[1].trim(), addrInfo, splitCharTemp, true);
-                return new String[]{addrs[0].trim(), addrs[0].trim(), addrs[1].trim(), address};
-            }
-        }
+        } else if (addrs != null && addrs.length > 4) {
+            String start = addrs[0].trim() + splitCharTemp + addrs[1].trim() + splitCharTemp +  addrs[2].trim() + splitCharTemp;
+            String addressInfo = addrInfo.substring(start.length(), addrInfo.length());
+            return new String[]{addrs[0].trim(), addrs[1].trim(), addrs[2].trim(), addressInfo};
+        }
+//        else if (addrs != null && addrs.length == 3) {
+//            // 防止区域数据出现小区 扰乱数据
+//            if (!addrs[1].contains("小区")) {
+//                String address = AddrUtil.dealAddress(addrs[0].trim(), addrs[0].trim(), addrs[1].trim(), addrInfo, splitCharTemp, true);
+//                return new String[]{addrs[0].trim(), addrs[0].trim(), addrs[1].trim(), address};
+//            }
+//        }
 
         for (String[] splits : PROVINCE_CITY_AERA_SPLIT) {
             // 每组独立切割字符单独循环