package top.tqx.demo_1.service;

import top.tqx.demo_1.common.PageResult;

import java.util.List;
import top.tqx.demo_1.dto.UserCreateRequest;
import top.tqx.demo_1.dto.UserUpdateRequest;
import top.tqx.demo_1.vo.UserVO;

public interface UserService {

    PageResult<UserVO> pageUsers(Integer pageNum, Integer pageSize, String username, Long deptId);

    void createUser(UserCreateRequest request);

    void updateUser(UserUpdateRequest request);

    void deleteUser(Long id);

    void resetPassword(Long id);

    void updateStatus(Long id, Integer status);

    UserVO getUserById(Long id);

    void assignRoles(Long userId, List<Long> roleIds);
}
