本次先处理人员全量同步重复运行和全量同步内存叠加问题,不实现“内存不足时抢占并优先保障支付”的策略。
人员同步由消费页实例级任务调整为应用进程级唯一任务。消费页创建、设置页返回和手动重试均复用同一个 ConsumptionPersonSyncController;页面销毁只解除观察者,不再中断并新建另一轮任务。
HTTP 输入流 → 单次 SAX 解析 → 1000 人分页 → 私有目录原子落盘 → 分批全量字段校验 → 分批上传业务服务器 → 可选分批写入本地人员库 → 清理临时批次
ConsumptionPersonSyncRuntime,在应用进程内持有唯一 Controller 和后台执行器。ConsumptionActivity 只附加和解除观察者;Activity 重建不会关闭后台任务。AtomicBoolean 防重锁。CustomerRecord,取消重复 Map。noBackupFilesDir/onecard_person_sync_batches/<syncId>。CustomerFetchResult 只持有批次存储引用和统计,不持有全量人员 List。1.8.0_482)运行 :app:testDebugUnitTest:通过。:app:assembleDebug:通过。git diff --check:通过。syncId。未执行 Git 暂存、提交、推送、合并、拉取或分支切换;记录不包含人员明细或生产凭据。