fix(pre-planting): 代码审查修复 2 处小问题

1. handler: 删除冗余三元表达式(两边相同),改用 new Date(raw) 直接解析
2. service: swapContributionForMerge 增加源订单数量不足时的 warn 日志(不阻断执行)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-02-28 07:28:30 -08:00
parent 4c6fd424b5
commit 5aa17b05c5
2 changed files with 11 additions and 4 deletions

View File

@ -98,10 +98,8 @@ export class PrePlantingMergeSyncedHandler {
return null;
}
// 解析 mining_enabled_at可能是 ISO 字符串或 epoch ms 整数)
const miningEnabledAt = new Date(
typeof miningEnabledAtRaw === 'number' ? miningEnabledAtRaw : miningEnabledAtRaw,
);
// 解析 mining_enabled_at可能是 ISO 字符串或 epoch ms 整数new Date() 均可处理)
const miningEnabledAt = new Date(miningEnabledAtRaw);
this.logger.log(
`[PRE-PLANTING-MERGE] Detected contract signed: mergeNo=${mergeNo}, ` +

View File

@ -587,6 +587,15 @@ export class PrePlantingContributionService {
return;
}
if (sourceOrders.length < sourceOrderNos.length) {
// 理论上不应发生(时序保证 order CDC 先于 merge CDC 到达),
// 若发生则记录 warn以已同步的订单为准继续执行不阻断
this.logger.warn(
`[PRE-PLANTING-MERGE] Partial orders in tracking table for merge ${mergeNo}: ` +
`found ${sourceOrders.length}/${sourceOrderNos.length}. Proceeding with available records.`,
);
}
// Step 2: 计算份额 sourceAdoptionId 列表10B 偏移,与 calculateForPrePlantingOrder 一致)
const portionSourceAdoptionIds = sourceOrders.map(
(o) => PRE_PLANTING_SOURCE_ID_OFFSET + o.originalOrderId,