一、该问题的重现步骤是什么?
1. 新建用户时选择多个部门,比如部门id为1 , 2
2. 新建业务数据,插入数据,调用baseService中save方法
3.
新增部分代码:
(entity) { .resolveEntity(entity).save(entity)}
(entity) { { BladeUser user = AuthUtil.()Date now = DateUtil.()(entity.getId() == ) { (user != ) { entity.setCreateUser(user.getUserId())entity.setCreateDept(Func.(user.getDeptId()))entity.setUpdateUser(user.getUserId())} (entity.getStatus() == ) { entity.setStatus()} entity.setCreateTime(now)} (user != ) { entity.setUpdateUser(user.getUserId())}
数据权限部分代码:
(DataScopeEnum.== scopeTypeEnum) { ids.addAll(Func.(bladeUser.getDeptId()))
关键代码为:
entity.setCreateDept(Func.firstLong(user.getDeptId()));
这里给业务数据自设置了一个部门id,数据权限那块设置的本部门可见类型数据权限,那么业务数据在当前用户为多个部门时会缺失某些部门的数据
二、你期待的结果是什么?实际看到的又是什么?
用户可以设置多部门,业务权限如果设置本部门可见,业务数据就应该显示多个部门的数据,然而并不是。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex 2.9
扫一扫访问 Blade技术社区 移动端