/**
*
* 功能描述: <br>
* 生成微信二维码的ticket
*
* @param appId
* @param appsecret
* @param sceneId
* @return
* @see [相关类/方法](可选)
public QrcodeReturn getQrcodeReturn(String appId, String appsecret, String sceneId) {
QrcodeReturn qrcodeReturn = null;
AccessTokenBean bean = accessTokenService.queryAccessToken(1);//获取临时二维码的sceneid与用户的关系,可以定位到对应用户(对应这张表中的id需要循环增加)
AccessToken accessToken = null;
String token = "";
if(bean != null){
if(StringUtils.isNotBlank(bean.getAccessToken())){
token = bean.getAccessToken();
System.out.println("token--------------"+token);
}else{
accessToken = getAccessToken(appId, appsecret);
System.out.println("bean is not null accessToken-------------"+accessToken);
}
}else{
accessToken = getAccessToken(appId, appsecret);
System.out.println("accessToken-------------"+accessToken);
}
if (accessToken != null) {
token = accessToken.getToken();
AccessTokenBean accessTokenBean = new AccessTokenBean();
accessTokenBean.setAccessToken(token);
accessTokenBean.setId(1);
accessTokenService.updateAccessToken(accessTokenBean);
System.out.println("update accessToken table----------token:"+token);
}
String requestUrl = qrcode_create_url.replace("TOKEN", token);
String jsonAction = "{\"expire_seconds\": 1800, \"action_name\": \"QR_SCENE\", \"action_info\": {\"scene\": {\"scene_id\": "
+ Integer.parseInt(sceneId) + "}}}";
// 转换成json字符串
JSONObject jsonObject = httpRequest(requestUrl, "POST", jsonAction);
if (null != jsonObject) {
qrcodeReturn = new QrcodeReturn();
if(jsonObject.get("errcode") != null){
System.out.println("exception------------------");
accessToken = getAccessToken(appId, appsecret);
System.out.println("exception------------------accessToken:"+accessToken);
if (accessToken != null) {
token = accessToken.getToken();
AccessTokenBean accessTokenBean = new AccessTokenBean();
accessTokenBean.setAccessToken(token);
accessTokenBean.setId(1);
accessTokenService.updateAccessToken(accessTokenBean);
System.out.println("exception update accessToken table----------token:"+token);
}
String requestUrl1 = qrcode_create_url.replace("TOKEN", token);
// 转换成json字符串
JSONObject jsonObject1 = httpRequest(requestUrl1, "POST", jsonAction);
qrcodeReturn.setTicket(jsonObject1.getString("ticket"));
System.out.println("ticket---------------:"+jsonObject1.getString("ticket"));
return qrcodeReturn;
}
qrcodeReturn.setTicket(jsonObject.getString("ticket"));
}
return qrcodeReturn;
}
*
* 功能描述: <br>
* 生成微信二维码的ticket
*
* @param appId
* @param appsecret
* @param sceneId
* @return
* @see [相关类/方法](可选)
* @since [产品/模块版本](可选)
*本次使用的临时二维码
*/public QrcodeReturn getQrcodeReturn(String appId, String appsecret, String sceneId) {
QrcodeReturn qrcodeReturn = null;
AccessTokenBean bean = accessTokenService.queryAccessToken(1);//获取临时二维码的sceneid与用户的关系,可以定位到对应用户(对应这张表中的id需要循环增加)
AccessToken accessToken = null;
String token = "";
if(bean != null){
if(StringUtils.isNotBlank(bean.getAccessToken())){
token = bean.getAccessToken();
System.out.println("token--------------"+token);
}else{
accessToken = getAccessToken(appId, appsecret);
System.out.println("bean is not null accessToken-------------"+accessToken);
}
}else{
accessToken = getAccessToken(appId, appsecret);
System.out.println("accessToken-------------"+accessToken);
}
if (accessToken != null) {
token = accessToken.getToken();
AccessTokenBean accessTokenBean = new AccessTokenBean();
accessTokenBean.setAccessToken(token);
accessTokenBean.setId(1);
accessTokenService.updateAccessToken(accessTokenBean);
System.out.println("update accessToken table----------token:"+token);
}
String requestUrl = qrcode_create_url.replace("TOKEN", token);
String jsonAction = "{\"expire_seconds\": 1800, \"action_name\": \"QR_SCENE\", \"action_info\": {\"scene\": {\"scene_id\": "
+ Integer.parseInt(sceneId) + "}}}";
// 转换成json字符串
JSONObject jsonObject = httpRequest(requestUrl, "POST", jsonAction);
if (null != jsonObject) {
qrcodeReturn = new QrcodeReturn();
if(jsonObject.get("errcode") != null){
System.out.println("exception------------------");
accessToken = getAccessToken(appId, appsecret);
System.out.println("exception------------------accessToken:"+accessToken);
if (accessToken != null) {
token = accessToken.getToken();
AccessTokenBean accessTokenBean = new AccessTokenBean();
accessTokenBean.setAccessToken(token);
accessTokenBean.setId(1);
accessTokenService.updateAccessToken(accessTokenBean);
System.out.println("exception update accessToken table----------token:"+token);
}
String requestUrl1 = qrcode_create_url.replace("TOKEN", token);
// 转换成json字符串
JSONObject jsonObject1 = httpRequest(requestUrl1, "POST", jsonAction);
qrcodeReturn.setTicket(jsonObject1.getString("ticket"));
System.out.println("ticket---------------:"+jsonObject1.getString("ticket"));
return qrcodeReturn;
}
qrcodeReturn.setTicket(jsonObject.getString("ticket"));
}
return qrcodeReturn;
}