Merge branch 'master' of http://git.xdadan.loc/tanex/emis-service into develop

This commit is contained in:
aike 2025-11-27 10:34:26 +08:00
commit cb31dd1901

View File

@ -137,6 +137,9 @@ public class EmisCommonController extends EmisBaseController
@Autowired @Autowired
private IEmisWaybillExternalService emisWaybillExternalService; private IEmisWaybillExternalService emisWaybillExternalService;
@Autowired
private IEmisTransLineService emisTransLineService;
/** /**
* 在线支付回调 * 在线支付回调
* @param method * @param method
@ -959,11 +962,44 @@ public class EmisCommonController extends EmisBaseController
// 这样即使异步任务没有正确清除状态,也会在30分钟后自动过期 // 这样即使异步任务没有正确清除状态,也会在30分钟后自动过期
redissonService.setStr(statusKey, "RUNNING", 1800); redissonService.setStr(statusKey, "RUNNING", 1800);
// 异步执行任务 // 如果lineCode为空,查询所有线路的lineCode,去重后循环调用
emisTmsSiteBatchMissService.autoScanSiteBatch(lineCode); if (StringUtils.isEmpty(lineCode)) {
log.info("autoScanSiteBatch async task started"); log.info("lineCode is empty, querying all line codes");
EmisTransLine queryLine = new EmisTransLine();
// queryLine.setStatus(1); // 只查询启用的线路
List<EmisTransLine> lineList = emisTransLineService.selectEmisTransLineList(queryLine);
return AjaxResult.success("异步任务已启动,请稍后查看执行结果"); // 提取lineCode并去重
Set<String> lineCodeSet = new LinkedHashSet<>();
if (!CollectionUtils.isEmpty(lineList)) {
for (EmisTransLine line : lineList) {
if (StringUtils.isNotEmpty(line.getLineCode())) {
lineCodeSet.add(line.getLineCode());
}
}
}
log.info("Found {} unique line codes, starting batch processing", lineCodeSet.size());
// 循环调用
for (String code : lineCodeSet) {
try {
emisTmsSiteBatchMissService.autoScanSiteBatch(code);
log.info("autoScanSiteBatch processed for lineCode: {}", code);
} catch (Exception e) {
log.error("autoScanSiteBatch failed for lineCode: {}, error: {}", code, e.getMessage());
// 继续处理下一个,不中断整个流程
}
}
log.info("autoScanSiteBatch async task started for all line codes");
return AjaxResult.success("异步任务已启动,共处理 " + lineCodeSet.size() + " 个线路,请稍后查看执行结果");
} else {
// 异步执行任务
emisTmsSiteBatchMissService.autoScanSiteBatch(lineCode);
log.info("autoScanSiteBatch async task started for lineCode: {}", lineCode);
return AjaxResult.success("异步任务已启动,请稍后查看执行结果");
}
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();