package com.inspect.system.service;

import com.inspect.system.base.domain.SysUser;

import java.util.HashMap;
import java.util.List;

public interface ISysUserService {
    List<SysUser> selectUserList(SysUser sysUser);

    List<SysUser> selectAllocatedList(SysUser sysUser);

    List<SysUser> selectUnallocatedList(SysUser sysUser);

    SysUser selectUserByUserName(String username);

    SysUser selectUserById(Long userId);

    String selectUserRoleGroup(String username);

    String selectUserPostGroup(String username);

    String checkUserNameUnique(String username);

    String checkPhoneUnique(SysUser user);

    String checkEmailUnique(SysUser user);

    void checkUserAllowed(SysUser user);

    void checkUserDataScope(Long userId);

    int insertUser(SysUser sysUser);

    boolean registerUser(SysUser sysUser);

    int updateUser(SysUser sysUser);

    void insertUserAuth(Long userId, Long[] roleIds);

    int updateUserStatus(SysUser sysUser);

    int updateUserProfile(SysUser sysUser);

    boolean updateUserAvatar(String username, String url);

    int resetPwd(SysUser sysUser);

    int resetUserPwd(String username, String password);

    int deleteUserById(Long userId);

    int deleteUserByIds(Long[] userIds);

    String importUser(List<SysUser> sysUserList, Boolean updateSupport, String operateName);

    HashMap<String, Object> verifyUserUpdatePassTime(Long userId);
}
