From c6a9ced64b0b1cd6249a1cdb535ef27e349ea7e0 Mon Sep 17 00:00:00 2001 From: Eric Date: Sat, 4 May 2024 10:44:47 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=E6=94=AF=E6=8C=81=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E5=88=B7=E6=96=B0hash=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/infra/manager/SysDictManager.java | 18 ++++++++++++++++++ .../infra/controller/SysDictController.java | 14 ++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/ballcat-business-infra/ballcat-infra-biz/src/main/java/org/ballcat/business/infra/manager/SysDictManager.java b/ballcat-business-infra/ballcat-infra-biz/src/main/java/org/ballcat/business/infra/manager/SysDictManager.java index d65f012..039590b 100644 --- a/ballcat-business-infra/ballcat-infra-biz/src/main/java/org/ballcat/business/infra/manager/SysDictManager.java +++ b/ballcat-business-infra/ballcat-infra-biz/src/main/java/org/ballcat/business/infra/manager/SysDictManager.java @@ -142,6 +142,24 @@ public void updateDictItemStatusById(Long itemId, Integer status) { this.eventPublisher.publishEvent(new DictChangeEvent(dictCode)); } + /** + * 通过id刷新hash值 + * @param id 字典id + */ + public void refreshDictHashById(Long id) { + // 查询现有数据 + SysDict dict = this.sysDictService.getById(id); + Assert.notNull(dict, () -> new BusinessException(BaseResultCode.LOGIC_CHECK_ERROR.getCode(), "错误的字典 id:" + id)); + + // 更新字典 hash + String dictCode = dict.getCode(); + Assert.isTrue(this.sysDictService.updateHashCode(dictCode), + () -> new BusinessException(BaseResultCode.UPDATE_DATABASE_ERROR.getCode(), "字典 Hash 更新异常")); + + // 发布字典更新事件 + this.eventPublisher.publishEvent(new DictChangeEvent(dictCode)); + } + /** * 字典项分页 * @param pageParam 分页属性 diff --git a/ballcat-business-infra/ballcat-infra-controller/src/main/java/org/ballcat/business/infra/controller/SysDictController.java b/ballcat-business-infra/ballcat-infra-controller/src/main/java/org/ballcat/business/infra/controller/SysDictController.java index c76035e..67a50b4 100644 --- a/ballcat-business-infra/ballcat-infra-controller/src/main/java/org/ballcat/business/infra/controller/SysDictController.java +++ b/ballcat-business-infra/ballcat-infra-controller/src/main/java/org/ballcat/business/infra/controller/SysDictController.java @@ -142,6 +142,20 @@ public ApiResult removeById(@PathVariable("id") Long id) { return ApiResult.ok(); } + /** + * 通过id刷新hash值 + * @param id id + * @return ApiResult + */ + @UpdateOperationLogging(msg = "通过id刷新hash值") + @PatchMapping("/refresh/{id}") + @Authorize("hasPermission('system:dict:edit')") + @Operation(summary = "通过id刷新hash值", description = "通过id刷新hash值") + public ApiResult refreshDictHashById(@PathVariable("id") Long id) { + this.sysDictManager.refreshDictHashById(id); + return ApiResult.ok(); + } + /** * 分页查询 * @param pageParam 分页参数