style(framework): 优化代码格式与注解配置

This commit is contained in:
2025-10-31 15:15:28 +08:00
parent dcf2528e5d
commit 4bf72f5a7f
187 changed files with 2598 additions and 2290 deletions
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cutejava</artifactId>
@@ -27,22 +27,12 @@ import lombok.Getter;
@Getter
@AllArgsConstructor
public enum TaskChangeTypeEnum {
AppApply("AppApply", "申请应用"),
AppContainerRestart("AppContainerRestart", "容器应用重启"),
AppContainerDeploy("AppContainerDeploy", "容器应用部署"),
AppOffline("AppOffline", "应用下线"),
AppChangeReplicas("AppChangeReplicas", "应用扩缩容"),
AppUpgrade("AppUpgrade", "应用升配"),
AppDowngrade("AppDowngrade", "应用降配"),
AppHostRestart("AppHostRestart", "主机应用重启"),
AppHostDeploy("AppHostDeploy", "主机应用部署"),
AppContainerRollback("AppContainerRollback", "容器应用回滚"),
AppHostRollback("AppHostRollback", "主机应用回滚"),
ResourceApply("ResourceApply", "申请资源"),
ResourceOffline("ResourceOffline", "资源下线"),
DataChange("DataChange", "数据变更"),
HostnameApply("HostnameApply", "申请域名"),
HostnameChange("HostnameChange", "域名变更");
AppApply("AppApply", "申请应用"), AppContainerRestart("AppContainerRestart", "容器应用重启"), AppContainerDeploy("AppContainerDeploy", "容器应用部署"),
AppOffline("AppOffline", "应用下线"), AppChangeReplicas("AppChangeReplicas", "应用扩缩容"), AppUpgrade("AppUpgrade", "应用升配"),
AppDowngrade("AppDowngrade", "应用降配"), AppHostRestart("AppHostRestart", "主机应用重启"), AppHostDeploy("AppHostDeploy", "主机应用部署"),
AppContainerRollback("AppContainerRollback", "容器应用回滚"), AppHostRollback("AppHostRollback", "主机应用回滚"),
ResourceApply("ResourceApply", "申请资源"), ResourceOffline("ResourceOffline", "资源下线"), DataChange("DataChange", "数据变更"),
HostnameApply("HostnameApply", "申请域名"), HostnameChange("HostnameChange", "域名变更");
private final String code;
private final String name;
}
@@ -27,9 +27,7 @@ import lombok.Getter;
@Getter
@AllArgsConstructor
public enum TaskStatusEnum {
Running("running", "运行中"),
Success("success", "执行成功"),
Fail("fail", "执行失败");
Running("running", "运行中"), Success("success", "执行成功"), Fail("fail", "执行失败");
private final String code;
private final String name;
@@ -40,7 +40,8 @@ public class TaskTestsController {
@AnonymousAccess
@GetMapping(value = "/testCreate")
public ResponseEntity<?> testCreate() {
TaskInstanceInfoTb instanceInfo = taskManage.createJob("cutejava", TaskChangeTypeEnum.AppContainerDeploy, "java", "daily", "cutejava", "功能测试", null);
TaskInstanceInfoTb instanceInfo =
taskManage.createJob("cutejava", TaskChangeTypeEnum.AppContainerDeploy, "java", "daily", "cutejava", "功能测试", null);
log.info("任务创建成功,实例为:{}", JSON.toJSONString(instanceInfo));
return ResponseEntity.ok(instanceInfo);
}
@@ -48,7 +49,8 @@ public class TaskTestsController {
@AnonymousAccess
@GetMapping(value = "/testCreateAfterStop")
public ResponseEntity<?> testCreateAfterStop() {
TaskInstanceInfoTb instanceInfo = taskManage.createJob("cutejava", TaskChangeTypeEnum.AppContainerDeploy, "java", "daily", "cutejava", "功能测试", null);
TaskInstanceInfoTb instanceInfo =
taskManage.createJob("cutejava", TaskChangeTypeEnum.AppContainerDeploy, "java", "daily", "cutejava", "功能测试", null);
log.info("任务创建成功,实例为:{}", JSON.toJSONString(instanceInfo));
Thread.startVirtualThread(() -> {
ThreadUtil.safeSleep(5000);
@@ -84,9 +84,11 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob {
* @param dataMap 数据映射
* @param taskTemplateNodeVos 模板节点列表
*/
private void executeNormalTask(TaskInstanceInfoService taskInstanceInfoService, TaskInstanceDetailService taskInstanceDetailService, long id, JobDataMap dataMap, List<TaskTemplateNodeVo> taskTemplateNodeVos) {
private void executeNormalTask(TaskInstanceInfoService taskInstanceInfoService, TaskInstanceDetailService taskInstanceDetailService, long id,
JobDataMap dataMap, List<TaskTemplateNodeVo> taskTemplateNodeVos) {
// ========================== 初始化执行明细 ==========================
List<TaskInstanceDetailTb> taskInstanceDetails = taskTemplateNodeVos.stream().map(taskTemplateNodeVo -> buildTaskInstanceDetail(id, taskTemplateNodeVo)).toList();
List<TaskInstanceDetailTb> taskInstanceDetails =
taskTemplateNodeVos.stream().map(taskTemplateNodeVo -> buildTaskInstanceDetail(id, taskTemplateNodeVo)).toList();
taskInstanceDetailService.saveBatch(taskInstanceDetails);
Map<String, Long> codeIdMap = taskInstanceDetails.stream().collect(Collectors.toMap(TaskInstanceDetailTb::getBizCode, TaskInstanceDetailTb::getId));
// ========================== 顺序执行 ==========================
@@ -103,7 +105,8 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob {
* @param taskTemplateNodeVos 模板节点列表
* @param retryNodeCode 重试节点编码
*/
private void executeRetryTask(TaskInstanceInfoService taskInstanceInfoService, TaskInstanceDetailService taskInstanceDetailService, long id, JobDataMap dataMap, List<TaskTemplateNodeVo> taskTemplateNodeVos, String retryNodeCode) {
private void executeRetryTask(TaskInstanceInfoService taskInstanceInfoService, TaskInstanceDetailService taskInstanceDetailService, long id,
JobDataMap dataMap, List<TaskTemplateNodeVo> taskTemplateNodeVos, String retryNodeCode) {
boolean isFound = false;
// ========================== 初始化执行明细 ==========================
List<TaskInstanceDetailTb> taskInstanceDetails = new ArrayList<>();
@@ -165,7 +168,8 @@ public class TaskJobBean extends QuartzJobBean implements InterruptableJob {
* @param taskTemplateNodes 需要执行的任务节点列表
* @param codeIdMap 节点编码与明细ID映射
*/
private void executeTaskSteps(TaskInstanceInfoService taskInstanceInfoService, TaskInstanceDetailService taskInstanceDetailService, Long id, JobDataMap dataMap, List<TaskTemplateNodeVo> taskTemplateNodes, Map<String, Long> codeIdMap) {
private void executeTaskSteps(TaskInstanceInfoService taskInstanceInfoService, TaskInstanceDetailService taskInstanceDetailService, Long id,
JobDataMap dataMap, List<TaskTemplateNodeVo> taskTemplateNodes, Map<String, Long> codeIdMap) {
try {
for (TaskTemplateNodeVo taskTemplateNodeVo : taskTemplateNodes) {
String code = taskTemplateNodeVo.getCode();
@@ -64,7 +64,8 @@ public class TaskManage {
* @param dataMap 任务参数
*/
@Transactional(rollbackFor = Exception.class)
public TaskInstanceInfoTb createJob(String contextName, TaskChangeTypeEnum changeTypeEnum, String language, String envAlias, String source, String reason, JobDataMap dataMap) {
public TaskInstanceInfoTb createJob(String contextName, TaskChangeTypeEnum changeTypeEnum, String language, String envAlias, String source, String reason,
JobDataMap dataMap) {
if (StrUtil.isBlank(contextName)) {
throw new BadRequestException("参数contextName必填");
}
@@ -101,7 +102,8 @@ public class TaskManage {
}
// ========================== 创建任务 ==========================
TaskManage taskManage = CsSpringBeanHolder.getBean(TaskManage.class);
TaskInstanceInfoTb newInstance = taskManage.saveTaskInstanceInfoTb(contextName, changeTypeEnum, language, envAlias, source, reason, dataMap, templateInfo);
TaskInstanceInfoTb newInstance =
taskManage.saveTaskInstanceInfoTb(contextName, changeTypeEnum, language, envAlias, source, reason, dataMap, templateInfo);
dataMap.put(TaskJobKeys.ID, newInstance.getId());
// 应用名、资源类型
dataMap.put(TaskJobKeys.CONTEXT_NAME, contextName);
@@ -115,7 +117,8 @@ public class TaskManage {
}
@Transactional(rollbackFor = Exception.class)
public TaskInstanceInfoTb saveTaskInstanceInfoTb(String contextName, TaskChangeTypeEnum changeTypeEnum, String language, String envAlias, String source, String reason, JobDataMap dataMap, String templateInfo) {
public TaskInstanceInfoTb saveTaskInstanceInfoTb(String contextName, TaskChangeTypeEnum changeTypeEnum, String language, String envAlias, String source,
String reason, JobDataMap dataMap, String templateInfo) {
TaskInstanceInfoTb newInstance = new TaskInstanceInfoTb();
newInstance.setContextName(contextName);
newInstance.setLanguage(language);
@@ -35,6 +35,6 @@ public class TaskStepNodeMergeBranch implements TaskStepExecutor {
public void execute(Long instanceDetailId, JobDataMap jobDataMap, TaskTemplateNodeVo taskTemplateNode) throws BadRequestException {
ThreadUtil.sleep(3000);
stepDetailService.fail(instanceDetailId, "执行失败测试");
// stepDetailService.success(instanceDetailId, "执行成功");
// stepDetailService.success(instanceDetailId, "执行成功");
}
}
@@ -48,7 +48,7 @@ public class TaskInstanceDetailTb extends CsObject {
/**
* id
*/
@Schema(name="id")
@Schema(name = "id")
@TableId(value = "id", type = IdType.ASSIGN_ID)
@JsonSerialize(using = ToStringSerializer.class)
@JSONField(format = "string")
@@ -58,20 +58,20 @@ public class TaskInstanceDetailTb extends CsObject {
* 任务实例id
*/
@TableField("instance_id")
@Schema(name="任务实例id")
@Schema(name = "任务实例id")
private Long instanceId;
/**
* 开始时间
*/
@Schema(name="开始时间")
@Schema(name = "开始时间")
@TableField("start_time")
private Date startTime;
/**
* 结束时间
*/
@Schema(name="结束时间")
@Schema(name = "结束时间")
@TableField("finish_time")
private Date finishTime;
@@ -79,27 +79,27 @@ public class TaskInstanceDetailTb extends CsObject {
* 业务编码
*/
@TableField("biz_code")
@Schema(name="业务编码")
@Schema(name = "业务编码")
private String bizCode;
/**
* 业务名称(步骤)
*/
@TableField("biz_name")
@Schema(name="业务名称(步骤)")
@Schema(name = "业务名称(步骤)")
private String bizName;
/**
* 执行参数
*/
@Schema(name="执行参数")
@Schema(name = "执行参数")
@TableField("execute_params")
private String executeParams;
/**
* 执行信息
*/
@Schema(name="执行信息")
@Schema(name = "执行信息")
@TableField("execute_info")
private String executeInfo;
@@ -107,6 +107,6 @@ public class TaskInstanceDetailTb extends CsObject {
* 执行状态(running进行中 success成功 fail失败)
*/
@TableField("execute_status")
@Schema(name="执行状态(running进行中 success成功 fail失败)")
@Schema(name = "执行状态(running进行中 success成功 fail失败)")
private String executeStatus;
}
@@ -58,7 +58,7 @@ public class TaskInstanceInfoTb extends CsObject {
/**
* id, @JsonSerialize和@JSONField,用于处理大数精度丢失问题
*/
@Schema(name="id")
@Schema(name = "id")
@TableId(value = "id", type = IdType.ASSIGN_ID)
@JsonSerialize(using = ToStringSerializer.class)
@JSONField(format = "string")
@@ -67,21 +67,21 @@ public class TaskInstanceInfoTb extends CsObject {
/**
* 名称
*/
@Schema(name="名称")
@Schema(name = "名称")
@TableField("context_name")
private String contextName;
/**
* 语言
*/
@Schema(name="语言")
@Schema(name = "语言")
@TableField("`language`")
private String language;
/**
* 变更类型
*/
@Schema(name="变更类型")
@Schema(name = "变更类型")
@TableField("change_type")
private String changeType;
@@ -89,27 +89,27 @@ public class TaskInstanceInfoTb extends CsObject {
* 环境别名
*/
@TableField("env_alias")
@Schema(name="环境别名")
@Schema(name = "环境别名")
private String envAlias;
/**
* 状态(running进行中 success成功 fail失败)
*/
@TableField("`status`")
@Schema(name="状态(running进行中 success成功 fail失败)")
@Schema(name = "状态(running进行中 success成功 fail失败)")
private String status;
/**
* 完成时间
*/
@Schema(name="完成时间")
@Schema(name = "完成时间")
@TableField("finish_time")
private Date finishTime;
/**
* 来源
*/
@Schema(name="来源")
@Schema(name = "来源")
@TableField("`source`")
private String source;
@@ -117,27 +117,27 @@ public class TaskInstanceInfoTb extends CsObject {
* 变更原因
*/
@TableField("reason")
@Schema(name="变更原因")
@Schema(name = "变更原因")
private String reason;
/**
* 任务模板
*/
@TableField("template")
@Schema(name="template")
@Schema(name = "template")
private String template;
/**
* QuartzJob参数
*/
@TableField("job_data")
@Schema(name="QuartzJob参数")
@Schema(name = "QuartzJob参数")
private String jobData;
/**
* 异常信息
*/
@TableField("error_message")
@Schema(name="异常信息")
@Schema(name = "异常信息")
private String errorMessage;
}
@@ -27,7 +27,6 @@ import lombok.ToString;
import java.util.Date;
/**
* <p>
* 任务实例步骤明细
@@ -49,7 +48,7 @@ public class TaskInstanceStepDetailTb extends CsObject {
/**
* id
*/
@Schema(name="id")
@Schema(name = "id")
@TableId(value = "id", type = IdType.ASSIGN_ID)
@JsonSerialize(using = ToStringSerializer.class)
@JSONField(format = "string")
@@ -59,20 +58,20 @@ public class TaskInstanceStepDetailTb extends CsObject {
* task_instance_detail表id
*/
@TableField("instance_detail_id")
@Schema(name="task_instance_detail表id")
@Schema(name = "task_instance_detail表id")
private Long instanceDetailId;
/**
* 步骤描述
*/
@TableField("step_desc")
@Schema(name="步骤描述")
@Schema(name = "步骤描述")
private String stepDesc;
/**
* 状态(success成功 fail失败)
*/
@TableField("step_status")
@Schema(name="状态(success成功 fail失败)")
@Schema(name = "状态(success成功 fail失败)")
private String stepStatus;
}
@@ -25,7 +25,6 @@ import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
/**
* <p>
* 任务模板
@@ -44,7 +43,7 @@ public class TaskTemplateInfoTb extends CsBaseUserTimeTb {
/**
* id
*/
@Schema(name="id")
@Schema(name = "id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@@ -52,13 +51,13 @@ public class TaskTemplateInfoTb extends CsBaseUserTimeTb {
* 数据有效性
*/
@TableField("available")
@Schema(name="数据有效性")
@Schema(name = "数据有效性")
private Boolean available;
/**
* 变更类型
*/
@Schema(name="变更类型")
@Schema(name = "变更类型")
@TableField("change_type")
private String changeType;
@@ -66,13 +65,13 @@ public class TaskTemplateInfoTb extends CsBaseUserTimeTb {
* 流水线名称
*/
@TableField("`name`")
@Schema(name="流水线名称")
@Schema(name = "流水线名称")
private String name;
/**
* 流水线描述
*/
@Schema(name="流水线描述")
@Schema(name = "流水线描述")
@TableField("`description`")
private String description;
@@ -80,20 +79,20 @@ public class TaskTemplateInfoTb extends CsBaseUserTimeTb {
* 流水线模板内容
*/
@TableField("template")
@Schema(name="流水线模板内容")
@Schema(name = "流水线模板内容")
private String template;
/**
* 环境别名
*/
@TableField("env_alias")
@Schema(name="环境别名")
@Schema(name = "环境别名")
private String envAlias;
/**
* 应用为语言,资源为类型
*/
@TableField("`language`")
@Schema(name="应用为语言,资源为类型")
@Schema(name = "应用为语言,资源为类型")
private String language;
}
@@ -38,10 +38,6 @@ public interface TaskTemplateInfoMapper extends BaseMapper<TaskTemplateInfoTb> {
* @param changeType 变更类型
* @return /
*/
TaskTemplateInfoVo selectTemplateInfoByECL(
@Param("envAlias") String envAlias,
@Param("contextName") String contextName,
@Param("language") String language,
@Param("changeType") String changeType
);
TaskTemplateInfoVo selectTemplateInfoByECL(@Param("envAlias") String envAlias, @Param("contextName") String contextName, @Param("language") String language,
@Param("changeType") String changeType);
}
@@ -40,11 +40,8 @@ public class TaskInstanceInfoServiceImpl extends ServiceImpl<TaskInstanceInfoMap
@Override
public TaskInstanceInfoTb getRunningById(Long id) {
return lambdaQuery()
.eq(TaskInstanceInfoTb::getId, id)
.eq(TaskInstanceInfoTb::getStatus, TaskStatusEnum.Running.getCode())
.orderByDesc(TaskInstanceInfoTb::getId)
.one();
return lambdaQuery().eq(TaskInstanceInfoTb::getId, id).eq(TaskInstanceInfoTb::getStatus, TaskStatusEnum.Running.getCode())
.orderByDesc(TaskInstanceInfoTb::getId).one();
}
@Override
@@ -83,25 +80,15 @@ public class TaskInstanceInfoServiceImpl extends ServiceImpl<TaskInstanceInfoMap
@Override
public TaskInstanceInfoTb getLastRunningInstance(String contextName, String language, String envAlias, String changeType) {
return lambdaQuery()
.eq(TaskInstanceInfoTb::getContextName, contextName)
.eq(TaskInstanceInfoTb::getLanguage, language)
.eq(TaskInstanceInfoTb::getEnvAlias, envAlias)
.eq(TaskInstanceInfoTb::getChangeType, changeType)
.eq(TaskInstanceInfoTb::getStatus, TaskStatusEnum.Running.getCode())
.orderByDesc(TaskInstanceInfoTb::getId)
.one();
return lambdaQuery().eq(TaskInstanceInfoTb::getContextName, contextName).eq(TaskInstanceInfoTb::getLanguage, language)
.eq(TaskInstanceInfoTb::getEnvAlias, envAlias).eq(TaskInstanceInfoTb::getChangeType, changeType)
.eq(TaskInstanceInfoTb::getStatus, TaskStatusEnum.Running.getCode()).orderByDesc(TaskInstanceInfoTb::getId).one();
}
@Override
public TaskInstanceInfoTb getLastHistoryInstance(String contextName, String language, String envAlias, String changeType) {
return lambdaQuery()
.eq(TaskInstanceInfoTb::getContextName, contextName)
.eq(TaskInstanceInfoTb::getLanguage, language)
.eq(TaskInstanceInfoTb::getEnvAlias, envAlias)
.eq(TaskInstanceInfoTb::getChangeType, changeType)
.orderByDesc(TaskInstanceInfoTb::getId)
.last("LIMIT 1")
.one();
return lambdaQuery().eq(TaskInstanceInfoTb::getContextName, contextName).eq(TaskInstanceInfoTb::getLanguage, language)
.eq(TaskInstanceInfoTb::getEnvAlias, envAlias).eq(TaskInstanceInfoTb::getChangeType, changeType).orderByDesc(TaskInstanceInfoTb::getId)
.last("LIMIT 1").one();
}
}
@@ -36,7 +36,8 @@ import java.util.List;
* @since 2025-09-28
*/
@Service
public class TaskInstanceStepDetailServiceImpl extends ServiceImpl<TaskInstanceStepDetailMapper, TaskInstanceStepDetailTb> implements TaskInstanceStepDetailService {
public class TaskInstanceStepDetailServiceImpl extends ServiceImpl<TaskInstanceStepDetailMapper, TaskInstanceStepDetailTb>
implements TaskInstanceStepDetailService {
@Override
public void success(Long instanceDetailId, String stepDesc) {
@@ -62,8 +63,6 @@ public class TaskInstanceStepDetailServiceImpl extends ServiceImpl<TaskInstanceS
if (CollUtil.isEmpty(instanceDetailIds)) {
return;
}
remove(new LambdaQueryWrapper<TaskInstanceStepDetailTb>()
.in(TaskInstanceStepDetailTb::getInstanceDetailId, instanceDetailIds)
);
remove(new LambdaQueryWrapper<TaskInstanceStepDetailTb>().in(TaskInstanceStepDetailTb::getInstanceDetailId, instanceDetailIds));
}
}