1
This commit is contained in:
@@ -1102,16 +1102,21 @@ public class TencentDocController extends BaseController {
|
||||
// 订单未标记为已推送,但文档中已有值,同步状态
|
||||
existingOrder.setTencentDocPushed(1);
|
||||
existingOrder.setTencentDocPushTime(new java.util.Date());
|
||||
jdOrderService.updateJDOrder(existingOrder);
|
||||
log.info("✓ 同步订单状态 - 单号: {}, 行号: {}, 原因: 文档中已有物流链接(可能手动填写)",
|
||||
orderNo, excelRow);
|
||||
int syncResult = jdOrderService.updateJDOrder(existingOrder);
|
||||
if (syncResult > 0) {
|
||||
log.info("✓ 同步订单状态成功 - 单号: {}, 行号: {}, 原因: 文档中已有物流链接(可能手动填写)",
|
||||
orderNo, excelRow);
|
||||
} else {
|
||||
log.warn("⚠️ 同步订单状态返回0 - 单号: {}, 行号: {}, 可能未更新",
|
||||
orderNo, excelRow);
|
||||
}
|
||||
|
||||
// 记录同步日志
|
||||
logOperation(fileId, sheetId, "BATCH_SYNC", orderNo, excelRow, existingLogisticsLink,
|
||||
"SKIPPED", "文档中已有物流链接,已同步订单状态");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("同步订单状态失败 - 单号: {}, 行号: {}", orderNo, excelRow, e);
|
||||
log.error("❌ 同步订单状态失败 - 单号: {}, 行号: {}", orderNo, excelRow, e);
|
||||
}
|
||||
|
||||
skippedCount++; // 已有物流链接,跳过写入
|
||||
@@ -1142,13 +1147,13 @@ public class TencentDocController extends BaseController {
|
||||
if (order.getLogisticsLink() != null && !order.getLogisticsLink().trim().isEmpty()) {
|
||||
String logisticsLink = order.getLogisticsLink().trim();
|
||||
|
||||
// 构建更新请求,同时保存订单对象用于后续更新推送状态
|
||||
// 构建更新请求
|
||||
JSONObject update = new JSONObject();
|
||||
update.put("row", excelRow);
|
||||
update.put("column", logisticsLinkColumn);
|
||||
update.put("orderNo", orderNo);
|
||||
update.put("logisticsLink", logisticsLink);
|
||||
update.put("order", order); // 保存订单对象
|
||||
// 注意:不再保存order对象,写入成功后会重新查询以确保数据最新
|
||||
updates.add(update);
|
||||
|
||||
filledCount++;
|
||||
@@ -1255,17 +1260,23 @@ public class TencentDocController extends BaseController {
|
||||
|
||||
log.info("✓ 写入成功 - 行: {}, 单号: {}, 物流链接: {}", row, expectedOrderNo, logisticsLink);
|
||||
|
||||
// 更新订单的推送状态
|
||||
// 更新订单的推送状态(重新查询订单,避免使用旧对象)
|
||||
try {
|
||||
JDOrder orderToUpdate = (JDOrder) update.get("order");
|
||||
JDOrder orderToUpdate = jdOrderService.selectJDOrderByThirdPartyOrderNo(expectedOrderNo);
|
||||
if (orderToUpdate != null) {
|
||||
orderToUpdate.setTencentDocPushed(1);
|
||||
orderToUpdate.setTencentDocPushTime(new java.util.Date());
|
||||
jdOrderService.updateJDOrder(orderToUpdate);
|
||||
log.info("✓ 订单推送状态已更新 - 单号: {}", expectedOrderNo);
|
||||
int updateResult = jdOrderService.updateJDOrder(orderToUpdate);
|
||||
if (updateResult > 0) {
|
||||
log.info("✓ 订单推送状态已更新 - 单号: {}, updateResult: {}", expectedOrderNo, updateResult);
|
||||
} else {
|
||||
log.warn("⚠️ 订单推送状态更新返回0 - 单号: {}, 可能未更新", expectedOrderNo);
|
||||
}
|
||||
} else {
|
||||
log.warn("⚠️ 重新查询订单失败 - 单号: {}", expectedOrderNo);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("更新订单推送状态失败(但写入腾讯文档已成功) - 单号: {}", expectedOrderNo, e);
|
||||
log.error("❌ 更新订单推送状态失败(但写入腾讯文档已成功) - 单号: {}", expectedOrderNo, e);
|
||||
// 不影响主流程,继续执行
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user