|
@@ -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);
|
|
|
|
|
|
|
|
@@ -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) {
|
|
|
|
|
|
- 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));
|