Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

我拓展了字典切面支持spel表达式,作者大大看看能不能采纳 #5549

Open
zjarlin opened this issue Nov 8, 2023 · 2 comments

Comments

@zjarlin
Copy link

zjarlin commented Nov 8, 2023

版本号:
前端版本:vue3版?还是 vue2版?

代码在仓库https://gitee.com/zjarlin/jl_starter.git DictAop2这个类
测试Controller在TestDictAopController
@GetMapping("testDictAop")
@ApiOperation("测试翻译")

问题描述:

我实现了以下几点
1:支持可重复注解(可以写多个表字典翻译,可以实现left join的效果,性能并不差)
2:支持嵌套对象(T对象里还有R对象)翻译(没用用递归实现,性能还可以)
3:支持各种返回类型Collection; Ipage;T ;String 及其包装类Result<?>
4:支持spel表达式(理论上多数据源或者远程调用,也可以用这个实现翻译,注解里写表达式就行)

我的思路:
对于Ipage;T其实都可以转为集合Collection,扫描加了注解的属性,然后用字节码技术生成<? extendsT>字节码加字段,批量转为=> List< TransInfo >上下文,归为几类
1:按照dictCode分组走批量查一次数据库操作
2:按照tabName,和codeColumn两个字段分组,走批量查询操作转为map ;set翻译后的值从map里取
3:按照spel表达式分组
最终只要遍历List < TransInfo> 进行反射即可

截图&代码:
image

友情提示(为了提高issue处理效率):

  • 未按格式要求发帖,会被直接删掉;
  • 描述过于简单或模糊,导致无法处理的,会被直接删掉;
  • 请自己初判问题描述是否清楚,是否方便我们调查处理;
  • 针对问题请说明是Online在线功能(需说明用的主题模板),还是生成的代码功能;
@zhangdaiscott
Copy link
Member

1

@hejie3225
Copy link

666

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants