Forráskód Böngészése

kd100添加收发货人手机号

yzc 1 éve
szülő
commit
a6b8a3fe01

+ 5 - 0
hx-kd100/src/main/java/com/fjhx/kd100/entity/logistics/po/LogisticsInfo.java

@@ -49,4 +49,9 @@ public class LogisticsInfo extends BasePo {
      */
     private String tableName;
 
+    /**
+     * 收/发件人手机号
+     */
+    private String phone;
+
 }

+ 23 - 7
hx-kd100/src/main/java/com/fjhx/kd100/util/KD100Util.java

@@ -38,12 +38,12 @@ public class KD100Util {
      * @param com 快递公司编码
      * @param num 快递单号
      */
-    public static KD100Result queryTrack(String com, String num) {
+    public static KD100Result queryTrack(String com, String num, String phone) {
         ConfigInfo configInfo = getConfigInfo();
-        return queryTrack(com, num, configInfo);
+        return queryTrack(com, num, phone, configInfo);
     }
 
-    public static KD100Result queryTrack(String com, String num, ConfigInfo configInfo) {
+    public static KD100Result queryTrack(String com, String num, String phone, ConfigInfo configInfo) {
         HttpResult httpResult;
 
         try {
@@ -51,6 +51,7 @@ public class KD100Util {
             QueryTrackParam queryTrackParam = new QueryTrackParam();
             queryTrackParam.setCom(com);
             queryTrackParam.setNum(num);
+            queryTrackParam.setPhone(phone);
             String param = JSON.toJSONString(queryTrackParam);
 
             // 快递100入参
@@ -84,11 +85,25 @@ public class KD100Util {
      * @param cls          数据库表映射实体
      */
     public static LogisticsInfo monitor(String com, String num, Long businessId, Integer businessType, Class<?> cls) {
+        return monitor(com, num, null, businessId, businessType, cls);
+    }
+
+    /**
+     * 获取快递状态并监听未到货快递
+     *
+     * @param com          快递公司编码
+     * @param num          快递单号
+     * @param businessId   业务id
+     * @param businessType 业务类型
+     * @param cls          数据库表映射实体
+     * @param phone        收/发件人手机号
+     */
+    public static LogisticsInfo monitor(String com, String num, String phone, Long businessId, Integer businessType, Class<?> cls) {
         // 查询快递100的物流信息
-        KD100Result result = KD100Util.queryTrack(com, num);
+        KD100Result result = KD100Util.queryTrack(com, num, phone);
         String message = result.getMessage();
         if (Objects.equals(message, "查询无结果,请隔段时间再查")) {
-            return saveInfo(com, num, KD100Status.STATUS_N, businessId, businessType, cls);
+            return saveInfo(com, num, phone, KD100Status.STATUS_N, businessId, businessType, cls);
         }
         if (Objects.equals(message, "ok")) {
             Integer state = result.getState();
@@ -101,7 +116,7 @@ public class KD100Util {
                     KD100Util.subscribe(com, num);
                 }
             }
-            return saveInfo(com, num, state, businessId, businessType, cls);
+            return saveInfo(com, num, phone, state, businessId, businessType, cls);
         } else {
             throw new ServiceException("快递100异常:" + message);
         }
@@ -207,12 +222,13 @@ public class KD100Util {
     /**
      * 保存快递信息
      */
-    private static LogisticsInfo saveInfo(String com, String num, Integer state, Long businessId, Integer businessType, Class<?> cls) {
+    private static LogisticsInfo saveInfo(String com, String num, String phone, Integer state, Long businessId, Integer businessType, Class<?> cls) {
 
         LogisticsInfo logisticsInfo = new LogisticsInfo();
         logisticsInfo.setCompany(com);
         logisticsInfo.setNumber(num);
         logisticsInfo.setState(state);
+        logisticsInfo.setPhone(phone);
         logisticsInfo.setBusinessId(businessId);
         logisticsInfo.setBusinessType(businessType);
         logisticsInfo.setTableName(getTableName(cls));