一、该问题的重现步骤是什么?
实体继承了tenantentity
2. 插入和查询的时候,字段里面的确会自动加入 tenant_id
3.但是查询条件里面,不会加上以tenant_id作为条件的sql
二、你期待的结果是什么?实际看到的又是什么?
期待在查询条件中,加入 where tenant_id = ?
实际上,没有成功
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
2.5.0 win
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
六、疑问?
我们的系统是给公司使用的,一个公司是一个租户,现在监管部门需要查看监管区域下的所有公司数据,这个时候,监管部门不属于任何租户,查询的时候,如果使用租户系统,会出现问题。求助大佬该如何进行设计。
你说的话相互矛盾了,我不知道你的情况到底是会加上还是不会加上。
另外你去测试下notice模块,采用非超管账号,应该可以看到会自动加上tenant_id的条件
如果要满足监管用户不过滤租户的话,很简单,只要模仿下图截图,设立一个监管角色,如果请求者是这个监管角色就放行,不进行租户过滤,加上一个很简单的条件即可
如果你不想重写BladeX-Tool的类,你可以在业务框架继承BladeTenantSqlParser,然后新的类重写这个方法,再把他实例化到spring的bean容器内就行,比如你可以把下一段代码放到blade-common的config类里,把new出来的类改成你的子类,返回的依然是BladeTenantSqlParser。这样一来,系统底层就会读取你自己拓展的逻辑了
谢谢,完美解决问题
00
扫一扫访问 Blade技术社区 移动端