|
|
|
@ -125,6 +125,8 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
|
|
|
|
|
case ThirdSysConstant.ORDER_QUERY_URL:
|
|
|
|
|
downloadThrOrder(thrSystemDetailEntity);
|
|
|
|
|
break;
|
|
|
|
|
case ThirdSysConstant.PI_SUBMIT_URL:
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
//其他接口暂不处理
|
|
|
|
|
break;
|
|
|
|
@ -269,6 +271,29 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 上传第三方产品信息
|
|
|
|
|
*
|
|
|
|
|
* @param thrSystemDetailEntity
|
|
|
|
|
*/
|
|
|
|
|
private void submitThrProduct(ThrSystemDetailEntity thrSystemDetailEntity) {
|
|
|
|
|
//校验任务并更新redis数据执行标识
|
|
|
|
|
if (verifyTask(thrSystemDetailEntity)) {
|
|
|
|
|
getExecutor().submit(() -> {
|
|
|
|
|
log.info("开始下载第三方业务单据");
|
|
|
|
|
try {
|
|
|
|
|
thrProductsService.uploadThrProduct(thrSystemDetailEntity);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("下载第三方业务单据", e);
|
|
|
|
|
} finally {
|
|
|
|
|
updateTask(getTaskKey(thrSystemDetailEntity));
|
|
|
|
|
}
|
|
|
|
|
log.info("第三方业务单据下载完成");
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 更新任务状态为已完成
|
|
|
|
|
*
|
|
|
|
@ -289,7 +314,7 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
|
|
|
|
|
*/
|
|
|
|
|
private boolean verifyTask(ThrSystemDetailEntity thrSystemDetailEntity) {
|
|
|
|
|
String taskKey = getTaskKey(thrSystemDetailEntity);
|
|
|
|
|
ThirdSysInterfaceExecuteVo vo = getLastResult(taskKey);
|
|
|
|
|
ThirdSysInterfaceExecuteVo vo = getLastResult(taskKey);
|
|
|
|
|
if (null != vo && !vo.isFinished()) {
|
|
|
|
|
log.info(vo.getKey() + "有任务尚未执行完成,当前任务key:{}", taskKey);
|
|
|
|
|
return false;
|
|
|
|
@ -298,12 +323,12 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
|
|
|
|
|
if (vo != null) {
|
|
|
|
|
long lastTime = vo.getNextTime();
|
|
|
|
|
|
|
|
|
|
long timeInterval = Long.parseLong(thrSystemDetailEntity.getTime().intValue() + "") * 1000 * 60;
|
|
|
|
|
long timeInterval = Long.parseLong(thrSystemDetailEntity.getTime().intValue() + "") * 1000 * 60;
|
|
|
|
|
if (curTime - lastTime < timeInterval) {
|
|
|
|
|
log.info("定时任务时间未到---" + taskKey);
|
|
|
|
|
return false;
|
|
|
|
|
} else {
|
|
|
|
|
return true;
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
vo = Optional.ofNullable(vo).orElse(new ThirdSysInterfaceExecuteVo());
|
|
|
|
|