package com.diagbot.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.diagbot.dto.UserInfoDTO;
import com.diagbot.dto.UserInfoExportDTO;
import com.diagbot.dto.UserOrgDTO;
import com.diagbot.entity.User;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author gaodm
 * @since 2018-08-02
 */
public interface UserService extends IService<User> {

    User findByName(String username);

    IPage<User> selectUserListPage(Page<User> page, User user);
    
    public IPage<UserInfoDTO>  selectUserInfoListPage(Page<UserInfoDTO> page,UserInfoDTO userInfo);
    
    public boolean updateUserInfoAll(Map<String, Object> userMap);

    boolean updateDeleted(Map<String,Object> map);

    IPage<User> indexPage(Page<User> page, User user);

    public List<User> getByIds(List<Long> ids);

    public List<UserOrgDTO> getUserOrgByIds(List<Long> userIds);

    public boolean auditUserInfoAll(Map<String,Object> auditMap);

    public List<UserInfoExportDTO> dependentuserInfoByTime(Map<String,Object> map);

    public List<User> getUserByOrgName(String orgName);
}
