一、该问题的重现步骤是什么?
1. 在org.springblade.desk.mapper.NoticeMapper 里创建selectNoticePage1方法,同时使用注解数据权限进行查询本部门及下级所有通知数据
@DataAuth(type = DataScopeEnum.OWN_DEPT_CHILD)
List<NoticeVO> selectNoticePage1(IPage page, NoticeVO notice);
2. 在对应mapper.xml 中写单表查询SQL语句
<select id="selectNoticePage1" resultMap="noticeVOResultMap">
SELECT
n.*
FROM
blade_notice n
</select>
3. 在org.springblade.desk.service.INoticeService和org.springblade.desk.service.impl.NoticeServiceImpl创建对应service方法,并在org.springblade.desk.controller.NoticeController 进行接口调用
4. 修改数据库数据将create_dept 数据修改成要登录的用户所在组织
5. 用户登录,查询消息通知列表,看配置数据权限mapper 方法对应SQL打印语句
二、你期待的结果是什么?实际看到的又是什么?
期待是查询出一条与本用户相关的数据,实际上查出的是全部数据
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeX 商业版本 master分支代码,在Windows 10 操作系统上
四、请提供详细的错误堆栈信息,这很重要。
未报错,注解未生效
五、若有更多详细信息,请在下面提供。
你用的是超级管理员么?用其他的角色帐号测试,超管是不受数据权限插件约束的
不是使用超管账号,使用的是常州刀锋下的manager 账号
你精简一下代码,弄一个最简单的demo工程,然后传到帖子里,我下载了调试看看
您好,我多次尝试后,发现注解可以用了,现在有个疑问想咨询下,如果mapper 文件中没写任何方法,在查询的时候只用自带的列表查询或者分页查询
noticeService.page();或者是baseMapper.selectList();
数据权限注解应该怎么使用?mapper文件如下图
扫一扫访问 Blade技术社区 移动端