package com.njcn.product.cnuser.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.product.cnuser.user.pojo.po.SysFunction;
import com.njcn.product.cnuser.user.pojo.po.SysRoleFunction;

import java.util.List;

/**
 * @author caozehui
 * @date 2024-11-12
 */
public interface ISysRoleFunctionService extends IService<SysRoleFunction> {

    /**
     * 获取角色id绑定的菜单（资源）
     *
     * @param roleId 角色id
     * @return 菜单（资源）列表
     */
    List<SysFunction> listFunctionByRoleId(String roleId);

    /**
     * 更新角色菜单（资源）关联数据
     *
     * @param roleId      角色id
     * @param functionIds 菜单（资源）ids
     * @return 成功返回true，失败返回false
     */
    boolean updateRoleFunction(String roleId, List<String> functionIds);

    /**
     * 根据角色ids删除角色资源关联数据
     *
     * @param roleIds
     * @return 成功返回true，失败返回false
     */
    boolean deleteRoleFunctionByRoleIds(List<String> roleIds);

    /**
     * 根据菜单（资源）ids删除角色资源关联数据
     *
     * @param functionIds 菜单（资源）ids
     * @return 成功返回true，失败返回false
     */
    boolean deleteRoleFunctionByFunctionIds(List<String> functionIds);
}
