代码重构:增强代码可读性和维护性

重构QuartzJobFactory类以提高代码清晰度和可维护性。调整代码格式,优化if条件语句,并精简方法参数对齐。通过这些改进,增强了代码的可读性和逻辑流程。此外,确保代码注释详细,提升文档质量。
This commit is contained in:
liuy 2024-09-25 16:03:30 +08:00
parent 955e840eb2
commit 4feba7099f
1 changed files with 32 additions and 39 deletions

View File

@ -36,6 +36,7 @@ public class QuartzJobFactory implements Job {
private IIntegrationTaskLogDao integrationTaskLogDao; private IIntegrationTaskLogDao integrationTaskLogDao;
@Resource @Resource
private ISysApplicationDatabaseDao sysApplicationDatabaseDao; private ISysApplicationDatabaseDao sysApplicationDatabaseDao;
@Override @Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
//当前开始时间 //当前开始时间
@ -57,25 +58,24 @@ public class QuartzJobFactory implements Job {
String integrationTaskLivingId = jobDetails.getString("integrationTaskLivingId"); String integrationTaskLivingId = jobDetails.getString("integrationTaskLivingId");
IntegrationTaskLivingEntity integrationTaskLivingEntity = iIntegrationTaskCacheableService.getIntegrationTaskLivingEntity(integrationTaskLivingId); IntegrationTaskLivingEntity integrationTaskLivingEntity = iIntegrationTaskCacheableService.getIntegrationTaskLivingEntity(integrationTaskLivingId);
if(integrationTaskEntity == null || integrationTaskEntity.getId() == null || "".equals(integrationTaskEntity.getId())){ if (integrationTaskEntity == null || integrationTaskEntity.getId() == null || "".equals(integrationTaskEntity.getId())) {
logger.error("当前任务不存在,请联系管理员"); logger.error("当前任务不存在,请联系管理员");
return; return;
} }
if(integrationTaskLivingEntity == null || integrationTaskLivingEntity.getId() == null || "".equals(integrationTaskLivingEntity.getId())){ if (integrationTaskLivingEntity == null || integrationTaskLivingEntity.getId() == null || "".equals(integrationTaskLivingEntity.getId())) {
logger.error("当前任务实例不存在,请联系管理员"); logger.error("当前任务实例不存在,请联系管理员");
return; return;
} }
if(integrationTaskLivingEntity.getOldStartTime() != null ){ if (integrationTaskLivingEntity.getOldStartTime() != null) {
oldStartTime = integrationTaskLivingEntity.getOldStartTime(); oldStartTime = integrationTaskLivingEntity.getOldStartTime();
} }
//判断任务是否启用存在不启用情况需要手动把任务关闭 //判断任务是否启用存在不启用情况需要手动把任务关闭
if(integrationTaskEntity.getTaskStatus() != null && !"1".equals(integrationTaskEntity.getTaskStatus())){ if (integrationTaskEntity.getTaskStatus() != null && !"1".equals(integrationTaskEntity.getTaskStatus())) {
saveLivingAndDetail(integrationTaskLivingEntity,null, saveLivingAndDetail(integrationTaskLivingEntity, null, "4", "4", "当前任务已停止,不执行任务", startTime, startTime, new Date());
"4","4","当前任务已停止,不执行任务",startTime,startTime,new Date());
JSONObject stopJson = new JSONObject(); JSONObject stopJson = new JSONObject();
stopJson.put("jobName",integrationTaskEntity.getTaskName()); stopJson.put("jobName", integrationTaskEntity.getTaskName());
stopJson.put("jobCode",integrationTaskEntity.getTaskCode()); stopJson.put("jobCode", integrationTaskEntity.getTaskCode());
QuartzJobFactoryUtils.pauseTrigger(stopJson); QuartzJobFactoryUtils.pauseTrigger(stopJson);
return; return;
} }
@ -103,9 +103,8 @@ public class QuartzJobFactory implements Job {
iIntegrationTaskCacheableService.updateIntegrationTaskLivingEntity(integrationTaskLivingEntity); iIntegrationTaskCacheableService.updateIntegrationTaskLivingEntity(integrationTaskLivingEntity);
//判断插件是否启用 //判断插件是否启用
SysApplicationPluginEntity sysApplicationPluginEntity = iIntegrationTaskCacheableService.getSysApplicationPluginEntity(integrationTaskEntity.getTaskPlugin()); SysApplicationPluginEntity sysApplicationPluginEntity = iIntegrationTaskCacheableService.getSysApplicationPluginEntity(integrationTaskEntity.getTaskPlugin());
if(sysApplicationPluginEntity == null || sysApplicationPluginEntity.getPluginCode() == null || !"1".equals(sysApplicationPluginEntity.getPluginStatus())){ if (sysApplicationPluginEntity == null || sysApplicationPluginEntity.getPluginCode() == null || !"1".equals(sysApplicationPluginEntity.getPluginStatus())) {
saveLivingAndDetail(integrationTaskLivingEntity, integrationTaskLogEntity, saveLivingAndDetail(integrationTaskLivingEntity, integrationTaskLogEntity, "2", "3", "插件未启用,不执行任务", startTime, startTime, new Date());
"2","3","插件未启用,不执行任务",startTime,startTime,new Date());
return; return;
} }
String sourceCode = null; String sourceCode = null;
@ -114,68 +113,62 @@ public class QuartzJobFactory implements Job {
sysApplicationDatabaseEntity.setAppId(sysApplicationPluginEntity.getAppId()); sysApplicationDatabaseEntity.setAppId(sysApplicationPluginEntity.getAppId());
sysApplicationDatabaseEntity.setSts("Y"); sysApplicationDatabaseEntity.setSts("Y");
List<SysApplicationDatabaseEntity> sysApplicationDatabaseEntities = sysApplicationDatabaseDao.queryBase(sysApplicationDatabaseEntity); List<SysApplicationDatabaseEntity> sysApplicationDatabaseEntities = sysApplicationDatabaseDao.queryBase(sysApplicationDatabaseEntity);
if(sysApplicationDatabaseEntities != null && sysApplicationDatabaseEntities.size() == 1){ if (sysApplicationDatabaseEntities != null && sysApplicationDatabaseEntities.size() == 1) {
sourceCode = sysApplicationDatabaseEntities.get(0).getSourceCode(); sourceCode = sysApplicationDatabaseEntities.get(0).getSourceCode();
} }
//查找插件 //查找插件
PluginBaseEntity pluginBaseEntity = PluginUtils.getPluginsById(sysApplicationPluginEntity.getPluginCode()); PluginBaseEntity pluginBaseEntity = PluginUtils.getPluginsById(sysApplicationPluginEntity.getPluginCode());
if(pluginBaseEntity == null ){ if (pluginBaseEntity == null) {
saveLivingAndDetail(integrationTaskLivingEntity, integrationTaskLogEntity, saveLivingAndDetail(integrationTaskLivingEntity, integrationTaskLogEntity, "2", "3", "插件未找到,不执行任务", startTime, startTime, new Date());
"2","3","插件未找到,不执行任务",startTime,startTime,new Date());
return; return;
} }
//调用插件 //调用插件
JSONObject req = new JSONObject(); JSONObject req = new JSONObject();
req.put("startTime",oldStartTime); req.put("startTime", oldStartTime);
req.put("endTime",startTime); req.put("endTime", startTime);
req.put("sourceCode",sourceCode); req.put("sourceCode", sourceCode);
try { try {
JsonResultEntity jsonResultEntity = pluginBaseEntity.executeBusiness(req); JsonResultEntity jsonResultEntity = pluginBaseEntity.executeBusiness(req);
if(jsonResultEntity.isFlag()){ if (jsonResultEntity.isFlag()) {
//写日志修改任务实例 //写日志修改任务实例
saveLivingAndDetail(integrationTaskLivingEntity, integrationTaskLogEntity, saveLivingAndDetail(integrationTaskLivingEntity, integrationTaskLogEntity, "2", "2", jsonResultEntity.getMsg(), startTime, startTime, new Date());
"2","2",jsonResultEntity.getMsg(),startTime,startTime,new Date()); } else {
}else {
//写日志修改任务实例 //写日志修改任务实例
saveLivingAndDetail(integrationTaskLivingEntity, integrationTaskLogEntity, saveLivingAndDetail(integrationTaskLivingEntity, integrationTaskLogEntity, "3", "3", jsonResultEntity.getMsg(), startTime, startTime, new Date());
"3","3",jsonResultEntity.getMsg(),startTime,startTime,new Date());
} }
} catch (Exception e) { } catch (Exception e) {
saveLivingAndDetail(integrationTaskLivingEntity, integrationTaskLogEntity, saveLivingAndDetail(integrationTaskLivingEntity, integrationTaskLogEntity, "3", "3", "插件执行失败,请联系管理员", startTime, startTime, new Date());
"3","3","插件执行失败,请联系管理员",startTime,startTime,new Date()); logger.error("插件执行失败:" + e.getMessage());
logger.error("插件执行失败:"+e.getMessage());
} }
} }
/** /**
* @Author lvleigang
* @Description 保存任务日志
* @Date 3:07 下午 2024/5/7
* @param integrationTaskLivingEntity 任务实例 * @param integrationTaskLivingEntity 任务实例
* @param livingtype 1执行中2待执行3错误 4当前任务已停止 * @param livingtype 1执行中2待执行3错误 4当前任务已停止
* @param detailtype 1执行中2执行成功 3执行失败 4\当前任务已停止 * @param detailtype 1执行中2执行成功 3执行失败 4\当前任务已停止
* @param msg * @param msg
* @return void * @return void
* @Author lvleigang
* @Description 保存任务日志
* @Date 3:07 下午 2024/5/7
**/ **/
private void saveLivingAndDetail(IntegrationTaskLivingEntity integrationTaskLivingEntity, private void saveLivingAndDetail(IntegrationTaskLivingEntity integrationTaskLivingEntity, IntegrationTaskLogEntity integrationTaskLogEntity, String livingtype, String detailtype, String msg, Date oldStartTime, Date startTime, Date endTime) {
IntegrationTaskLogEntity integrationTaskLogEntity,
String livingtype,String detailtype, String msg,Date oldStartTime,Date startTime,Date endTime) {
Long interval = (endTime.getTime() - startTime.getTime()) / (1000); // 计算间隔天数 Long interval = (endTime.getTime() - startTime.getTime()) / (1000); // 计算间隔天数
integrationTaskLivingEntity.setTaskStatus(livingtype);//待执行 integrationTaskLivingEntity.setTaskStatus(livingtype);//待执行
integrationTaskLivingEntity.setOldStartTime(oldStartTime); integrationTaskLivingEntity.setOldStartTime(oldStartTime);
integrationTaskLivingEntity.setStartTime(startTime); integrationTaskLivingEntity.setStartTime(startTime);
integrationTaskLivingEntity.setEndTime(endTime); integrationTaskLivingEntity.setEndTime(endTime);
integrationTaskLivingEntity.setDiffTime(interval.toString()); integrationTaskLivingEntity.setDiffTime(interval.toString());
integrationTaskLivingEntity.setRunNum(integrationTaskLivingEntity.getRunNum()+1); integrationTaskLivingEntity.setRunNum(integrationTaskLivingEntity.getRunNum() + 1);
integrationTaskLivingEntity.setModify_time(new Date()); integrationTaskLivingEntity.setModify_time(new Date());
// iIntegrationTaskCacheableService.updateIntegrationTaskLivingEntity(integrationTaskLivingEntity); iIntegrationTaskCacheableService.updateIntegrationTaskLivingEntity(integrationTaskLivingEntity);
if(integrationTaskLogEntity != null ){ if (integrationTaskLogEntity != null) {
integrationTaskLogEntity.setEndTime(endTime); integrationTaskLogEntity.setEndTime(endTime);
integrationTaskLogEntity.setDiffTime(interval.toString()); integrationTaskLogEntity.setDiffTime(interval.toString());
integrationTaskLogEntity.setTaskStatus(detailtype);//执行成功 integrationTaskLogEntity.setTaskStatus(detailtype);//执行成功
integrationTaskLogEntity.setRemark(msg); integrationTaskLogEntity.setRemark(msg);
// integrationTaskLogDao.update(integrationTaskLogEntity); integrationTaskLogDao.update(integrationTaskLogEntity);
} }
} }
} }