From e3e1de5210b75179c82b4cc5b61f805eb5d76d45 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Fri, 26 Apr 2019 15:21:08 +0800 Subject: [PATCH 1/5] =?UTF-8?q?[=E5=B7=B2=E6=8E=88=E6=9D=83=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96][=E6=96=B0?= =?UTF-8?q?=E5=A2=9E]:=E5=B7=B2=E6=8E=88=E6=9D=83=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WechatCalllbackController.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java index fb1e0c2..95c3e76 100644 --- a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java +++ b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java @@ -364,4 +364,17 @@ public class WechatCalllbackController extends BaseController { return new ResultData(Result.ERROR, e.getMessage()); } } + + @GetMapping(value = "/getAuthorizerList") + @ApiOperation("拉取当前所有已授权的帐号基本信息") + public ResultData getAuthorizerList() { + try { + String accessToken = openService.getWxOpenComponentService().getComponentAccessToken(true); + String ret = openService.getWxOpenComponentService().getApiGetAuthorizerList(accessToken, 0, 100); + return new ResultData(ret); + } catch (WxErrorException e) { + logger.error(e.getMessage()); + return new ResultData(Result.ERROR, e.getMessage()); + } + } } From 563f75ce0ccf25bcfaf7cf53d21172a72c7af8b2 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Fri, 26 Apr 2019 15:47:14 +0800 Subject: [PATCH 2/5] =?UTF-8?q?[=E5=B7=B2=E6=8E=88=E6=9D=83=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=8E=B7=E5=8F=96][=E6=96=B0=E5=A2=9E]:=E5=B7=B2?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96,?= =?UTF-8?q?=E5=B9=B6=E5=86=99=E5=85=A5=E6=95=B0=E6=8D=AE=E5=BA=93=E5=8F=8A?= =?UTF-8?q?redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/WxAuthorizerInfoService.java | 2 ++ .../impl/WxAuthorizerInfoServiceImpl.java | 14 +++++++++++- .../controller/WechatCalllbackController.java | 22 +++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/mallinkService/src/main/java/com/iformall/service/WxAuthorizerInfoService.java b/mallinkService/src/main/java/com/iformall/service/WxAuthorizerInfoService.java index c093986..12cf986 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxAuthorizerInfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxAuthorizerInfoService.java @@ -78,4 +78,6 @@ public interface WxAuthorizerInfoService { void updateOpenAppid(WxAuthorizerInfo record); + void updateAuthAppidInfo(WxAuthorizerInfo record); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxAuthorizerInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxAuthorizerInfoServiceImpl.java index a613649..f3930c5 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxAuthorizerInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxAuthorizerInfoServiceImpl.java @@ -185,7 +185,19 @@ public class WxAuthorizerInfoServiceImpl implements WxAuthorizerInfoService { info.setBindOpenTime(curDate); authorizerInfoMapper.updateByPrimaryKeySelective(record); } - + + @Override + public void updateAuthAppidInfo(WxAuthorizerInfo record) { + WxAuthorizerInfo authorizerInfo = authorizerInfoMapper.findByAppid(record.getAuthorizerAppid()); + if(authorizerInfo != null) { + record.setId(authorizerInfo.getId()); + authorizerInfoMapper.updateByPrimaryKeySelective(record); + } else { + /// TODO + } + + + } diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java index 95c3e76..951d1f4 100644 --- a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java +++ b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java @@ -1,5 +1,8 @@ package com.iformall.controller; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.iformall.common.Result; @@ -371,6 +374,25 @@ public class WechatCalllbackController extends BaseController { try { String accessToken = openService.getWxOpenComponentService().getComponentAccessToken(true); String ret = openService.getWxOpenComponentService().getApiGetAuthorizerList(accessToken, 0, 100); + JSONObject retObj = JSON.parseObject(ret); + if(retObj.getInteger("code") == 200) { + JSONObject dataObj = retObj.getJSONObject("data"); + JSONArray dataList = dataObj.getJSONArray("list"); + for(int i= 0;i Date: Fri, 26 Apr 2019 16:20:57 +0800 Subject: [PATCH 3/5] =?UTF-8?q?[=E5=B7=B2=E6=8E=88=E6=9D=83=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=8E=B7=E5=8F=96][=E6=96=B0=E5=A2=9E]:=E5=B7=B2?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96,?= =?UTF-8?q?=E5=B9=B6=E5=86=99=E5=85=A5=E6=95=B0=E6=8D=AE=E5=BA=93=E5=8F=8A?= =?UTF-8?q?redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/iformall/controller/WechatCalllbackController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java index 951d1f4..f7cbda8 100644 --- a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java +++ b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java @@ -374,6 +374,7 @@ public class WechatCalllbackController extends BaseController { try { String accessToken = openService.getWxOpenComponentService().getComponentAccessToken(true); String ret = openService.getWxOpenComponentService().getApiGetAuthorizerList(accessToken, 0, 100); + logger.info("getAuthorizerList: " + ret); JSONObject retObj = JSON.parseObject(ret); if(retObj.getInteger("code") == 200) { JSONObject dataObj = retObj.getJSONObject("data"); From 1d02744da386d85d4652b00d578a6b2555218a5b Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Fri, 26 Apr 2019 16:24:59 +0800 Subject: [PATCH 4/5] =?UTF-8?q?[=E5=B7=B2=E6=8E=88=E6=9D=83=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=8E=B7=E5=8F=96][=E6=96=B0=E5=A2=9E]:=E5=B7=B2?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96,?= =?UTF-8?q?=E5=B9=B6=E5=86=99=E5=85=A5=E6=95=B0=E6=8D=AE=E5=BA=93=E5=8F=8A?= =?UTF-8?q?redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/WechatCalllbackController.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java index f7cbda8..6a95fe7 100644 --- a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java +++ b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java @@ -376,9 +376,8 @@ public class WechatCalllbackController extends BaseController { String ret = openService.getWxOpenComponentService().getApiGetAuthorizerList(accessToken, 0, 100); logger.info("getAuthorizerList: " + ret); JSONObject retObj = JSON.parseObject(ret); - if(retObj.getInteger("code") == 200) { - JSONObject dataObj = retObj.getJSONObject("data"); - JSONArray dataList = dataObj.getJSONArray("list"); + if(retObj.getInteger("total_count") > 0) { + JSONArray dataList = retObj.getJSONArray("list"); for(int i= 0;i Date: Fri, 26 Apr 2019 16:32:45 +0800 Subject: [PATCH 5/5] =?UTF-8?q?[=E5=B7=B2=E6=8E=88=E6=9D=83=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=8E=B7=E5=8F=96][=E6=96=B0=E5=A2=9E]:=E5=B7=B2?= =?UTF-8?q?=E6=8E=88=E6=9D=83=E4=BF=A1=E6=81=AF=E8=8E=B7=E5=8F=96,?= =?UTF-8?q?=E5=B9=B6=E5=86=99=E5=85=A5=E6=95=B0=E6=8D=AE=E5=BA=93=E5=8F=8A?= =?UTF-8?q?redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/iformall/controller/WechatCalllbackController.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java index 6a95fe7..0e269a2 100644 --- a/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java +++ b/mlWechatOpen/src/main/java/com/iformall/controller/WechatCalllbackController.java @@ -384,6 +384,10 @@ public class WechatCalllbackController extends BaseController { String refreshToken = obj.getString("refresh_token"); Date authDate = new Date(obj.getLong("auth_time")*1000); + if(StringUtils.isBlank(refreshToken)) { + continue; + } + WxAuthorizerInfo authorizerInfo = new WxAuthorizerInfo(); authorizerInfo.setAuthorizerAppid(appId); authorizerInfo.setRefreshToken(refreshToken);