package com.njcn.gather.user.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.gather.user.user.pojo.po.SysRole;
import com.njcn.gather.user.user.pojo.po.SysUserRole;

import java.util.List;

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

    /**
     * 根据用户id获取角色
     *
     * @param userId 用户id
     * @return 角色信息
     */
    List<SysRole> listRoleByUserId(String userId);

    /**
     * 新增用户角色关联数据
     *
     * @param userId  用户id
     * @param roleIds 角色id
     * @return 成功返回true，失败返回false
     */
    boolean addUserRole(String userId, List<String> roleIds);

    /**
     * 修改用户角色关联数据
     *
     * @param userId  用户id
     * @param roleIds 角色id
     * @return 成功返回true，失败返回false
     */
    boolean updateUserRole(String userId, List<String> roleIds);

    /**
     * 根据用户id删除用户角色关联数据
     *
     * @param userIds 用户ids
     * @return 成功返回true，失败返回false
     */
    boolean deleteUserRoleByUserIds(List<String> userIds);

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