From 812286a2e74a1524741d3f514fe21b79e2c80c7d Mon Sep 17 00:00:00 2001 From: lijiahang Date: Tue, 2 Apr 2024 16:22:10 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E8=A7=84=E8=8C=83=E5=AD=97=E6=AE=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/about/change-log.md | 15 +++++++++++++-- docs/about/roadmap.md | 11 +++++++---- .../asset/controller/ExecTemplateController.http | 6 +++--- .../ops/module/asset/entity/domain/ExecJobDO.java | 4 ++++ .../ops/module/asset/entity/domain/ExecLogDO.java | 4 ++++ .../asset/entity/domain/ExecTemplateDO.java | 6 +++--- .../request/exec/ExecTemplateCreateRequest.java | 4 ++-- .../request/exec/ExecTemplateUpdateRequest.java | 4 ++-- .../ops/module/asset/entity/vo/ExecJobVO.java | 3 +++ .../ops/module/asset/entity/vo/ExecLogVO.java | 3 +++ .../module/asset/entity/vo/ExecTemplateVO.java | 4 ++-- .../main/resources/mapper/ExecTemplateMapper.xml | 4 ++-- orion-ops-ui/src/api/exec/exec-template.ts | 4 ++-- .../exec/exec-command/components/exec-panel.vue | 11 +++++++++-- .../components/exec-template-exec-drawer.vue | 4 ++-- .../components/exec-template-form-drawer.vue | 8 ++++---- 16 files changed, 65 insertions(+), 30 deletions(-) diff --git a/docs/about/change-log.md b/docs/about/change-log.md index 8bae3f64..d47e591f 100644 --- a/docs/about/change-log.md +++ b/docs/about/change-log.md @@ -1,5 +1,16 @@ > 版本号严格遵循 Semver 规范。 +## v1.0.4 + +`2024-04-` `release` + +* 🐞 修复 批量执行选择模板后默认参数未自动设置 +* 🌈 新增 定时执行模块 +* 🔨 修改 redisson 配置 +* 🔨 规范 orion-ops-framework 配置 + +[如何升级](/about/update.md?id=_v103) + ## v1.0.3 `2024-03-25` `release` @@ -10,12 +21,12 @@ * 🐞 修复 工作台页面快捷操作面板会展示隐藏的菜单 * 🐞 修复 主机终端无法粘贴 (浏览器安全策略) * 🐞 修复 卡片列表组件控制台 warn 提示 -* 🐞 修复 关闭终端时控制台提示 handleResize 错误信息 +* 🐞 修复 关闭终端时控制台提示 handleResize 错误信息 * 🔨 修改 系统菜单渲染逻辑 (移除 JSX 构建时不会提示 JSX.IntrinsicElements) [如何升级](/about/update.md?id=_v103) -## v1.0.3 +## v1.0.2 `2024-03-22` `release` diff --git a/docs/about/roadmap.md b/docs/about/roadmap.md index 75e9b7f6..a6759f35 100644 --- a/docs/about/roadmap.md +++ b/docs/about/roadmap.md @@ -1,10 +1,10 @@ ## 功能排期 ⏳ -* 定时执行 -* 文件夹书签 * 文件重复删除/重命名 可配置 -* tracker 可配置 -* 断开连接后回车重新连接 +* 文件夹书签 +* tracker 使用配置文件 +* 优化文件传输列表进度显示 +* 终端断开连接后回车重新连接 * template 配置默认主机 * 批量上传 * 站内消息 @@ -12,6 +12,9 @@ * 资产授权 UI 改版 * RDP 远程桌面 * 接入 config 后端动态配置 +* 文档中巡检模板 +* 批量执行 模板 定时任务 配置是否使用文件执行 +* 使用 vite press 开发文档 ## 已知问题 🐞 diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/controller/ExecTemplateController.http b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/controller/ExecTemplateController.http index 740e2bea..dee08705 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/controller/ExecTemplateController.http +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/controller/ExecTemplateController.http @@ -7,7 +7,7 @@ Authorization: {{token}} "name": "", "command": "", "timeout": "", - "parameter": "" + "parameterSchema": "" } @@ -21,7 +21,7 @@ Authorization: {{token}} "name": "", "command": "", "timeout": "", - "parameter": "" + "parameterSchema": "" } @@ -48,7 +48,7 @@ Authorization: {{token}} "name": "", "command": "", "timeout": "", - "parameter": "" + "parameterSchema": "" } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecJobDO.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecJobDO.java index aa7c600a..660a5104 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecJobDO.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecJobDO.java @@ -34,6 +34,10 @@ public class ExecJobDO extends BaseDO { @TableField("name") private String name; + @Schema(description = "执行序列") + @TableField("exec_seq") + private Integer execSeq; + @Schema(description = "cron 表达式") @TableField("expression") private String expression; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecLogDO.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecLogDO.java index e2f995a2..e0a1fc78 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecLogDO.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecLogDO.java @@ -52,6 +52,10 @@ public class ExecLogDO extends BaseDO { @TableField("description") private String description; + @Schema(description = "执行序列") + @TableField("exec_seq") + private Integer execSeq; + @Schema(description = "执行命令") @TableField("command") private String command; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecTemplateDO.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecTemplateDO.java index 8ada6d1d..19b26aec 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecTemplateDO.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/domain/ExecTemplateDO.java @@ -42,8 +42,8 @@ public class ExecTemplateDO extends BaseDO { @TableField("timeout") private Integer timeout; - @Schema(description = "参数") - @TableField("parameter") - private String parameter; + @Schema(description = "参数定义") + @TableField("parameter_schema") + private String parameterSchema; } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/request/exec/ExecTemplateCreateRequest.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/request/exec/ExecTemplateCreateRequest.java index b3f5044c..f958a1f7 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/request/exec/ExecTemplateCreateRequest.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/request/exec/ExecTemplateCreateRequest.java @@ -40,7 +40,7 @@ public class ExecTemplateCreateRequest implements Serializable { @Schema(description = "超时时间秒 0不超时") private Integer timeout; - @Schema(description = "参数") - private String parameter; + @Schema(description = "参数定义") + private String parameterSchema; } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/request/exec/ExecTemplateUpdateRequest.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/request/exec/ExecTemplateUpdateRequest.java index a829d933..1e69a40d 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/request/exec/ExecTemplateUpdateRequest.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/request/exec/ExecTemplateUpdateRequest.java @@ -44,7 +44,7 @@ public class ExecTemplateUpdateRequest implements Serializable { @Schema(description = "超时时间秒 0不超时") private Integer timeout; - @Schema(description = "参数") - private String parameter; + @Schema(description = "参数定义") + private String parameterSchema; } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecJobVO.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecJobVO.java index b6fc16f3..d97b1833 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecJobVO.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecJobVO.java @@ -31,6 +31,9 @@ public class ExecJobVO implements Serializable { @Schema(description = "任务名称") private String name; + @Schema(description = "执行序列") + private Integer execSeq; + @Schema(description = "cron 表达式") private String expression; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecLogVO.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecLogVO.java index 2e754cf5..3d5f8b43 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecLogVO.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecLogVO.java @@ -38,6 +38,9 @@ public class ExecLogVO implements Serializable { @Schema(description = "执行描述") private String description; + @Schema(description = "执行序列") + private Integer execSeq; + @Schema(description = "执行命令") private String command; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecTemplateVO.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecTemplateVO.java index bf68bab5..f1ee8cef 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecTemplateVO.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/entity/vo/ExecTemplateVO.java @@ -37,8 +37,8 @@ public class ExecTemplateVO implements Serializable { @Schema(description = "超时时间秒 0不超时") private Integer timeout; - @Schema(description = "参数") - private String parameter; + @Schema(description = "参数定义") + private String parameterSchema; @Schema(description = "创建时间") private Date createTime; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/resources/mapper/ExecTemplateMapper.xml b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/resources/mapper/ExecTemplateMapper.xml index 36966636..29c294f5 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/resources/mapper/ExecTemplateMapper.xml +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/resources/mapper/ExecTemplateMapper.xml @@ -8,7 +8,7 @@ - + @@ -18,7 +18,7 @@ - id, name, command, timeout, parameter, create_time, update_time, creator, updater, deleted + id, name, command, timeout, parameter_schema, create_time, update_time, creator, updater, deleted diff --git a/orion-ops-ui/src/api/exec/exec-template.ts b/orion-ops-ui/src/api/exec/exec-template.ts index 984b31fd..c2e6a408 100644 --- a/orion-ops-ui/src/api/exec/exec-template.ts +++ b/orion-ops-ui/src/api/exec/exec-template.ts @@ -9,7 +9,7 @@ export interface ExecTemplateCreateRequest { name?: string; command?: string; timeout?: number; - parameter?: string; + parameterSchema?: string; } /** @@ -36,7 +36,7 @@ export interface ExecTemplateQueryResponse extends TableData { name: string; command: string; timeout: number; - parameter: string; + parameterSchema: string; createTime: number; updateTime: number; creator: string; diff --git a/orion-ops-ui/src/views/exec/exec-command/components/exec-panel.vue b/orion-ops-ui/src/views/exec/exec-command/components/exec-panel.vue index 6ec4f0db..77be78d4 100644 --- a/orion-ops-ui/src/views/exec/exec-command/components/exec-panel.vue +++ b/orion-ops-ui/src/views/exec/exec-command/components/exec-panel.vue @@ -144,8 +144,15 @@ description: record.name, timeout: record.timeout, }; - parameterSchema.value = record.parameter ? JSON.parse(record.parameter) : []; - parameterFormModel.value = {}; + parameterSchema.value = record.parameterSchema ? JSON.parse(record.parameterSchema) : []; + if (parameterSchema.value.length) { + parameterFormModel.value = parameterSchema.value.reduce((acc, cur) => ({ + ...acc, + [cur.name as string]: cur.value + }), {}); + } else { + parameterFormModel.value = {}; + } }; // 从执行日志设置 diff --git a/orion-ops-ui/src/views/exec/exec-template/components/exec-template-exec-drawer.vue b/orion-ops-ui/src/views/exec/exec-template/components/exec-template-exec-drawer.vue index 1a2fd316..265592fb 100644 --- a/orion-ops-ui/src/views/exec/exec-template/components/exec-template-exec-drawer.vue +++ b/orion-ops-ui/src/views/exec/exec-template/components/exec-template-exec-drawer.vue @@ -125,8 +125,8 @@ command: record.command, hostIdList: [] }; - if (record.parameter) { - parameterSchema.value = JSON.parse(record.parameter); + if (record.parameterSchema) { + parameterSchema.value = JSON.parse(record.parameterSchema); const params = {} as any; for (let param of parameterSchema.value) { params[param.name as keyof any] = param.defaultValue; diff --git a/orion-ops-ui/src/views/exec/exec-template/components/exec-template-form-drawer.vue b/orion-ops-ui/src/views/exec/exec-template/components/exec-template-form-drawer.vue index 9532bbd2..b005314c 100644 --- a/orion-ops-ui/src/views/exec/exec-template/components/exec-template-form-drawer.vue +++ b/orion-ops-ui/src/views/exec/exec-template/components/exec-template-form-drawer.vue @@ -120,7 +120,7 @@ name: undefined, command: undefined, timeout: 0, - parameter: undefined, + parameterSchema: undefined, }; }; @@ -149,8 +149,8 @@ // 渲染表单 const renderForm = (record: any) => { formModel.value = Object.assign({}, record); - if (record.parameter) { - parameter.value = JSON.parse(record.parameter); + if (record.parameterSchema) { + parameter.value = JSON.parse(record.parameterSchema); } else { parameter.value = []; } @@ -184,7 +184,7 @@ return false; } } - formModel.value.parameter = JSON.stringify(parameter.value); + formModel.value.parameterSchema = JSON.stringify(parameter.value); if (isAddHandle.value) { // 新增 await createExecTemplate(formModel.value);