|
|
@@ -29,11 +29,22 @@ public class PrescriptionTaskRecordServiceImpl implements PrescriptionTaskRecord
|
|
|
*/
|
|
|
@Override
|
|
|
public void generatePrescript() {
|
|
|
+ long startTime = System.currentTimeMillis();
|
|
|
+ log.info("处方生成定时任务开始执行");
|
|
|
+
|
|
|
List<PrescriptionTaskRecord> prescriptionTaskRecords = prescriptionTaskRecordMapper.selectPendingData();
|
|
|
+ log.info("查询到待处理的处方任务记录数量: {}", prescriptionTaskRecords.size());
|
|
|
+
|
|
|
+ int successCount = 0;
|
|
|
+ int failCount = 0;
|
|
|
+
|
|
|
for (PrescriptionTaskRecord record : prescriptionTaskRecords) {
|
|
|
+ log.info("开始处理处方任务,处方ID: {}", record.getPrescribeId());
|
|
|
+
|
|
|
try{
|
|
|
FsPrescribe fsPrescribe = fsPrescribeService.selectFsPrescribeByPrescribeId(record.getPrescribeId());
|
|
|
if(fsPrescribe == null) {
|
|
|
+ log.warn("处方不存在,处方ID: {}", record.getPrescribeId());
|
|
|
throw new IllegalArgumentException(String.format("处方 %d 没有找到!",record.getPrescribeId()));
|
|
|
}
|
|
|
String prescribeImgUrl = fsPrescribeService.PrescribeImgYsy(record.getPrescribeId());
|
|
|
@@ -42,15 +53,26 @@ public class PrescriptionTaskRecordServiceImpl implements PrescriptionTaskRecord
|
|
|
|
|
|
record.setPrescribeUrl(prescribeImgUrl);
|
|
|
record.setExecuteStatus(2);
|
|
|
+ log.info("处方任务处理成功,处方ID: {}", record.getPrescribeId());
|
|
|
+ successCount++;
|
|
|
+
|
|
|
}catch (Exception e) {
|
|
|
log.error("生成处方 {} 失败!",record.getPrescribeId(),e);
|
|
|
record.setExecuteStatus(3);
|
|
|
record.setRetryCount(record.getRetryCount()+1);
|
|
|
record.setUpdateTime(LocalDateTime.now());
|
|
|
record.setErrorMessage(ExceptionUtils.getFullStackTrace(e));
|
|
|
+ failCount++;
|
|
|
+
|
|
|
}finally {
|
|
|
prescriptionTaskRecordMapper.updateById(record);
|
|
|
+ log.info("处方任务记录更新完成,处方ID: {}, 执行状态: {}",
|
|
|
+ record.getPrescribeId(), record.getExecuteStatus());
|
|
|
}
|
|
|
}
|
|
|
+ long endTime = System.currentTimeMillis();
|
|
|
+ long costTime = endTime - startTime;
|
|
|
+ log.info("处方生成定时任务执行完成,总处理: {}条,成功: {}条,失败: {}条,耗时: {}毫秒",
|
|
|
+ prescriptionTaskRecords.size(), successCount, failCount, costTime);
|
|
|
}
|
|
|
}
|