Skip to content

翻译功能(字典与序列化)

框架对 Vo 字段 上的 @DictJSON 序列化 阶段做「字典码 → 展示文案」替换;字典数据来自 Redis(与后台字典维护、缓存刷新逻辑一致)。

字典 type → label

  • 注解:com.sxpcwlkj.common.annotation.Dict,仅可标注在字段上,value() 为字典编码(如 SYS_SEX)。
  • 序列化器:DictSerializer(由 DictSensitiveAnnotationIntrospector 注册到 Jackson)。
  • Redis 键约定(与 CacheConstants.SYS_DICT_KEY 一致):sys_dict: + fieldName + : + 码值,例如 sys_dict:SYS_SEX:1。全量字典类型也会按服务实现缓存,具体以 SysDictServiceImpl 为准。

示例:

java
@Dict("SYS_SEX")
private String sex;
  1. 添加前:"sex": "1"
  2. 添加后:"sex": "男"

提示

字典未命中或 Redis 无缓存时,行为以实现为准(可能保留原码值);新增字典后需按运维习惯刷新缓存或重载字典。

Excel 导出中的字典

导出场景使用 DictExcelConverter 等能力做码值与文案转换,与列表 JSON 翻译规则同源;导出实体字段同样可配合 @Dict(以生成器与模块实现为准)。

ossId → URL、用户 id → 账号、部门 id → 名称

Vo 层若需 OSS 地址、用户名、部门名 等扩展翻译,以当前模块是否提供对应注解、序列化器或 SQL 关联查询为准(不同业务表命名可能为 ossIddeptIduserId 等);代码生成或手写 Vo 时请与现有模块保持一致。

Released under the MIT License.