package com.jkcredit.invoice.mapper.user;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jkcredit.invoice.model.entity.user.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @description:
 * @author: sunzhaoning
 * @create: 2019-05-28 17:47
 * @version: V1.0
 **/
public interface UserMapper extends BaseMapper<User> {

    /**
     * 通过用户名查询用户信息（含有角色信息）
     *
     * @param userName 用户名
     * @return User
     */
    User getUserByUserName(String userName);


    /**
     * 分页查询用户信息（含角色）
     *
     * @param page    分页
     * @param user 查询参数
     * @return list
     */
    IPage<List<User>> getUsersPage(Page page, @Param("query") User user);

    /**
     * 获取所有用户信息
     * @return
     */
    List<User> getAllUser();
    /**
     * 通过ID查询用户信息
     *
     * @param id 用户ID
     * @return User
     */
    User getUserById(Integer id);

    /**
     * 更新用户密码
     * @param user
     * @return
     */
    Boolean updatePassword(User user);



    /**
     * 更新锁定状态
     * @param user
     * @return
     */
    Boolean updateLock(User user);

    /**
     * 修改用户信息
     * @param user
     * @return
     */
    Boolean  updateUserInfo(User user);


    /**
     * 更新企业编号
     * @param user
     * @return
     */
    Boolean updateCompanyNumById(User user);
}
