package com.tuoheng.admin.service.user;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tuoheng.admin.entity.User;
import com.tuoheng.admin.request.user.QueryUserPageListRequest;
import com.tuoheng.admin.request.user.UserInitRequest;
import com.tuoheng.admin.request.user.UserResetPwdRequest;
import com.tuoheng.common.core.utils.JsonResult;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * <p>
 * 后台用户管理表 服务类
 * </p>
 *
 * @author 拓恒
 * @since 2020-10-30
 */
public interface IUserService {

    /**
     * 获取用户分页列表
     *
     * @param request 查询条件
     * @return
     */
    JsonResult getPageList(QueryUserPageListRequest request);

    /**
     * 获取用户详情
     *
     * @param username
     * @return
     */
    JsonResult getUserInfo();

    /**
     * 添加用户
     *
     * @param user 实体对象
     * @return
     */
    JsonResult add(@RequestBody User user);

    /**
     * 编辑用户
     *
     * @param user 实体对象
     * @return
     */
     JsonResult edit(User user);

    /**
     * 删除用户
     *
     * @param idList 用户ID
     * @return
     */
    JsonResult deleteByIdList(List<String> idList);

    /**
     * 设置状态
     *
     * @param id
     * @param status
     *
     * @return
     */
    JsonResult updeateStatus(String id, Integer status);

    /**
     * 重置密码
     *
     * @param id 参数
     * @return
     */
    JsonResult resetPassword(String id);

    /**
     * 根据部门id查询用户列表
     */
    JsonResult getListByDeptId(String deptId);

    /**
     * 初始化系统超级管理员用户
     */
    JsonResult init(UserInitRequest request);

}
