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

import top.imwork.window.silos.entity.upms.AllotRoles;
import top.imwork.window.silos.pojo.bo.SysUserBO;
import top.imwork.window.silos.pojo.bo.SysUserResultBO;
import top.imwork.window.silos.pojo.dto.SysUserListDTO;
import top.imwork.window.silos.pojo.dto.SysUserDTO;

import java.util.List;

/**
 * 用户信息
 *
 * @author jiangxiaowei
 * email: e-jiangxiaowei@outlook.com
 * date: 2025-12-09 16:29:22
 */
public interface ISysUserService{

    /**
     * 根据用户信息id获取用户信息详情
     * @param id 用户信息id
     * @return SysUserBO 用户信息详情
     */
    SysUserBO info(Long id);

    /**
     * 新增/修改 信息
     * @param sysUserDTO 要保存的信息
     * @return SysUserBO 保存后的信息
     */
    SysUserBO save(SysUserDTO sysUserDTO);

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

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

    /**
     * 分页查询信息
     * @param sysUserListDTO 分页信息
     * @return SysUserResultBO 查询结果
     */
    SysUserResultBO queryPage(SysUserListDTO sysUserListDTO);

    /**
     * 根据用户id查询所拥有的角色
     * @param id
     * @return
     */
    List<AllotRoles> queryAllotRoles(Long id);
}

