java-retail-app/文档/翻译说明/翻译拦截器.txt

18 lines
1.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

翻译拦截模块hzs-common-aop -- TransactionAspectAdvice.java
如果业务操作时返回内容需要统一翻译则在pom文件中引入该模块。
翻译拦截器会统一拦截 com.hzs 包下 controller 下的以 Controller 结尾类。
翻译拦截器会根据请求头中指定的翻译语言,与当前登录用户所属国家的默认语言进行比较,如果不一致则进行处理。
返回实体中,如果需要进行统一翻译的需要在对应的字段添加注解 @Transaction。
@Transaction注解中有4个参数
1. isForce -- 是否强制国际化处理: 强制处理会直接按照选择显示语言进行处理
2. isCache -- 是否来源于缓存: 如果是则直接从redis中取如果否则直接从数据库中查询
3. transactionKey -- 翻译规则前缀: 当来源于缓存为true时缓存对应的key值前缀来源于 EnumsPrefixConstants 中内容
4. isValue -- 是否当前字段取值: 当来源于缓存为true时并且使用当前字段取值true那么最终用于获取缓存中的翻译key值由 翻译规则前缀 + 当前字段实际值 组成
5. valueField -- 默认翻译数据字段: 当来源于缓存为true时并且使用当前字段取值为false那么最终用于获取缓存中的翻译key值由 翻译规则前缀 + 该属性指定值
如果枚举值进行返回列表时,需要将枚举内容转化成 EnumEntity 实体在实体中因无法直接指定各枚举对应的翻译前缀KEY所以需要在实体对象的 transactionKey 字段指定翻译前缀KEY
注: 数值类型的状态位返回时,需要在实体中定义以 【字段名 + Val】 的字段,用于回填状态位翻译之后的字符内容。