Commit 377f8a69 by 徐高华

企微托管

parent a0617652
...@@ -16,87 +16,106 @@ public class OpenUtils { ...@@ -16,87 +16,106 @@ public class OpenUtils {
private static Logger logger = LogManager.getLogger(OpenUtils.class); private static Logger logger = LogManager.getLogger(OpenUtils.class);
private static final String gicCallbackHost = GlobalVar.ctxPropertiesMap.get("haoban_service_host")+"/haoban-manage3-operation-web/qywx-msg-notice" ; private static final String gicCallbackHost = GlobalVar.ctxPropertiesMap.get("haoban_service_host") + "/haoban-manage3-operation-web/qywx-msg-notice";
private static final String openHost= "http://47.94.7.218:8089/wxwork/%s" ; private static final String openHost = "http://47.94.7.218:8089/wxwork/%s";
public static ServiceResponse<QwOpenResultInitBO> init(Long qwUserId) { public static ServiceResponse<QwOpenResultInitBO> init(Long qwUserId) {
JSONObject initJson = new JSONObject() ; JSONObject initJson = new JSONObject();
if(null != qwUserId) { if (null != qwUserId) {
initJson.put("vid",qwUserId) ; initJson.put("vid", qwUserId);
} }
String initStr = HttpClient.sendPostJSON(String.format(openHost,"init") ,initJson.toJSONString(),"utf-8") ; String initStr = HttpClient.sendPostJSON(String.format(openHost, "init"), initJson.toJSONString(), "utf-8");
logger.info("init={}",initStr); logger.info("init={}", initStr);
QwOpenResultBO initResult = result(initStr) ; QwOpenResultBO initResult = result(initStr);
if(!initResult.isOk()) { if (!initResult.isOk()) {
return ServiceResponse.failure("9999",initResult.getErrmsg()) ; return ServiceResponse.failure("9999", initResult.getErrmsg());
} }
QwOpenResultInitBO initBO = JSONObject.parseObject(initResult.getData().toString(), QwOpenResultInitBO.class) ; QwOpenResultInitBO initBO = JSONObject.parseObject(initResult.getData().toString(), QwOpenResultInitBO.class);
String uuid = initBO.getUuid() ; String uuid = initBO.getUuid();
// 设置回调 // 设置回调
setCallback(uuid); setCallback(uuid);
// 获取二维码 // 获取二维码
ServiceResponse<QwOpenResultInitBO> response = getQrcode(uuid,initBO,1) ; ServiceResponse<QwOpenResultInitBO> response = getQrcode(uuid, initBO, 1);
if(!response.isSuccess()) { if (!response.isSuccess()) {
return response ; return response;
} }
return ServiceResponse.success(initBO) ; return ServiceResponse.success(initBO);
} }
public static ServiceResponse<Void> checkCode(String uuid , String qrcodeKey ,String validCode) { public static ServiceResponse<Void> checkCode(String uuid, String qrcodeKey, String validCode) {
JSONObject json = new JSONObject() ; JSONObject json = new JSONObject();
json.put("uuid",uuid) ; json.put("uuid", uuid);
json.put("qrcodeKey",qrcodeKey) ; json.put("qrcodeKey", qrcodeKey);
json.put("code",validCode) ; json.put("code", validCode);
String backJson = HttpClient.sendPostJSON(String.format(openHost,"CheckCode"),json.toJSONString(),"utf-8") ; String backJson = HttpClient.sendPostJSON(String.format(openHost, "CheckCode"), json.toJSONString(), "utf-8");
logger.info("校验验证码={},uuid={}",backJson,uuid); logger.info("校验验证码={},uuid={}", backJson, uuid);
QwOpenResultBO bo = result(backJson) ; QwOpenResultBO bo = result(backJson);
if(!bo.isOk()) { if (!bo.isOk()) {
return ServiceResponse.failure("9999",bo.getErrmsg()) ; return ServiceResponse.failure("9999", bo.getErrmsg());
} }
return ServiceResponse.success() ; return ServiceResponse.success();
} }
public static void logout(String uuid) { public static void logout(String uuid) {
JSONObject json = new JSONObject() ; JSONObject json = new JSONObject();
json.put("uuid",uuid) ; json.put("uuid", uuid);
String backJson = HttpClient.sendPostJSON(String.format(openHost,"LoginOut"),json.toJSONString(),"utf-8") ; String backJson = HttpClient.sendPostJSON(String.format(openHost, "LoginOut"), json.toJSONString(), "utf-8");
logger.info("退出={},uuid={}",backJson,uuid); logger.info("退出={},uuid={}", backJson, uuid);
} }
private static void setCallback(String uuid) { private static void setCallback(String uuid) {
JSONObject json = new JSONObject() ; JSONObject json = new JSONObject();
json.put("uuid",uuid) ; json.put("uuid", uuid);
json.put("url",gicCallbackHost) ; json.put("url", gicCallbackHost);
String backJson = HttpClient.sendPostJSON(String.format(openHost,"SetCallbackUrl"),json.toJSONString(),"utf-8") ; String backJson = HttpClient.sendPostJSON(String.format(openHost, "SetCallbackUrl"), json.toJSONString(), "utf-8");
logger.info("设置回调={},uuid={}",backJson,uuid); logger.info("设置回调={},uuid={}", backJson, uuid);
} }
public static ServiceResponse<QwOpenResultInitBO> getQrcode(String uuid , QwOpenResultInitBO initBO , int times) { public static ServiceResponse<QwOpenResultInitBO> getQrcode(String uuid, QwOpenResultInitBO initBO, int times) {
String req = "getQrCode" ; String req = "getQrCode";
if(times==2) { if (times == 2) {
req = "SecondaryValidation" ; req = "SecondaryValidation";
} }
JSONObject json = new JSONObject() ; JSONObject json = new JSONObject();
json.put("uuid",uuid) ; json.put("uuid", uuid);
String backJson = HttpClient.sendPostJSON(String.format(openHost,req),json.toJSONString(),"utf-8") ; String backJson = HttpClient.sendPostJSON(String.format(openHost, req), json.toJSONString(), "utf-8");
logger.info("获取qrcode={},uuid={},times={}",backJson,uuid,times); logger.info("获取qrcode={},uuid={},times={}", backJson, uuid, times);
QwOpenResultBO initResult = result(backJson) ; QwOpenResultBO initResult = result(backJson);
if(!initResult.isOk()) { if (!initResult.isOk()) {
return ServiceResponse.failure("9999",initResult.getErrmsg()) ; return ServiceResponse.failure("9999", initResult.getErrmsg());
} }
QwOpenResultInitBO backBO = JSONObject.parseObject(initResult.getData().toString(), QwOpenResultInitBO.class) ; QwOpenResultInitBO backBO = JSONObject.parseObject(initResult.getData().toString(), QwOpenResultInitBO.class);
if(null == initBO) { if (null == initBO) {
return ServiceResponse.success(backBO) ; return ServiceResponse.success(backBO);
} }
initBO.setQrcode(backBO.getQrcode()); initBO.setQrcode(backBO.getQrcode());
initBO.setKey(backBO.getKey()); initBO.setKey(backBO.getKey());
initBO.setQrcode_data(backBO.getQrcode_data()); initBO.setQrcode_data(backBO.getQrcode_data());
return ServiceResponse.success(initBO) ; return ServiceResponse.success(initBO);
} }
private static QwOpenResultBO result(String json) { private static QwOpenResultBO result(String json) {
QwOpenResultBO bo = JSONObject.parseObject(json, QwOpenResultBO.class); QwOpenResultBO bo = JSONObject.parseObject(json, QwOpenResultBO.class);
return bo; return bo;
} }
/**
* 判断账号是否登录中
*
* @param uuid
* @return
*/
private static boolean isLogin(String uuid) {
JSONObject json = new JSONObject();
json.put("uuid", uuid);
String backJson = HttpClient.sendPostJSON(String.format(openHost, "GetProfile"), json.toJSONString(), "utf-8");
logger.info("获取当前账号详情={},uuid={}", backJson, uuid);
JSONObject resultJson = JSONObject.parseObject(backJson);
int errcode = resultJson.getIntValue("errcode");
if (errcode == 500 && resultJson.getString("errmsg").contains("实例不存在")) {
return false;
}
return true;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment