package com.hotent.uc.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.hotent.uc.model.OrgExternalDept;
import com.hotent.uc.model.OrgExternalUser;
import org.apache.ibatis.annotations.Param;

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

/**
 * 用户与外部通讯录关系表 Mapper 接口
 *
 * @company 广州宏天软件股份有限公司
 * @author pangquan
 * @since 2020-10-30
 */
public interface DIngUserDao extends BaseMapper<OrgExternalUser> {


    /**
     * @description  钉钉向中台同步
     * @author  yangzibin 
     * @date    2024/1/16 10:37
     * @param	page	
     * @param	userName	
     * @param	mobile	
     * @param	orgId	
     * @return  com.baomidou.mybatisplus.core.metadata.IPage<java.util.List<java.util.Map<java.lang.String,java.lang.Object>>>
     */
    IPage<List<Map<String, Object>>> queryUserComplexDingToSystem(Page page,@Param("userName")  String userName,@Param("mobile") String mobile,@Param("orgId") String orgId,@Param("extDeptId") String extDeptId,@Param("type") String type);
    /**
     * @description  中台向钉钉同步
     * @author  yangzibin
     * @date    2024/1/16 10:37
     * @param	page
     * @param	userName
     * @param	mobile
     * @param	orgId
     * @return  com.baomidou.mybatisplus.core.metadata.IPage<java.util.List<java.util.Map<java.lang.String,java.lang.Object>>>
     */
    IPage<List<Map<String, Object>>> queryUserComplexSystemToDing(Page page,@Param("userName")  String userName,@Param("mobile") String mobile,@Param("orgId") String orgId,@Param("extDeptId") String extDeptId,@Param("type") String type);

    /**
     * @description 钉钉端暂无人员
     * @author  yangzibin
     * @date    2024/1/16 10:37
     * @param	page
     * @param	userName
     * @param	mobile
     * @param	orgId
     * @return  com.baomidou.mybatisplus.core.metadata.IPage<java.util.List<java.util.Map<java.lang.String,java.lang.Object>>>
     */
    IPage<List<Map<String, Object>>> queryUserDingNo(Page page,@Param("userName")  String userName,@Param("mobile") String mobile,@Param("orgId") String orgId);
    /**
     * @description  中台端暂无人员
     * @author  yangzibin
     * @date    2024/1/16 10:45
     * @param	page
     * @param	userName
     * @param	mobile
     * @param	orgId
     * @return  com.baomidou.mybatisplus.core.metadata.IPage<java.util.List<java.util.Map<java.lang.String,java.lang.Object>>>
     */
    IPage<List<Map<String, Object>>> queryUserSysteNo(Page page,@Param("userName")  String userName,@Param("mobile") String mobile,@Param("orgId") String orgId);
    /**
     * @description  查询用户信息
     * @author  yangzibin
     * @date    2024/1/17 11:22
     * @param	extUserId
     * @param	orgId
     * @return  java.util.Map<java.lang.String,java.lang.Object>
     */
    Map<String,Object> queryExtUserInfo(@Param("extUserId")  String extUserId,@Param("orgId")  String orgId);


    /**
     * @description  查询用户信息
     * @author  yangzibin
     * @date    2024/1/17 11:22
     * @param	extUserId
     * @param	orgId
     * @return  java.util.Map<java.lang.String,java.lang.Object>
     */
    Map<String,Object> queryExtUserInfoSystem(@Param("userId")  String userId);
}
