//package com.gree.mall.miniapp.logic.common;
//
//import com.gree.mall.miniapp.config.wx.WxConfiguration;
//import com.gree.mall.miniapp.plus.entity.AdminCompanyWechat;
//import lombok.extern.slf4j.Slf4j;
//import me.chanjar.weixin.common.error.WxErrorException;
//import me.chanjar.weixin.cp.api.WxCpService;
//import me.chanjar.weixin.cp.bean.WxCpMaJsCode2SessionResult;
//import me.chanjar.weixin.cp.bean.WxCpUser;
//import me.chanjar.weixin.cp.bean.external.WxCpUserExternalTagGroupList;
//import me.chanjar.weixin.cp.bean.external.contact.WxCpExternalContactBatchInfo;
//import me.chanjar.weixin.cp.bean.external.contact.WxCpExternalContactInfo;
//import org.springframework.stereotype.Component;
//
//import java.util.List;
//
///**
// *  企业微信api
// *  2021-09-17
// *  lijh
// */
//@Component
//@Slf4j
//public class WorkWechatLogic {
//
//    /**
//     * 小程序应用
//     */
//    public WxCpService miniApp(AdminCompanyWechat adminCompanyWechat){
//        WxCpService cpService = WxConfiguration.cpServices.get(adminCompanyWechat.getAgentId1());
//        return cpService;
//    }
//
//    /**
//     * 标签应用
//     */
//    public WxCpService miniTagApp(AdminCompanyWechat adminCompanyWechat){
//        WxCpService cpService = WxConfiguration.cpServices.get(adminCompanyWechat.getAgentId3());
//        return cpService;
//    }
//
//
//    /**
//     * 验证登录身份
//     * @param code
//     * @return
//     * @throws WxErrorException
//     */
//    public WxCpMaJsCode2SessionResult jsCode2Session(String code,AdminCompanyWechat adminCompanyWechat) {
//        try {
//            WxCpMaJsCode2SessionResult wxCpMaJsCode2SessionResult = this.miniApp(adminCompanyWechat).jsCode2Session(code);
//            return wxCpMaJsCode2SessionResult;
//        } catch (WxErrorException e) {
//            log.error("企业微信调用api失败" + e.getMessage());
//        }
//        return null;
//    }
//
//    /**
//     * 获取企业微信成员
//     * @param userId
//     * @return
//     * @throws WxErrorException
//     */
//    public WxCpUser getUser(String userId,AdminCompanyWechat adminCompanyWechat){
//        try {
//            WxCpUser wxCpUser = this.miniApp(adminCompanyWechat).getUserService().getById(userId);
//            return wxCpUser;
//        }catch(Exception e){
//            log.error("获取企业微信成员失败"+e.getMessage());
//            return null;
//        }
//    }
//
//
//    /**
//     * 获取企业标签
//     * @return
//     * @throws WxErrorException
//     */
//    public  List<WxCpUserExternalTagGroupList.TagGroup> getTag(AdminCompanyWechat adminCompanyWechat) {
//        WxCpUserExternalTagGroupList corpTagList = null;
//        try {
//            corpTagList = this.miniApp(adminCompanyWechat).getExternalContactService().getCorpTagList(null);
//        } catch (WxErrorException e) {
//            log.error("企业微信调用api失败"+e.getMessage());
//        }
//        List<WxCpUserExternalTagGroupList.TagGroup> tagGroupList = corpTagList.getTagGroupList();
//        return tagGroupList;
//    }
//
//    /**
//     * 获取客户列表用户id
//     * @param workUserId
//     * @return
//     * @throws WxErrorException
//     */
//    public List<String> getExternalUserIdByWorkUserId(String workUserId,AdminCompanyWechat adminCompanyWechat){
//        List<String> strings = null;
//        try {
//            strings = this.miniApp(adminCompanyWechat).getExternalContactService().listExternalContacts(workUserId);
//        } catch (WxErrorException e) {
//            log.error("企业微信调用api失败"+e.getMessage());
//        }
//        return strings;
//    }
//
//    /**
//     * 获取客户详情
//     */
//    public WxCpExternalContactInfo getCustomerDetail(String externalUserId,AdminCompanyWechat adminCompanyWechat) {
//        WxCpExternalContactInfo contactDetail = null;
////        try {
////            contactDetail = this.miniApp(adminCompanyWechat).getExternalContactService().getContactDetail(externalUserId);
////        } catch (WxErrorException e) {
////            e.printStackTrace();
////        }
//        return contactDetail;
//    }
//
//    /**
//     * 批量获取客户详情
//     * @param workUserIds 成员ids
//     * @param cursor 用于分页查询的游标，字符串类型，由上一次调用返回，首次调用可不填
//     * @param limit 返回的最大记录数，整型，最大值100，默认值50，超过最大值时取最大值
//     */
//    public WxCpExternalContactBatchInfo getCustomerByExternalUserId(String workUserIds,String cursor,Integer limit,AdminCompanyWechat adminCompanyWechat) {
//        WxCpExternalContactBatchInfo contactDetailBatch = null;
////        try {
////            contactDetailBatch = this.miniApp(adminCompanyWechat).getExternalContactService()
////                    .getContactDetailBatch(workUserIds, cursor, limit);
////        } catch (WxErrorException e) {
////            log.error("企业微信调用api失败"+e.getMessage());
////        }
//        return contactDetailBatch;
//    }
//
//
//
//
//
//}
