From 248d7476047d6d288e4e81c8de3224d67fd79819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E5=BB=BA=E7=82=8A?= <924182103@qq.com> Date: Sat, 11 Oct 2025 10:54:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/shop/crop/CropController.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/shop/crop/CropController.java b/src/main/java/org/shop/crop/CropController.java index 3e1441b..79e1d47 100644 --- a/src/main/java/org/shop/crop/CropController.java +++ b/src/main/java/org/shop/crop/CropController.java @@ -60,24 +60,38 @@ public class CropController { @GetMapping("/crop/chatData") public List chatData(Long startSeq, String corpId) throws IOException { synchronized (SDK_LOCK) { - long limit = 50; + long limit = 10; long slice = Finance.NewSlice(); + long sdk = 0; + try { - Long sdk = sdkManager.initSdk(corpId, "mEizahrSF6axdfWtSK_f73a3j6-sV02hhyGG7ogmTpM"); + sdk = sdkManager.initSdk(corpId, "mEizahrSF6axdfWtSK_f73a3j6-sV02hhyGG7ogmTpM"); int ret = Finance.GetChatData(sdk, startSeq, limit, "", "", 1000, slice); if (ret != 0) { System.out.println("调用sdk拉取消息接口失败,失败消息为 ret = " + ret); - Finance.FreeSlice(slice); + //Finance.FreeSlice(slice); return null; } String contentResult = Finance.GetContentFromSlice(slice); log.info("内容字符串" + contentResult); return decodeChatData(contentResult, startSeq, sdk, corpId); + } catch (Exception e) { + log.error("获取chat数据异常{}", e.getMessage()); + // 收集失败情况数据 + e.printStackTrace(); } finally { Finance.FreeSlice(slice); // ✅ 无论如何都释放 + if (sdk != 0) { + try { + Finance.DestroySdk(sdk); // 重要! + } catch (Throwable t) { + log.warn("DestroySdk 失败", t); + } + } } } + return Collections.emptyList() ; } /**