翻译功能(字典与序列化)
框架对 Vo 字段 上的 @Dict 在 JSON 序列化 阶段做「字典码 → 展示文案」替换;字典数据来自 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;- 添加前:
"sex": "1" - 添加后:
"sex": "男"

提示
字典未命中或 Redis 无缓存时,行为以实现为准(可能保留原码值);新增字典后需按运维习惯刷新缓存或重载字典。
Excel 导出中的字典
导出场景使用 DictExcelConverter 等能力做码值与文案转换,与列表 JSON 翻译规则同源;导出实体字段同样可配合 @Dict(以生成器与模块实现为准)。
ossId → URL、用户 id → 账号、部门 id → 名称
Vo 层若需 OSS 地址、用户名、部门名 等扩展翻译,以当前模块是否提供对应注解、序列化器或 SQL 关联查询为准(不同业务表命名可能为 ossId、deptId、userId 等);代码生成或手写 Vo 时请与现有模块保持一致。
