This commit is contained in:
Leo
2026-01-06 18:22:11 +08:00
parent 46d2a209c0
commit ccf8298e17

View File

@@ -903,12 +903,6 @@ public class TencentDocController extends BaseController {
// 从参数获取批次ID如果是批量调用会传入 // 从参数获取批次ID如果是批量调用会传入
String batchId = params.get("batchId") != null ? String.valueOf(params.get("batchId")) : null; String batchId = params.get("batchId") != null ? String.valueOf(params.get("batchId")) : null;
// 如果batchId为空创建一个新的批次ID用于日志记录
if (batchId == null || batchId.trim().isEmpty()) {
batchId = java.util.UUID.randomUUID().toString().replace("-", "");
log.info("未提供batchId自动创建新的批次ID: {}", batchId);
}
// 从参数或配置中获取文档信息 // 从参数或配置中获取文档信息
String fileId = (String) params.get("fileId"); String fileId = (String) params.get("fileId");
String sheetId = (String) params.get("sheetId"); String sheetId = (String) params.get("sheetId");
@@ -953,8 +947,25 @@ public class TencentDocController extends BaseController {
return AjaxResult.error("文档配置不完整,请先配置 fileId 和 sheetId"); return AjaxResult.error("文档配置不完整,请先配置 fileId 和 sheetId");
} }
log.info("同步物流配置 - fileId: {}, sheetId: {}, 配置起始行: {}, 表头行: {}", // 如果batchId为空创建一个新的批次ID和批量推送记录用于日志记录
fileId, sheetId, configStartRow, headerRow); if (batchId == null || batchId.trim().isEmpty()) {
// 计算起始行和结束行(用于创建批量推送记录)
int estimatedStartRow = configStartRow != null ? configStartRow : (headerRow + 1);
int estimatedEndRow = estimatedStartRow + 199;
batchId = batchPushService.createBatchPushRecord(
fileId,
sheetId,
"MANUAL", // 手动触发
"MANUAL_TRIGGER", // 手动触发来源
estimatedStartRow,
estimatedEndRow
);
log.info("未提供batchId自动创建新的批次ID和批量推送记录: {}", batchId);
}
log.info("同步物流配置 - fileId: {}, sheetId: {}, batchId: {}, 配置起始行: {}, 表头行: {}",
fileId, sheetId, batchId, configStartRow, headerRow);
// 生成Redis key用于存储该文件的工作表的动态处理进度 // 生成Redis key用于存储该文件的工作表的动态处理进度
String redisKey = LAST_PROCESSED_ROW_KEY_PREFIX + fileId + ":" + sheetId; String redisKey = LAST_PROCESSED_ROW_KEY_PREFIX + fileId + ":" + sheetId;
@@ -1565,23 +1576,26 @@ public class TencentDocController extends BaseController {
); );
result.put("message", message); result.put("message", message);
// 更新批量推送记录状态(如果batchId存在 // 更新批量推送记录状态batchId 应该总是存在,因为如果没有会创建
if (batchId != null && !batchId.trim().isEmpty()) { if (batchId != null && !batchId.trim().isEmpty()) {
try { try {
String status = "SUCCESS"; String status = "SUCCESS";
if (errorCount > 0 && filledCount == 0) { // 使用实际成功写入数量 successUpdates 而不是 filledCount
if (errorCount > 0 && successUpdates == 0) {
status = "FAILED"; status = "FAILED";
} else if (errorCount > 0) { } else if (errorCount > 0) {
status = "PARTIAL_SUCCESS"; status = "PARTIAL_SUCCESS";
} }
batchPushService.updateBatchPushRecord(batchId, status, filledCount, skippedCount, errorCount, batchPushService.updateBatchPushRecord(batchId, status, successUpdates, skippedCount, errorCount,
message, null); message, null);
log.info("✓ 批量推送记录已更新 - batchId: {}, status: {}, 成功: {}, 跳过: {}, 错误: {}", log.info("✓ 批量推送记录已更新 - batchId: {}, status: {}, 实际成功: {}, 跳过: {}, 错误: {}",
batchId, status, filledCount, skippedCount, errorCount); batchId, status, successUpdates, skippedCount, errorCount);
} catch (Exception e) { } catch (Exception e) {
log.error("更新批量推送记录失败", e); log.error("更新批量推送记录失败", e);
// 不影响主流程,继续执行 // 不影响主流程,继续执行
} }
} else {
log.warn("⚠️ batchId 为空,无法更新批量推送记录");
} }
// 如果有成功记录,发送微信推送 // 如果有成功记录,发送微信推送