この記事は、WeChat カスタマー サービスをエンタープライズ WeChat に応用したものです。全体のロジックは次のとおりです: WeChat ユーザーがリクエストを送信し、エンタープライズ WeChat カスタマー サービスは、カスタマー サービスが受信した人数が 20 人を超えているかどうかを判断します。20 人を超えた場合は、プロセスを待機している場合、それ以外の場合はメソッドに入り、内部的に応答します。
Get 型インターフェイスでは、インターフェイスの入力パラメータを取得し、インターフェイスの戻り結果に対して業務処理を実行する必要もあります。
インターフェースのパラメータを取得する
Post メソッドとは異なり、Get メソッドのリクエスト パラメーターは JSON 型のデータではないため、.replace() メソッドを通じて直接接続できます。
String servicerListUrl = "https://qyapi.weixin.qq.com/cgi-bin/kf/servicer/list?access_token=ACCESS_TOKEN&open_kfid=XXX".replace("ACCESS_TOKEN", sToken.getToken()).replace("XXX", openKfid);
インターフェースから返された結果を処理する
インターフェースの戻り結果はJSONObjectなので
そこでservicer_listのsize()を取得して判断します。
JSONObject getServicerListJSONObject = WeixinUtil.HttpRequest(servicerListUrl, "GET", null);
JSONArray getServicerListJSONArray = (JSONArray) getServicerListJSONObject.get("servicer_list");
logger.error("getServicerListJSONArray.size()-----------"+getServicerListJSONArray.size());
if(getServicerListJSONArray.size() < 21){
Map mapText = new HashMap();
mapText.put("content","工作时间内,且接待人员不超过20,会话消息测试---------------");
joSend.put("text",mapText);
}else {
Map mapText = new HashMap();
mapText.put("content","工作时间内,但是接待人员超过20,进入等待---------------");
joSend.put("text",mapText);
}