From 9df2b5a8e56eaf6688ce4aab38b70a316524ec74 Mon Sep 17 00:00:00 2001 From: wkc <978997012@qq.com> Date: Fri, 6 Feb 2026 15:59:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E4=BA=A4=E6=98=93=E5=AF=BC=E5=85=A5=E7=9A=84Redis=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CcdiPurchaseTransactionServiceImpl.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/service/impl/CcdiPurchaseTransactionServiceImpl.java b/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/service/impl/CcdiPurchaseTransactionServiceImpl.java index bd04113..f335146 100644 --- a/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/service/impl/CcdiPurchaseTransactionServiceImpl.java +++ b/ruoyi-ccdi/src/main/java/com/ruoyi/ccdi/service/impl/CcdiPurchaseTransactionServiceImpl.java @@ -14,10 +14,14 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import jakarta.annotation.Resource; import org.springframework.beans.BeanUtils; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; /** @@ -35,6 +39,9 @@ public class CcdiPurchaseTransactionServiceImpl implements ICcdiPurchaseTransact @Resource private ICcdiPurchaseTransactionImportService transactionImportService; + @Resource + private RedisTemplate redisTemplate; + /** * 查询采购交易列表 * @@ -154,10 +161,26 @@ public class CcdiPurchaseTransactionServiceImpl implements ICcdiPurchaseTransact // 生成任务ID String taskId = UUID.randomUUID().toString(); + long startTime = System.currentTimeMillis(); // 获取当前用户名 String userName = SecurityUtils.getUsername(); + // 初始化Redis状态 + String statusKey = "import:purchaseTransaction:" + taskId; + Map statusData = new HashMap<>(); + statusData.put("taskId", taskId); + statusData.put("status", "PROCESSING"); + statusData.put("totalCount", excelList.size()); + statusData.put("successCount", 0); + statusData.put("failureCount", 0); + statusData.put("progress", 0); + statusData.put("startTime", startTime); + statusData.put("message", "正在处理..."); + + redisTemplate.opsForHash().putAll(statusKey, statusData); + redisTemplate.expire(statusKey, 7, TimeUnit.DAYS); + // 调用异步导入服务 transactionImportService.importTransactionAsync(excelList, isUpdateSupport, taskId, userName);