diff --git a/hippo4j-config/src/main/java/cn/hippo4j/config/controller/ConfigController.java b/hippo4j-config/src/main/java/cn/hippo4j/config/controller/ConfigController.java index 5c0fe84f..49acbe03 100644 --- a/hippo4j-config/src/main/java/cn/hippo4j/config/controller/ConfigController.java +++ b/hippo4j-config/src/main/java/cn/hippo4j/config/controller/ConfigController.java @@ -17,16 +17,23 @@ package cn.hippo4j.config.controller; +import cn.hippo4j.common.constant.ConfigModifyTypeConstants; import cn.hippo4j.common.constant.Constants; +import cn.hippo4j.common.enums.EnableEnum; import cn.hippo4j.common.model.register.DynamicThreadPoolRegisterWrapper; +import cn.hippo4j.common.toolkit.StringUtil; +import cn.hippo4j.common.toolkit.UserContext; import cn.hippo4j.common.web.base.Result; import cn.hippo4j.common.web.base.Results; import cn.hippo4j.config.model.ConfigAllInfo; import cn.hippo4j.config.model.ConfigInfoBase; +import cn.hippo4j.config.model.biz.threadpool.ConfigModifySaveReqDTO; import cn.hippo4j.config.service.ConfigCacheService; import cn.hippo4j.config.service.ConfigServletInner; import cn.hippo4j.config.service.biz.ConfigService; +import cn.hippo4j.config.toolkit.BeanUtil; import cn.hippo4j.config.toolkit.Md5ConfigUtil; +import cn.hippo4j.config.verify.ConfigModifyVerifyServiceChoose; import cn.hutool.core.util.StrUtil; import lombok.AllArgsConstructor; import lombok.SneakyThrows; @@ -50,6 +57,8 @@ public class ConfigController { private final ConfigServletInner configServletInner; + private final ConfigModifyVerifyServiceChoose configModifyVerifyServiceChoose; + @GetMapping public Result detailConfigInfo(@RequestParam("tpId") String tpId, @RequestParam("itemId") String itemId, @@ -62,7 +71,18 @@ public class ConfigController { @PostMapping public Result publishConfig(@RequestParam(value = "identify", required = false) String identify, @RequestBody ConfigAllInfo config) { - configService.insertOrUpdate(identify, true, config); + if (UserContext.getUserRole().equals("ROLE_ADMIN")) { + configService.insertOrUpdate(identify, true, config); + } else { + ConfigModifySaveReqDTO modifySaveReqDTO = BeanUtil.convert(config, ConfigModifySaveReqDTO.class); + modifySaveReqDTO.setCorePoolSize(config.getCoreSize()); + modifySaveReqDTO.setMaximumPoolSize(config.getMaxSize()); + modifySaveReqDTO.setModifyUser(UserContext.getUserName()); + modifySaveReqDTO.setModifyAll(StringUtil.isNotBlank(identify) ? EnableEnum.NO.getIntCode() : EnableEnum.YES.getIntCode()); + modifySaveReqDTO.setInstanceId(identify); + modifySaveReqDTO.setType(ConfigModifyTypeConstants.WEB_THREAD_POOL); + configModifyVerifyServiceChoose.choose(modifySaveReqDTO.getType()).saveConfigModifyApplication(modifySaveReqDTO); + } return Results.success(true); } diff --git a/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/AbstractConfigModifyVerifyService.java b/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/AbstractConfigModifyVerifyService.java index b0243c6c..82bfd650 100644 --- a/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/AbstractConfigModifyVerifyService.java +++ b/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/AbstractConfigModifyVerifyService.java @@ -19,8 +19,6 @@ package cn.hippo4j.config.service.biz.impl; import cn.hippo4j.common.enums.EnableEnum; import cn.hippo4j.common.enums.VerifyEnum; -import cn.hippo4j.common.model.ThreadPoolParameterInfo; -import cn.hippo4j.common.toolkit.ContentUtil; import cn.hippo4j.common.toolkit.JSONUtil; import cn.hippo4j.common.toolkit.UserContext; import cn.hippo4j.config.mapper.HisConfigVerifyMapper; @@ -44,7 +42,6 @@ public abstract class AbstractConfigModifyVerifyService implements ConfigModifyV HisConfigVerifyInfo hisConfigVerifyInfo = BeanUtil.convert(reqDTO, HisConfigVerifyInfo.class); hisConfigVerifyInfo.setContent(JSONUtil.toJSONString(reqDTO)); hisConfigVerifyInfo.setVerifyStatus(VerifyEnum.TO_VERIFY.getVerifyStatus()); - hisConfigVerifyInfo.setModifyAll(EnableEnum.NO.getIntCode()); hisConfigVerifyMapper.insert(hisConfigVerifyInfo); } diff --git a/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/ThreadPoolServiceImpl.java b/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/ThreadPoolServiceImpl.java index dd391bf0..ac313826 100644 --- a/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/ThreadPoolServiceImpl.java +++ b/hippo4j-config/src/main/java/cn/hippo4j/config/service/biz/impl/ThreadPoolServiceImpl.java @@ -19,6 +19,7 @@ package cn.hippo4j.config.service.biz.impl; import cn.hippo4j.common.constant.ConfigModifyTypeConstants; import cn.hippo4j.common.enums.DelEnum; +import cn.hippo4j.common.enums.EnableEnum; import cn.hippo4j.common.toolkit.JSONUtil; import cn.hippo4j.common.toolkit.UserContext; import cn.hippo4j.config.mapper.ConfigInfoMapper; @@ -94,6 +95,7 @@ public class ThreadPoolServiceImpl implements ThreadPoolService { modifySaveReqDTO.setCorePoolSize(reqDTO.getCoreSize()); modifySaveReqDTO.setMaximumPoolSize(reqDTO.getMaxSize()); modifySaveReqDTO.setModifyUser(UserContext.getUserName()); + modifySaveReqDTO.setModifyAll(EnableEnum.NO.getIntCode()); modifySaveReqDTO.setType(ConfigModifyTypeConstants.THREAD_POOL_MANAGER); configModifyVerifyServiceChoose.choose(modifySaveReqDTO.getType()).saveConfigModifyApplication(modifySaveReqDTO); }