package com.gic.haoban.manage.api.service;

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

import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.QwPendingIdDTO;

/**
 * 
* @ClassName: QwFriendApiService
* @Description: 企微好友
* @author xugh
* @date 2022年9月27日 上午10:09:14
*
 */
public interface QwFriendApiService {

    /**
     * 
    * @Title: pendingCheck
    * @Description: 校验商户能否获取pending
    * @author xugh
    * @param enterpriseId
    * @param unionid
    * @param openid
    * @param wxaOpenid
    * @return
    * @throws
     */
    public ServiceResponse<Map<String,String>> pendingIdCheck(String enterpriseId, String unionid, String openid,  String wxaUnionid,String wxaOpenid);
    
    public ServiceResponse<Map<String,String>> pendingIdCheck(String enterpriseId);

    
    /**
     * 
    * @Title: getPendingIdByUnionid
    * @Description: 通过uniond获取好友id/pendingid
    * @author xugh
    * @param enterpriseId
    * @param unionid
    * @param openid 小程序或者服务号openid
    * @return
    * @throws
     */
    public ServiceResponse<QwPendingIdDTO> getPendingIdByUnionid(String enterpriseId, String unionid, String openid);

    /**
     * 
    * @Title: getPendingIdByExternalid
    * @Description: 通过好友id查询pendingid
    * @author xugh
    * @param enterpriseId
    * @param externalUserId
    * @return
    * @throws
     */
    public ServiceResponse<QwPendingIdDTO> getPendingIdByExternalid(String enterpriseId, String externalUserId);

    /**
     * 
    * @Title: getPendingIdByExternalid
    * @Description: 通过好友id查询pendingid
    * @author xugh
    * @param enterpriseId
    * @param externalUserId
    * @return
    * @throws
     */
    //无效接口
//    public ServiceResponse<List<QwPendingIdDTO>> listPendingIdByExternalid(String enterpriseId,
//            List<String> externalUserIdList);
    
    /**
     * 
    * @Title: getCallTimes
    * @Description: 获取调用次数
    * @author xugh
    * @param wxEnterpriseId
    * @return
    * @throws
     */
    public ServiceResponse<Object> getCallTimes(String wxEnterpriseId) ;
}
