基于 Guava 实现 dict 字典数据的本地缓存

This commit is contained in:
YunaiV
2022-06-17 19:50:57 +08:00
parent 0045602e6b
commit 31c24cd340
22 changed files with 209 additions and 322 deletions

View File

@@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.system.api.dict;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.system.api.dict.dto.DictDataRespDTO;
import cn.iocoder.yudao.module.system.enums.ApiConstants;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -27,4 +28,22 @@ public interface DictDataApi {
CommonResult<Boolean> validDictDatas(@RequestParam("dictType") String dictType,
@RequestParam("values") Collection<String> values);
@GetMapping(PREFIX + "/get")
@ApiOperation("获得指定的字典数据")
@ApiImplicitParams({
@ApiImplicitParam(name = "dictType", value = "字典类型", example = "SEX", required = true, dataTypeClass = String.class),
@ApiImplicitParam(name = "value", value = "字典数据值", example = "1", required = true, dataTypeClass = String.class)
})
CommonResult<DictDataRespDTO> getDictData(@RequestParam("dictType") String dictType,
@RequestParam("value") String value);
@GetMapping(PREFIX + "/parse")
@ApiOperation("解析获得指定的字典数据")
@ApiImplicitParams({
@ApiImplicitParam(name = "dictType", value = "字典类型", example = "SEX", required = true, dataTypeClass = String.class),
@ApiImplicitParam(name = "label", value = "字典标签", example = "", required = true, dataTypeClass = String.class)
})
CommonResult<DictDataRespDTO> parseDictData(@RequestParam("dictType") String dictType,
@RequestParam("label") String label);
}

View File

@@ -0,0 +1,21 @@
package cn.iocoder.yudao.module.system.api.dict.dto;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("RPC 服务 - 字典数据 Response DTO")
@Data
public class DictDataRespDTO {
@ApiModelProperty(value = "字典标签", required = true, example = "芋道")
private String label;
@ApiModelProperty(value = "字典值", required = true, example = "iocoder")
private String value;
@ApiModelProperty(value = "字典类型", required = true, example = "sys_common_sex")
private String dictType;
@ApiModelProperty(value = "状态", required = true, example = "1", notes = "见 CommonStatusEnum 枚举")
private Integer status;
}