From 62dbe1cd2076e95150d947ec3af47548d3d08f83 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 14:20:42 +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 | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/shop/crop/CropController.java b/src/main/java/org/shop/crop/CropController.java index 05f9bc1..6df2ba2 100644 --- a/src/main/java/org/shop/crop/CropController.java +++ b/src/main/java/org/shop/crop/CropController.java @@ -3,6 +3,7 @@ package org.shop.crop; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.tencent.wework.Finance; import lombok.extern.slf4j.Slf4j; import org.shop.crop.constant.GlobalConstants; @@ -55,15 +56,17 @@ public class CropController { @GetMapping("/crop/chatData") public List chatData(Long startSeq, String corpId) throws IOException { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(CropConfig::getCropid, corpId); + CropConfig config = cropConfigMapper.selectOne(wrapper); synchronized (SDK_LOCK) { long limit = 50; long slice = Finance.NewSlice(); long sdk = 0; try { - sdk = sdkManager.initSdk(corpId, "mEizahrSF6axdfWtSK_f73a3j6-sV02hhyGG7ogmTpM"); - - int ret = Finance.GetChatData(sdk, startSeq, limit, "", "", 1000, slice); + sdk = sdkManager.initSdk(corpId, config.getMessageSecret()); + int ret = Finance.GetChatData(sdk, config.getLastSeq(), limit, "", "", 2000, slice); if (ret != 0) { System.out.println("调用sdk拉取消息接口失败,失败消息为 ret = " + ret); //Finance.FreeSlice(slice); @@ -212,13 +215,11 @@ public class CropController { cropFileService.saveBatch(mediaFiles); // ✅ 异步触发下载任务(可以轮询数据库) - CompletableFuture.runAsync(() -> { - try { - downloadPendingFiles(mediaFiles, sdk); // 也可以不传参,改为查数据库 - } catch (Exception e) { - log.error("异步下载任务异常", e); - } - }); + try { + downloadPendingFiles(mediaFiles, sdk); // 也可以不传参,改为查数据库 + } catch (Exception e) { + log.error("异步下载任务异常", e); + } } return messageList; } @@ -305,7 +306,8 @@ public class CropController { File tempFile = File.createTempFile(GlobalConstants.DOWNLOAD_TEMP_FILE_NAME_PREFIX, msgType, mediaContext.getTempMergeFileDir()); - String indexbuf = null; // 初始化 indexbuf + + String indexbuf = ""; // 初始化 indexbuf try (FileOutputStream fileOutputStream = new FileOutputStream(tempFile)) { while (true) { long mediaData = Finance.NewMediaData();