package com.securitycontrol.system.base.service;

import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.system.dto.UserDto;
import com.securitycontrol.entity.system.vo.UserVo;

import java.util.List;

/**
 * @author：cwchen
 * @date：2024-02-20-15:49
 * @version：1.0
 * @description：用户管理-业务逻辑层
 */
public interface IUserService {

    /**
     * 获取用户列表
     *
     * @param dto
     * @return List<UserVo>
     * @author cwchen
     * @date 2024/2/20 16:31
     */
    List<UserVo> getUserLists(UserDto dto);

    /**
     * 新增/修改用户
     *
     * @param vo
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/2/20 17:27
     */
    AjaxResult addOrUpdateUser(UserVo vo);

    /**
     * 删除用户
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/2/20 17:29
     */
    AjaxResult delUser(UserDto dto);

    /**
     * 用户详情
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/2/20 17:31
     */
    AjaxResult getUserById(UserDto dto);

    /**
     * 重置密码
     *
     * @param vo
     * @return AjaxResult
     * @description 重置密码
     * @author cwchen
     * @date 2024/2/23 13:47
     */
    AjaxResult editPwd(UserVo vo);
}
