18 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 翻译拦截模块(bd-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】 的字段,用于回填状态位翻译之后的字符内容。
 |