package cn.com.ctop.common.module.service.impl;

import cn.com.ctop.common.module.service.ICorpWeixinService;
import com.google.gson.Gson;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.cp.api.WxCpChatService;
import me.chanjar.weixin.cp.api.WxCpOAuth2Service;
import me.chanjar.weixin.cp.api.WxCpService;
import me.chanjar.weixin.cp.api.WxCpUserService;
import me.chanjar.weixin.cp.api.impl.WxCpChatServiceImpl;
import me.chanjar.weixin.cp.api.impl.WxCpOAuth2ServiceImpl;
import me.chanjar.weixin.cp.api.impl.WxCpServiceImpl;
import me.chanjar.weixin.cp.api.impl.WxCpUserServiceImpl;
import me.chanjar.weixin.cp.bean.WxCpAppChatMessage;
import me.chanjar.weixin.cp.bean.WxCpMessage;
import me.chanjar.weixin.cp.bean.WxCpOauth2UserInfo;
import me.chanjar.weixin.cp.bean.WxCpUser;
import me.chanjar.weixin.cp.config.impl.WxCpDefaultConfigImpl;
import org.springframework.stereotype.Service;

@Slf4j
@Service
public class CorpWeixinServiceImpl implements ICorpWeixinService {
    public static void main(String[] args) {
        val configStorage = new WxCpDefaultConfigImpl();
        configStorage.setCorpId("ww24b8a47826f5875f");
        configStorage.setAgentId(1000002);
        configStorage.setCorpSecret("MJIlySADGPlgvADnkFQPUpfZD4yV-4WN6066OgNnb0s");
        configStorage.setToken("hcst2019");
        configStorage.setAesKey("hcst2019");
        val service = new WxCpServiceImpl();

        service.setWxCpConfigStorage(configStorage);
        WxCpOAuth2Service wxCpOAuth2Service = new WxCpOAuth2ServiceImpl(service);
        try {
//            WxCpOauth2UserInfo userInfo = wxCpOAuth2Service.getUserInfo(1000002,"_Mq0Dx1dynryHsgBkoU1dAk5A3Y7lrfg8V0GDv4ocWQ");
//            System.out.println(new Gson().toJson(userInfo));
//            WxCpUserService wxCpUserService = new WxCpUserServiceImpl(service);
//            WxCpUser user = wxCpUserService.getById("YiErSanSi");
//            System.out.println(new Gson().toJson(user));
            WxCpMessage message = new WxCpMessage();
            message.setToUser("YiErSanSi");
            message.setAgentId(1000002);
            message.setContent("测试消息");
            message.setMsgType("text");
            service.messageSend(message);
//            service.post("https://qyapi.weixin.qq.com/cgi-bin/message/send","touser=YiErSanSi&content=123&agentid=1000002&msgtype=text");
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}
