refactor: 优化字典管理相关 API

1.合并 DictResp 及 DictDetailResp
2.合并 DictItemResp 及 DictItemDetailResp
3.字典项增加状态 status 字段
This commit is contained in:
2024-04-11 20:48:14 +08:00
parent f7b5a4ff8d
commit 9ec594509f
20 changed files with 100 additions and 282 deletions

View File

@@ -20,8 +20,6 @@ import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ClassUtil;
import cn.hutool.core.util.StrUtil;
import com.alicp.jetcache.anno.CachePenetrationProtect;
import com.alicp.jetcache.anno.CacheRefresh;
import com.alicp.jetcache.anno.Cached;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@@ -106,9 +104,6 @@ public class CommonController {
@Operation(summary = "查询字典", description = "查询字典列表")
@Parameter(name = "code", description = "字典编码", example = "announcement_type", in = ParameterIn.PATH)
@GetMapping("/dict/{code}")
@CachePenetrationProtect
@CacheRefresh(refresh = 3600, stopRefreshAfterLastAccess = 7200)
@Cached(key = "#code", name = CacheConstants.DICT_KEY_PREFIX)
public R<List<LabelValueResp<Serializable>>> listDict(@PathVariable String code) {
Optional<Class<?>> enumClassOptional = this.getEnumClassByName(code);
return R.ok(enumClassOptional.map(this::listEnumDict).orElseGet(() -> dictItemService.listByDictCode(code)));

View File

@@ -17,16 +17,14 @@
package top.charles7c.continew.admin.webapi.system;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import top.charles7c.continew.admin.system.model.query.DictQuery;
import top.charles7c.continew.admin.system.model.req.DictReq;
import top.charles7c.continew.admin.system.model.resp.DictDetailResp;
import top.charles7c.continew.admin.system.model.resp.DictResp;
import top.charles7c.continew.admin.system.service.DictService;
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
import top.charles7c.continew.starter.extension.crud.controller.BaseController;
import top.charles7c.continew.starter.extension.crud.enums.Api;
/**
* 字典管理 API
@@ -36,5 +34,5 @@ import top.charles7c.continew.starter.extension.crud.controller.BaseController;
*/
@Tag(name = "字典管理 API")
@RestController
@CrudRequestMapping("/system/dict")
public class DictController extends BaseController<DictService, DictResp, DictDetailResp, DictQuery, DictReq> {}
@CrudRequestMapping(value = "/system/dict", api = {Api.PAGE, Api.GET, Api.ADD, Api.UPDATE, Api.DELETE})
public class DictController extends BaseController<DictService, DictResp, DictResp, DictQuery, DictReq> {}

View File

@@ -17,12 +17,9 @@
package top.charles7c.continew.admin.webapi.system;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RestController;
import top.charles7c.continew.admin.system.model.query.DictItemQuery;
import top.charles7c.continew.admin.system.model.req.DictItemReq;
import top.charles7c.continew.admin.system.model.resp.DictItemDetailResp;
import top.charles7c.continew.admin.system.model.resp.DictItemResp;
import top.charles7c.continew.admin.system.service.DictItemService;
import top.charles7c.continew.starter.extension.crud.annotation.CrudRequestMapping;
@@ -38,4 +35,4 @@ import top.charles7c.continew.starter.extension.crud.enums.Api;
@Tag(name = "字典项管理 API")
@RestController
@CrudRequestMapping(value = "/system/dict/item", api = {Api.PAGE, Api.GET, Api.ADD, Api.UPDATE, Api.DELETE})
public class DictItemController extends BaseController<DictItemService, DictItemResp, DictItemDetailResp, DictItemQuery, DictItemReq> {}
public class DictItemController extends BaseController<DictItemService, DictItemResp, DictItemResp, DictItemQuery, DictItemReq> {}