From 694970f18edeb7ac34e15428c7fac13d28bd16cd Mon Sep 17 00:00:00 2001 From: itzhang <2019326567@qq.com> Date: Mon, 28 Apr 2025 11:32:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=91=E8=9D=B6=E7=94=A8=E6=88=B7=E4=BA=BA?= =?UTF-8?q?=E5=91=98=E9=9B=86=E6=88=90=E6=8E=A5=E5=8F=A3=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/CertificateConstant.java | 16 ++- .../controller/KDTokenController.java | 102 ++++++++++++++++++ 2 files changed, 113 insertions(+), 5 deletions(-) diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/constant/CertificateConstant.java b/magic-boot/src/main/java/org/ssssssss/magicboot/constant/CertificateConstant.java index 89227f4..5f17199 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/constant/CertificateConstant.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/constant/CertificateConstant.java @@ -8,9 +8,15 @@ package org.ssssssss.magicboot.constant; * @Author weiloong_zhang */ public class CertificateConstant { - public static final String APP_ID = "FSAID_131f56a";//appId - public static final String PERMANENT_CODE = "1A49B50861909007935CAB5E33E52BAA";//永久授权码 - public static final String APP_SECRET = "5bda722932a54e80a05d2cc9b1722fed";//appSecret - public static final String CORP_ID = "FSCID_11F505C980B5FE43D5D7230567802E09";//企业Id - public static final String CURRENT_OPEN_USERID = "FSUID_50D3C26809B163F663DC8557268A8D44";//当前登录用户id +// public static final String APP_ID = "FSAID_131f56a";//appId +// public static final String PERMANENT_CODE = "1A49B50861909007935CAB5E33E52BAA";//永久授权码 +// public static final String APP_SECRET = "5bda722932a54e80a05d2cc9b1722fed";//appSecret +// public static final String CORP_ID = "FSCID_11F505C980B5FE43D5D7230567802E09";//企业Id +// public static final String CURRENT_OPEN_USERID = "FSUID_50D3C26809B163F663DC8557268A8D44";//当前登录用户id + + public static final String APP_ID = "FSAID_131fa51";//appId + public static final String PERMANENT_CODE = "EF03533F6929B59934A7E1155221420B";//永久授权码 + public static final String APP_SECRET = "1ce9804037ff4baf9d308bd32a4ec6ef";//appSecret + public static final String CORP_ID = "FSCID_EC935623350FB07DBF52F84F49874A81";//企业Id + public static final String CURRENT_OPEN_USERID = "FSUID_7B52D1CF1B01E5A2A143E250A5B60595";//当前登录用户id } diff --git a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/KDTokenController.java b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/KDTokenController.java index 97b9d3e..9efedae 100644 --- a/magic-boot/src/main/java/org/ssssssss/magicboot/controller/KDTokenController.java +++ b/magic-boot/src/main/java/org/ssssssss/magicboot/controller/KDTokenController.java @@ -138,4 +138,106 @@ public class KDTokenController { return accessToken; } + + + /** + * 金蝶测试系统App授权码获取 + * @return java.lang.String + * @Author weiloong_zhang + */ + public String getKDAppTokenTest() { + log.info("开始获取金蝶的AppToken"); + + //开始封装 + //接口地址 + String appTokenUrl = "http://192.168.31.158:8022/ierp/api/getAppToken.do"; + //请求参数 + LinkedHashMap appTokenParams = new LinkedHashMap<>(); + appTokenParams.put("appId", "apitest"); + appTokenParams.put("appSecret", "ZHYkdERPapi@2025"); + appTokenParams.put("tenantid", "zyierp"); + appTokenParams.put("accountId", "2096108315279888384"); + + //开始发起请求 + String appTokenRes = ""; + + try { + appTokenRes = restTemplate.postForObject(appTokenUrl, appTokenParams, String.class); + } catch (RestClientException e) { + e.printStackTrace(); + } + + //转换为JSONObject + JSONObject appTokenJSON = JSONObject.parseObject(appTokenRes); + + if (!"success".equals(appTokenJSON.getString("state")) || appTokenJSON.getJSONObject("data") == null) { + log.error("获取金蝶的AppToken失败,{}", appTokenRes); + return ""; + } + + //获取apptoken成功 + String appToken = appTokenJSON.getJSONObject("data").getString("app_token"); + + log.info("获取金蝶的AppToken成功,{}", appToken); + + return appToken; + } + + /** + * 金蝶a测试access_token获取 + * + * @return java.lang.String + * @Author weiloong_zhang + */ + public String getKDAccessTokenTest() { + log.info("开始获取金蝶accessToken"); + + //用来接收token的字符串 + String accessToken = ""; + + //判断咖啡因中是否存在accessToken + if (CaffeineCacheUtil.get("kd_access_token") != null && !"".equals(CaffeineCacheUtil.get("kd_access_token"))) { + log.info("获取到缓存中的accessToken,{}", accessToken); + accessToken = CaffeineCacheUtil.get("kd_access_token").toString(); + return accessToken; + } + + //不存在,将执行获取accessToken的逻辑 + //开始封装参数 + //URL + String accessTokenUrl = "http://192.168.31.158:8022/ierp/api/login.do"; + + //请求参数 + LinkedHashMap accessTokenParams = new LinkedHashMap<>(); + accessTokenParams.put("user", "19819780536"); + accessTokenParams.put("usertype", "Mobile"); + accessTokenParams.put("apptoken", getKDAppTokenTest()); + accessTokenParams.put("tenantid", "zyierp"); + accessTokenParams.put("accountId", "2096108315279888384"); + accessTokenParams.put("language", "zh_CN"); + + //开始向金蝶发起请求 + String accessTokenRes = ""; + + try { + accessTokenRes = restTemplate.postForObject(accessTokenUrl, accessTokenParams, String.class); + } catch (RestClientException e) { + e.printStackTrace(); + } + + JSONObject accessTokenJSON = JSONObject.parseObject(accessTokenRes); + + if (!"success".equals(accessTokenJSON.getString("state")) || accessTokenJSON.getJSONObject("data") == null) { + log.error("获取金蝶的accessToken失败,{}", accessTokenRes); + return ""; + } + + log.info("获取金蝶的accessToken成功,{}", accessTokenJSON.getJSONObject("data").getString("access_token")); + accessToken = accessTokenJSON.getJSONObject("data").getString("access_token"); + + //存放到咖啡因之中 + CaffeineCacheUtil.put("kd_access_token", accessToken); + + return accessToken; + } }