package cn.wisenergy.service;

import cn.wisenergy.model.app.WorkUser;
import cn.wisenergy.model.dto.AllRoleAndUserRoleDto;
import cn.wisenergy.model.dto.OrganizationDto;
import cn.wisenergy.model.dto.ResultUser;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author chenqi
 * @since 2021-01-19
 */
public interface WorkUserService {

    /**
     * 用户登录
     *
     * @param loginName 登录名
     * @param password  密码
     * @param source    登录来源
     * @return
     */
    ResultUser login(String loginName, String password, String source);

    /**
     * 获取用户基础信息
     *
     * @param id 用户主键
     * @return
     */
    ResultUser getResultUserById(Integer id);

    WorkUser getById(Integer id);

    WorkUser getDeptManagerByIds(List<Integer> ids);

    /**
     * 将用户旧密码修改为新密码
     *
     * @param userId      用户主键
     * @param oldPassword 旧密码
     * @param newPassword 新密码
     * @return 用户传输对象
     */
    ResultUser changePassword(Integer userId, String oldPassword, String newPassword);

    /**
     * 获取组织架构
     * @return
     */
    OrganizationDto getOrganizationStructure();

    AllRoleAndUserRoleDto getUserRoleDto(Integer userId,Integer page, Integer pageSize,Integer status,String key);

    Boolean modifyRole(Integer userId, List<Integer> roleIds,Integer status);

    Boolean reSetPassword(Integer userId);
}
