package cn.iocoder.yudao.module.aftersales.service.permission; import cn.iocoder.yudao.module.aftersales.dal.dataobject.permission.AfterSalePermissionDO; import cn.iocoder.yudao.module.aftersales.enums.AfterSaleBizTypeEnum; import cn.iocoder.yudao.module.aftersales.enums.permission.AfterSalePermissionLevelEnum; import cn.iocoder.yudao.module.aftersales.service.permission.bo.AfterSalePermissionCreateReqBO; import java.util.Collection; import java.util.List; /** * 售后模块数据权限 Service 接口 */ public interface AfterSalePermissionService { /** * 创建数据权限(负责人权限) * * @param createReqBO 创建信息 * @return 编号 */ Long createPermission(AfterSalePermissionCreateReqBO createReqBO); /** * 删除数据权限 * * @param bizType 数据类型,关联 {@link AfterSaleBizTypeEnum} * @param bizId 数据编号 */ void deletePermission(Integer bizType, Long bizId); /** * 获取数据权限列表 * * @param bizType 数据类型 * @param bizId 数据编号 * @return 权限列表 */ List getPermissionListByBiz(Integer bizType, Long bizId); /** * 获取数据权限列表(批量) * * @param bizType 数据类型 * @param bizIds 数据编号列表 * @return 权限列表 */ List getPermissionListByBiz(Integer bizType, Collection bizIds); /** * 校验是否有指定数据的操作权限 * * @param bizType 数据类型 * @param bizId 数据编号 * @param userId 用户编号 * @param level 权限级别 * @return 是否有权限 */ boolean hasPermission(Integer bizType, Long bizId, Long userId, AfterSalePermissionLevelEnum level); }