一、开源项目简介
Easy Trans是一款用于做数据翻译的代码辅助插件,利用MyBatis Plus/JPA/BeetlSQL 等ORM框架的能力自动查表,让开发者可以快速的把ID/字典码 翻译为前端需要展示的数据。
二、开源协议
使用Apache-2.0开源协议
三、界面展示
四、功能概述
Easy Trans适用于5种场景
1 我有一个id,但是我需要给客户展示他的title/name 但是我又不想自己手动做表关联查询
2 我有一个字典码 sex 和 一个字典值0 我希望能翻译成 男 给客户展示。
3 我有一组user id 比如 1,2,3 我希望能展示成 张三,李四,王五 给客户
4 我有一个枚举,枚举里有一个title字段,我想给前端展示title的值 给客户
5 我有一个唯一键(比如手机号,身份证号码,但是非其他表id字段),但是我需要给客户展示他的title/name 但是我又不想自己手动做表关联查询
五、技术选型
Easy Trans 支持的五种类型
字典翻译(TransType.DICTIONARY)
需要使用者把字典信息刷新到DictionaryTransService 中进行缓存,使用字典翻译的时候取缓存数据源
简单翻译(TransType.SIMPLE)
比如有userId需要userName或者userPo给前端,原理是组件使用MybatisPlus/JPA的API自动进行查询,把结果放到TransMap中。
跨微服务翻译(TransType.RPC)
比如订单和用户是2个微服务,但是我要在订单详情里展示订单的创建人的用户名,需要用到RPC翻译,原理是订单微服务使用restTemplate调用用户服务的一个统一的接口,把需要翻译的id传过去,然后用户微服务使用MybatisPlus/JPA的API自动进行查询把结果给订单微服务,然后订单微服务拿到数据后进行翻译,当然使用者只是需要一个注解,这些事情都是由组件自动完成的。
AutoTrans(TransType.AUTO)
还是id翻译name场景,但是使用者如果想组件调用自己写的方法而不通过Mybatis Plus/JPA 的API进行数据查询,就可以使用AutoTrans
枚举翻译(TransType.ENUM)
比如我要把SEX.BOY 翻译为男,可以用枚举翻译。
六、源码地址
easy_trans: easy trans是一款用于做数据翻译的代码辅助插件,利用mybatis plus/jpa/beetsql 等ORM框架的能力自动查表,让开发者可以快速的把id/字典码 翻译为前端需要展示的数据