Browse Source

地址不正确问题,友好提示

yfh 3 weeks ago
parent
commit
2bf1cb326e

+ 28 - 23
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -1853,29 +1853,34 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
         }
 
         String[] address = order.getUserAddress().split(" ");
-        if (address.length < 3) {
-            String kdnAddress = fsUserAddressService.getKdnAddress(order.getUserAddress());
-            Map<String, Object> addDAta = (Map<String, Object>) JSON.parse(kdnAddress);
-            Map<String, String> add = (Map<String, String>) addDAta.get("Data");
-            erpOrder.setReceiver_province(add.get("ProvinceName"));
-            erpOrder.setReceiver_city(add.get("CityName"));
-            erpOrder.setReceiver_district(add.get("ExpAreaName"));
-            erpOrder.setReceiver_address(add.get("StreetName") + add.get("Address"));
-        } else {
-            erpOrder.setReceiver_province(address[0]);
-            erpOrder.setReceiver_city(address[1]);
-            erpOrder.setReceiver_district(address[2]);
-            //处理地址多空隔问题
-            if (address.length > 3) {
-                StringBuffer addrs = new StringBuffer();
-                for (int i = 3; i < address.length; i++) {
-                    addrs.append(address[i]);
-                }
-                erpOrder.setReceiver_address(addrs.toString());
-            } else if (address.length == 3) {
-                erpOrder.setReceiver_address(address[2]);
-            }
-        }
+      try{
+          if (address.length < 3) {
+              String kdnAddress = fsUserAddressService.getKdnAddress(order.getUserAddress());
+              Map<String, Object> addDAta = (Map<String, Object>) JSON.parse(kdnAddress);
+              Map<String, String> add = (Map<String, String>) addDAta.get("Data");
+              erpOrder.setReceiver_province(add.get("ProvinceName"));
+              erpOrder.setReceiver_city(add.get("CityName"));
+              erpOrder.setReceiver_district(add.get("ExpAreaName"));
+              erpOrder.setReceiver_address(add.get("StreetName") + add.get("Address"));
+          } else {
+              erpOrder.setReceiver_province(address[0]);
+              erpOrder.setReceiver_city(address[1]);
+              erpOrder.setReceiver_district(address[2]);
+              //处理地址多空隔问题
+              if (address.length > 3) {
+                  StringBuffer addrs = new StringBuffer();
+                  for (int i = 3; i < address.length; i++) {
+                      addrs.append(address[i]);
+                  }
+                  erpOrder.setReceiver_address(addrs.toString());
+              } else if (address.length == 3) {
+                  erpOrder.setReceiver_address(address[2]);
+              }
+          }
+      }catch (Exception e){
+          log.error("地址错误:{}",e);
+          throw new CustomException("地址格式不对请正确写入详细地址!!");
+      }
         erpOrder.setReceiver_address(erpOrder.getReceiver_address().replace("+", "加"));
         erpOrder.setReceiver_address(erpOrder.getReceiver_address().replace("\n", ""));