From 32a905fbf1daeac74cbd573e5b841709c44955c2 Mon Sep 17 00:00:00 2001 From: ZY <zc857179121@qq.com> Date: 星期四, 08 五月 2025 17:01:27 +0800 Subject: [PATCH] 代码编写 --- src/main/java/com/zy/nc/SendUtil.java | 144 ++++++++++++++++++++++++++--------------------- 1 files changed, 80 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/zy/nc/Test.java b/src/main/java/com/zy/nc/SendUtil.java similarity index 80% rename from src/main/java/com/zy/nc/Test.java rename to src/main/java/com/zy/nc/SendUtil.java index 38a96ae..5db13b4 100644 --- a/src/main/java/com/zy/nc/Test.java +++ b/src/main/java/com/zy/nc/SendUtil.java @@ -21,7 +21,7 @@ * @author lizhmf * @date 2019骞�6鏈�20鏃ヤ笂鍗�10:53:11 */ -public class Test { +public class SendUtil { // app_secret private static String client_secret = null; @@ -70,10 +70,88 @@ } System.out.println("getTokenData:" + token); // 娴嬭瘯openapi - testApi(token); + //sendDataToNc(token); } catch (Exception e) { e.printStackTrace(); } + } + + /** + * 璇锋眰openapi + * + * @param token + * @throws Exception + */ + public static NcResultMessage sendDataToNc(String token, String baseUrl, String apiUrl, String requestBody) { + if (token == null) { + try { + token = getToken(); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + // token杞璞★紝鑾峰彇api璁块棶鎵�鐢╰oken鍜宻ecret + NcResultMessage returnData = JSONObject.parseObject(token, NcResultMessage.class); + if (returnData.isSuccess()) { + JSONObject data = JSONObject.parseObject(returnData.getData().toString()); + String access_token = (String) data.get("access_token"); + String security_key = (String) data.get("security_key"); + String refresh_token = (String) data.get("refresh_token"); + Long expire_in = data.getLong("expires_in"); + Long ts = data.getLong("ts"); + if (ts + expire_in < System.currentTimeMillis()) { + try { + token = getToken(); + } catch (Exception e) { + throw new RuntimeException(e); + } + data = JSONObject.parseObject(token.getBytes(), NcResultMessage.class); + access_token = (String) data.get("access_token"); + security_key = (String) data.get("security_key"); + refresh_token = (String) data.get("refresh_token"); + } + System.out.println("銆怉CCESS_TOKEN銆�:" + access_token); + // 璇锋眰璺緞 + String url = baseUrl + apiUrl; + // header 鍙傛暟 + Map<String, String> headermap = new HashMap<>(); + headermap.put("access_token", access_token); + headermap.put("client_id", client_id); + StringBuffer sb = new StringBuffer(); + sb.append(client_id); + if (!Cools.isEmpty(requestBody)) { + // sb.append(requestBody.replaceAll("\\s*|\t|\r|\n", "").trim()); + sb.append(requestBody); + } + sb.append(pubKey); + String sign = SHA256Util.getSHA256(sb.toString(), pubKey); + headermap.put("signature", sign); + if (!Cools.isEmpty(busi_id)) { + headermap.put("busi_id", busi_id); + } + if (!Cools.isEmpty(repeat_check)) { + headermap.put("repeat_check", repeat_check); + } + // headermap.put("ucg_flag", "y"); + String mediaType = "application/json;charset=utf-8"; + // 琛ㄤ綋鏁版嵁json + // 鏍规嵁瀹夊叏绾у埆閫夋嫨鍔犲瘑鎴栧帇缂╄姹傝〃浣撳弬鏁� + String json = null; + String result; + String result2; + try { + json = dealRequestBody(requestBody, security_key, secret_level); + // 杩斿洖鍊� + result = doPost(url, null, mediaType, headermap, json); + result2 = dealResponseBody(result, security_key, secret_level); + } catch (Exception e) { + throw new RuntimeException(e); + } + System.out.println("銆怰ESULT銆�:" + result); + System.out.println("result瑙e瘑:" + result2); + return JSONObject.parseObject(result2, NcResultMessage.class); + } + return null; } /** @@ -161,68 +239,6 @@ return token; } - /** - * 璇锋眰openapi - * - * @param token - * @throws Exception - */ - private static void testApi(String token) throws Exception { - // token杞璞★紝鑾峰彇api璁块棶鎵�鐢╰oken鍜宻ecret - ResultMessageUtil returnData = JSONObject.parseObject(token, ResultMessageUtil.class); - Map<String, Object> data = (Map<String, Object>) returnData.getData(); - String access_token = (String) data.get("access_token"); - String security_key = (String) data.get("security_key"); - String refresh_token = (String) data.get("refresh_token"); - long expire_in = new Double((double) data.get("expires_in")).longValue(); - long ts = new Double((double) data.get("ts")).longValue(); - if (ts + expire_in < System.currentTimeMillis()) { - token = getToken(); - returnData = JSONObject.parseObject(token, ResultMessageUtil.class); - data = (Map<String, Object>) returnData.getData(); - access_token = (String) data.get("access_token"); - security_key = (String) data.get("security_key"); - refresh_token = (String) data.get("refresh_token"); - } - System.out.println("銆怉CCESS_TOKEN銆�:" + access_token); - - // 璇锋眰璺緞 - String url = baseUrl + apiUrl; - // header 鍙傛暟 - Map<String, String> headermap = new HashMap<>(); - headermap.put("access_token", access_token); - headermap.put("client_id", client_id); - - StringBuffer sb = new StringBuffer(); - sb.append(client_id); - if (!Cools.isEmpty(requestBody)) { - // sb.append(requestBody.replaceAll("\\s*|\t|\r|\n", "").trim()); - sb.append(requestBody); - } - sb.append(pubKey); - String sign = SHA256Util.getSHA256(sb.toString(), pubKey); - headermap.put("signature", sign); - - if (!Cools.isEmpty(busi_id)) { - headermap.put("busi_id", busi_id); - } - if (!Cools.isEmpty(repeat_check)) { - headermap.put("repeat_check", repeat_check); - } -// headermap.put("ucg_flag", "y"); - - String mediaType = "application/json;charset=utf-8"; - - // 琛ㄤ綋鏁版嵁json - // 鏍规嵁瀹夊叏绾у埆閫夋嫨鍔犲瘑鎴栧帇缂╄姹傝〃浣撳弬鏁� - String json = dealRequestBody(requestBody, security_key, secret_level); - - // 杩斿洖鍊� - String result = doPost(url, null, mediaType, headermap, json); - String result2 = dealResponseBody(result, security_key, secret_level); - System.out.println("銆怰ESULT銆�:" + result); - System.out.println("result瑙e瘑:" + result2); - } /** * 杩斿洖鍊艰繘琛岃繃鍔犲瘑鍜屽帇缂╋紝瀵硅繑鍥炲�艰繘琛岃В鍘嬪拰瑙e瘑 -- Gitblit v1.9.1