package com.xiaopeng.account.service;
|
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.xiaopeng.account.model.dto.SysRoleAddDTO;
|
import com.xiaopeng.account.model.dto.SysRoleEditDTO;
|
import com.xiaopeng.account.model.query.SysRolePageQuery;
|
import com.xiaopeng.account.model.vo.SysRoleDetailVO;
|
import com.xiaopeng.account.model.vo.SysRolePageVO;
|
import com.xiaopeng.api.model.account.SysRole;
|
import com.xiaopeng.common.core.web.page.PageInfo;
|
|
import java.util.Collection;
|
import java.util.Set;
|
|
/**
|
* <p>
|
* 角色信息表 服务类
|
* </p>
|
*
|
* @author mitao
|
* @since 2026-02-03
|
*/
|
public interface ISysRoleService extends IService<SysRole> {
|
|
/**
|
* 根据角色ID查询权限组ID
|
*
|
* @param roleId 角色ID
|
* @return 权限组ID
|
*/
|
Long selectGroupIdByRoleId(Long roleId);
|
|
/**
|
* 根据用户ID查询角色权限
|
*
|
* @param userId 用户ID
|
* @return 角色权限集合
|
*/
|
Set<String> selectRolePermissionByUserId(Long userId);
|
|
/**
|
* 新增角色
|
*
|
* @param dto 新增角色请求
|
*/
|
void addRole(SysRoleAddDTO dto);
|
|
/**
|
* 编辑角色
|
*
|
* @param dto 编辑角色请求
|
*/
|
void editRole(SysRoleEditDTO dto);
|
|
/**
|
* 获取角色详情(含菜单树)
|
*
|
* @param id 角色ID
|
* @return 角色详情
|
*/
|
SysRoleDetailVO getRoleDetail(Long id);
|
|
/**
|
* 角色分页列表
|
*
|
* @param query 分页查询参数
|
* @return 分页结果
|
*/
|
PageInfo<SysRolePageVO> pageList(SysRolePageQuery query);
|
|
/**
|
* 删除角色(逻辑删除)
|
*
|
* @param id 角色ID
|
*/
|
void deleteRole(Long id);
|
|
/**
|
* 校验角色名称唯一性
|
*
|
* @param roleName 角色名称
|
* @param excludeId 排除的角色ID(编辑时使用)
|
* @return true=唯一,false=不唯一
|
*/
|
boolean checkRoleNameUnique(String roleName, Long excludeId);
|
|
|
/**
|
* 检查菜单是否关联角色
|
* @param menuId
|
* @return
|
*/
|
Boolean checkMenuExistRole(Long menuId);
|
|
/**
|
* 根据操作用户ID查询权限
|
* @param id
|
* @return
|
*/
|
Set<String> selectRolePermissionByOperationUserId(Long id);
|
}
|