package top.imwork.window.silos.service.upms;

import top.imwork.window.silos.pojo.bo.SysUserRoleBO;
import top.imwork.window.silos.pojo.bo.SysUserRoleResultBO;
import top.imwork.window.silos.pojo.dto.SysUserRoleListDTO;
import top.imwork.window.silos.pojo.dto.SysUserRoleDTO;

/**
 * 用户与角色关联信息
 *
 * @author jiangxiaowei
 * email: e-jiangxiaowei@outlook.com
 * date: 2025-12-09 16:29:22
 */
public interface ISysUserRoleService{

    /**
     * 根据用户与角色关联信息id获取用户与角色关联信息详情
     * @param id 用户与角色关联信息id
     * @return SysUserRoleBO 用户与角色关联信息详情
     */
    SysUserRoleBO info(Long id);

    /**
     * 新增/修改 信息
     * @param sysUserRoleDTO 要保存的信息
     * @return SysUserRoleBO 保存后的信息
     */
    SysUserRoleBO save(SysUserRoleDTO sysUserRoleDTO);

    /**
     * 根据id删除信息
     * @param id id
     * @return true/false 是否删除成功
     */
    Boolean delete(Long id);

    /**
     * 根据ids删除信息
     * @param ids ids
     * @return true/false 是否删除成功
     */
    Boolean deleteByIds(String[] ids);

    /**
     * 分页查询信息
     * @param sysUserRoleListDTO 分页信息
     * @return SysUserRoleResultBO 查询结果
     */
    SysUserRoleResultBO queryPage(SysUserRoleListDTO sysUserRoleListDTO);

    void allotRoles(SysUserRoleDTO sysUserRoleDTO);
}

