diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/HostController.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/HostController.java index 165455ae..3b7629f7 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/HostController.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/HostController.java @@ -93,6 +93,15 @@ public class HostController { return hostService.updateHostStatus(request); } + @DemoDisableApi + @OperatorLog(HostOperatorType.UPDATE_SPEC) + @PutMapping("/update-spec") + @Operation(summary = "修改主机规格信息") + @PreAuthorize("@ss.hasPermission('asset:host:update')") + public Integer updateHostSpec(@Validated @RequestBody HostExtraUpdateRequest request) { + return hostService.updateHostSpec(request); + } + @IgnoreLog(IgnoreLogMode.RET) @GetMapping("/get") @Operation(summary = "通过 id 查询主机") diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/HostExtraController.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/HostExtraController.java index 336f004d..2e0e44e3 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/HostExtraController.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/controller/HostExtraController.java @@ -26,10 +26,13 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; +import org.dromara.visor.common.constant.ErrorMessage; +import org.dromara.visor.common.utils.Valid; import org.dromara.visor.framework.log.core.annotation.IgnoreLog; import org.dromara.visor.framework.log.core.enums.IgnoreLogMode; import org.dromara.visor.framework.web.core.annotation.RestWrapper; import org.dromara.visor.module.asset.entity.request.host.HostExtraUpdateRequest; +import org.dromara.visor.module.asset.enums.HostExtraItemEnum; import org.dromara.visor.module.asset.service.HostExtraService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -67,6 +70,8 @@ public class HostExtraController { @PutMapping("/update") @Operation(summary = "修改主机拓展信息") public Integer updateHostExtra(@Validated @RequestBody HostExtraUpdateRequest request) { + HostExtraItemEnum item = Valid.valid(HostExtraItemEnum::of, request.getItem()); + Valid.isTrue(item.isUserExtra(), ErrorMessage.PARAM_ERROR); return hostExtraService.updateHostExtra(request); } diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/define/operator/HostOperatorType.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/define/operator/HostOperatorType.java index f9621213..72890501 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/define/operator/HostOperatorType.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/define/operator/HostOperatorType.java @@ -48,6 +48,8 @@ public class HostOperatorType extends InitializingOperatorTypes { public static final String UPDATE_CONFIG = "host:update-config"; + public static final String UPDATE_SPEC = "host:update-spec"; + @Override public OperatorType[] types() { return new OperatorType[]{ @@ -56,6 +58,7 @@ public class HostOperatorType extends InitializingOperatorTypes { new OperatorType(H, DELETE, "删除主机 ${count} 条"), new OperatorType(M, UPDATE_STATUS, "修改主机状态 ${name} - ${status}"), new OperatorType(M, UPDATE_CONFIG, "修改主机配置 ${name}"), + new OperatorType(M, UPDATE_SPEC, "修改主机规格信息 ${name}"), }; } diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/entity/request/host/HostExtraUpdateRequest.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/entity/request/host/HostExtraUpdateRequest.java index 33ac0cb2..2847aff1 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/entity/request/host/HostExtraUpdateRequest.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/entity/request/host/HostExtraUpdateRequest.java @@ -49,7 +49,6 @@ public class HostExtraUpdateRequest { @Schema(description = "主机id") private Long hostId; - @NotNull @Schema(description = "配置项") private String item; diff --git a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/strategy/HostSshConfigStrategy.java b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/strategy/HostSshConfigStrategy.java index 7dfa8863..d54668ca 100644 --- a/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/strategy/HostSshConfigStrategy.java +++ b/orion-visor-modules/orion-visor-module-asset/orion-visor-module-asset-service/src/main/java/org/dromara/visor/module/asset/handler/host/config/strategy/HostSshConfigStrategy.java @@ -122,14 +122,12 @@ public class HostSshConfigStrategy extends AbstractGenericsDataStrategy) { + return axios.put('/asset/host/update-spec', request); +} + /** * 查询主机 */ diff --git a/orion-visor-ui/src/views/asset/host-list/components/host-form-spec.vue b/orion-visor-ui/src/views/asset/host-list/components/host-form-spec.vue index c8d750bd..b1e5e085 100644 --- a/orion-visor-ui/src/views/asset/host-list/components/host-form-spec.vue +++ b/orion-visor-ui/src/views/asset/host-list/components/host-form-spec.vue @@ -252,10 +252,11 @@