jk-GitHub-coder пре 4 година
родитељ
комит
6fefa99432

+ 19 - 4
YijiaRestful/src/main/java/com/platform/yijia/controller/AppUserInfoController.java

@@ -134,14 +134,29 @@ public class AppUserInfoController {
         if(code != null && stationId !=null){
             String gzhAppId ="";
             String gzhAppSecret ="";
-            String accessToken ="";
             Map<String, String> m = stationService.getStationAppIdAndAppSecret(stationId);
             if(m !=null && m.containsKey("gzhAppId") && m.containsKey("gzhAppSecret")){
                 gzhAppId = m.get("gzhAppId");
                 gzhAppSecret = m.get("gzhAppSecret");
-                accessToken  = this.getTokenByRedisCache(gzhAppId, gzhAppSecret);
-                net.sf.json.JSONObject gzhAuthorizeInfo = WeiXinUserUtil.getGzhAuthorizeInfo(gzhAppId, gzhAppSecret, accessToken);
-                resultData = ResultData.success(gzhAuthorizeInfo);
+                //accessToken  = this.getTokenByRedisCache(gzhAppId, gzhAppSecret);
+                net.sf.json.JSONObject gzhAuthorizeInfo = WeiXinUserUtil.getGzhAuthorizeInfo(gzhAppId, gzhAppSecret, code);
+                if(!redisCacheUtil.hasKey(gzhAppId)){
+                    if(gzhAuthorizeInfo.containsKey("access_token")){
+                        redisCacheUtil.setCacheObject(gzhAppId, gzhAuthorizeInfo.get("access_token"));
+                        redisCacheUtil.expire(gzhAppId, 7200, TimeUnit.SECONDS);
+                        logger.info("第一次获取Redis缓存中access_token信息: " + redisCacheUtil.getCacheObject(gzhAppId));
+                    }
+                }
+                logger.info("token已在Redis缓存中的access_token信息: " + redisCacheUtil.getCacheObject(gzhAppId));
+
+                Map<String, Object> result = new HashMap<>();
+                if(gzhAuthorizeInfo.containsKey("openid")){
+                    result.put("openId", gzhAuthorizeInfo.get("openid"));
+                }
+                if(gzhAuthorizeInfo.containsKey("unionid")){
+                    result.put("unionId", gzhAuthorizeInfo.get("unionid"));
+                }
+                resultData = ResultData.success(result);
             }
         }else {
             resultData = ResultData.success(CodeMsg.REQUEST_FAIL);