package com.younike.system.mapper;

import java.util.List;
import com.younike.system.domain.ServerUser;
import com.younike.system.domain.vo.ServerUserSearchParam;
import com.younike.system.domain.vo.ServerUserListVo;
import com.younike.system.domain.vo.ServerUserVo;
import com.younike.system.param.ServerUserQueryParam;

/**
 * 服务人员Mapper接口
 * 
 * @author elev
 * @date 2022-01-06
 */
public interface ServerUserMapper {

    /**
     * 服务人员列表
     * @param param
     * @return
     */
    List<ServerUserListVo> adminUserList(ServerUserQueryParam param);
    /**
     * 查询服务人员
     * 
     * @param serverId 服务人员主键
     * @return 服务人员
     */
    ServerUser selectServerUserByServerId(Long serverId);

    /**
     * 查询服务人员列表
     * 
     * @param serverUser 服务人员
     * @return 服务人员集合
     */
    List<ServerUser> selectServerUserList(ServerUser serverUser);

    /**
     * 新增服务人员
     * 
     * @param serverUser 服务人员
     * @return 结果
     */
    int insertServerUser(ServerUser serverUser);

    /**
     * 修改服务人员
     * 
     * @param serverUser 服务人员
     * @return 结果
     */
    int updateServerUser(ServerUser serverUser);

    /**
     * 删除服务人员
     * 
     * @param serverId 服务人员主键
     * @return 结果
     */
    int deleteServerUserByServerId(Long serverId);

    /**
     * 批量删除服务人员
     * 
     * @param serverIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteServerUserByServerIds(Long[] serverIds);

    ServerUser findByPhone(String phone);

    List<ServerUser> getServerUserList(ServerUserSearchParam searchParam);

    ServerUserVo selectUserInfo(ServerUser serverUser);

    void updateServerUsers(List<ServerUser> users);

    ServerUser findByOpenid(String openid);
}
