|
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.google.zxing.BarcodeFormat;
|
|
|
import com.google.zxing.client.j2se.MatrixToImageWriter;
|
|
@@ -38,10 +39,7 @@ import org.springframework.stereotype.Component;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.LinkedHashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
@@ -531,6 +529,17 @@ public class WxLoginService implements IWxLoginService {
|
|
|
obj.put("scene",sceneParam.toString());
|
|
|
obj.put("env_version",enCodeVersion);
|
|
|
String result = HttpUtils.sendPost(url, obj);
|
|
|
+ List<String> codes = Arrays.asList("40001", "42001");
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
+ if(ObjectUtils.isNotNull(jsonObject.get("errcode")) && codes.contains(jsonObject.get("errcode").toString())){
|
|
|
+ //微信access_token 过期或者失效,刷新access_token
|
|
|
+ String key = "WX_SMALL_ACCESS_TOKEN";
|
|
|
+ redisCache.deleteObject(key);
|
|
|
+ String wxGzhAccessTokenTo = getWxSmallAccessToken();
|
|
|
+ String paramTo = String.format(small_wxEnCodeParam, wxGzhAccessTokenTo);
|
|
|
+ String urlTo = small_wxEnCodeUrl + "?" + paramTo;
|
|
|
+ return HttpUtils.sendPost(urlTo, obj);
|
|
|
+ }
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -880,6 +889,17 @@ public class WxLoginService implements IWxLoginService {
|
|
|
obj.put("scene",String.format("tid=%s",activityId));
|
|
|
obj.put("env_version",enCodeVersion);
|
|
|
String result = HttpUtils.sendPost(url, obj);
|
|
|
+ List<String> codes = Arrays.asList("40001", "42001");
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
+ if(ObjectUtils.isNotNull(jsonObject.get("errcode")) && codes.contains(jsonObject.get("errcode").toString())){
|
|
|
+ //微信access_token 过期或者失效,刷新access_token
|
|
|
+ String key = "WX_SMALL_ACCESS_TOKEN";
|
|
|
+ redisCache.deleteObject(key);
|
|
|
+ String wxGzhAccessTokenTo = getWxSmallAccessToken();
|
|
|
+ String paramTo = String.format(small_wxEnCodeParam, wxGzhAccessTokenTo);
|
|
|
+ String urlTo = small_wxEnCodeUrl + "?" + paramTo;
|
|
|
+ return HttpUtils.sendPost(urlTo, obj);
|
|
|
+ }
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -894,6 +914,17 @@ public class WxLoginService implements IWxLoginService {
|
|
|
obj.put("env_version",enCodeVersion);
|
|
|
// obj.put("env_version","trial");
|
|
|
String result = HttpUtils.sendPost(url, obj);
|
|
|
+ List<String> codes = Arrays.asList("40001", "42001");
|
|
|
+ JSONObject jsonObject = JSONObject.parseObject(result);
|
|
|
+ if(ObjectUtils.isNotNull(jsonObject.get("errcode")) && codes.contains(jsonObject.get("errcode").toString())){
|
|
|
+ //微信access_token 过期或者失效,刷新access_token
|
|
|
+ String key = "WX_SMALL_ACCESS_TOKEN";
|
|
|
+ redisCache.deleteObject(key);
|
|
|
+ String wxGzhAccessTokenTo = getWxSmallAccessToken();
|
|
|
+ String paramTo = String.format(small_wxEnCodeParam, wxGzhAccessTokenTo);
|
|
|
+ String urlTo = small_wxEnCodeUrl + "?" + paramTo;
|
|
|
+ return HttpUtils.sendPost(urlTo, obj);
|
|
|
+ }
|
|
|
return result;
|
|
|
}
|
|
|
|