From 76f15b8312869005a74c563d5f515d11dae83e96 Mon Sep 17 00:00:00 2001 From: Lemon Date: Mon, 31 Jul 2023 11:50:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=20=E5=BE=AE=E4=BF=A1?= =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E5=B9=B3=E5=8F=B0=20=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=A2=84=E6=8E=88=E6=9D=83=E7=A0=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/uniapp/AgentDevController.java | 21 +++++++++++++ .../com/jsowell/service/AgentDevService.java | 31 +++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/AgentDevController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/AgentDevController.java index 08c6b2ed8..8adf6b41e 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/AgentDevController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/AgentDevController.java @@ -88,6 +88,27 @@ public class AgentDevController extends BaseController { } + /** + * 获取预授权码 + * + * @return + */ + @GetMapping("/getPreAuthorizerCode") + public RestApiResponse getPreAuthorizerCode() { + logger.info("微信第三方平台 获取预授权码 start"); + RestApiResponse response = null; + try { + String preAuthorizerCode = agentDevService.getPreAuthorizerCode(); + response = new RestApiResponse<>(preAuthorizerCode); + } catch (Exception e) { + logger.error("微信第三方平台 获取预授权码 error, ", e); + response = new RestApiResponse<>(e); + } + logger.info("微信第三方平台 获取预授权码 result:{}", response); + return response; + } + + /** * 使用授权码获取授权信息 * diff --git a/jsowell-admin/src/main/java/com/jsowell/service/AgentDevService.java b/jsowell-admin/src/main/java/com/jsowell/service/AgentDevService.java index 15f3e05ea..c4e245f1e 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/AgentDevService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/AgentDevService.java @@ -359,6 +359,37 @@ public class AgentDevService { return String.valueOf(auditId); } + /** + * 获取预授权码 + * + * @return + */ + public String getPreAuthorizerCode() { + // 获取平台令牌 + GetComponentTokenDTO dto = GetComponentTokenDTO.builder() + .appId(PLATFORM_APP_ID) + .appSecret(PLATFORM_APP_SECRET) + .verifyTicket(null) + .build(); + String componentToken = getComponentToken(dto); + + // 拼接参数 + String url = "https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=" + componentToken; + JSONObject jsonObject = new JSONObject(); + jsonObject.put("component_appid", PLATFORM_APP_ID); + // 发送请求 + String result = HttpUtils.sendPost(url, JSONObject.toJSONString(jsonObject)); + logger.info("微信第三方平台 获取预授权码请求 params:{}, result:{}", JSONObject.toJSONString(jsonObject), result); + // 将返回结果转成json对象 + JSONObject resultJson = JSONObject.parseObject(result); + String preAuthCode = resultJson.getString("pre_auth_code"); + if (StringUtils.isBlank(preAuthCode)) { + logger.error("微信第三方平台 获取预授权码为空"); + return null; + } + return preAuthCode; + } + public static void main(String[] args) { JSONArray array = new JSONArray();