提交 8572e4a0 作者: 洪东保

权限查询

父级 11f246f2
......@@ -25,4 +25,14 @@ public interface ModulePermissionService extends IService<ModulePermission> {
List<PermissionCheckedDTO.User> personalCancelList();
Boolean personalSwitch(String userId, boolean enable);
/**
* 校验权限
* @param deptIds
* @param userId
* @param purpose
* @return 权限集合
*/
List<Long> checkPermission(List<String> deptIds, String userId, Integer purpose);
Boolean checkPermission(List<String> deptIds, String userId, Integer purpose, String targetId);
}
......@@ -199,6 +199,28 @@ public class ModulePermissionServiceImpl extends ServiceImpl<ModulePermissionMap
}
}
@Override
public List<Long> checkPermission(List<String> deptIds, String userId, Integer purpose) {
List<ModulePermission> list = this.list(new LambdaQueryWrapper<ModulePermission>()
.eq(ModulePermission::getPurpose, purpose)
.and(e->e.eq(ModulePermission::getType, RecordTemplateConstant.REL_TYPE_DEPT).in(ModulePermission::getRelId, deptIds)
.or().eq(ModulePermission::getType, RecordTemplateConstant.REL_TYPE_USER).eq(ModulePermission::getRelId, userId))
.select(ModulePermission::getTargetId)
);
return list.stream().map(ModulePermission::getTargetId).collect(Collectors.toList());
}
@Override
public Boolean checkPermission(List<String> deptIds, String userId, Integer purpose, String targetId) {
return baseMapper.selectCount(new LambdaQueryWrapper<ModulePermission>()
.eq(ModulePermission::getPurpose, purpose)
.eq(ModulePermission::getTargetId, targetId)
.and(e->e.eq(ModulePermission::getType, RecordTemplateConstant.REL_TYPE_DEPT).in(ModulePermission::getRelId, deptIds)
.or().eq(ModulePermission::getType, RecordTemplateConstant.REL_TYPE_USER).eq(ModulePermission::getRelId, userId))
.select(ModulePermission::getTargetId)) > 0;
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论