已在 sync_user_list 落地:连接并取得总人数 → 一卡通每批最多 1000 人拉取并汇总 → 全量核数和字段校验 → 每 1000 条串行业务转发 → 业务零失败后按开关静默保存本地快照。
ByteArrayOutputStream.toString() 为约 75 MB 响应创建字符串,导致 Android 堆 OOM。BM is required 的原因是部门应取 CUSTDEPT。CUSTDEPT → bm、OUTID → xh。unchanged=1;客户端现已接收该字段,并按 created + updated + unchanged + failed == total 校验汇总。POST /api/oneCardTerminal/syncPersons。Content-Type: application/json; charset=UTF-8。one_card_type 固定为 新开普。items 每批 1..1000;2601 条验证为 1000 + 1000 + 601。code、total/created/updated/unchanged/failed 和 trace_id;旧响应缺少 unchanged 时按 0 兼容。custid=0,后续按最大 CUSTOMERID + 1 推进;26,089 人为 27 个源端分页。setting_onecard_save_person_data_locally;每轮开始时冻结值。CustomerFetchResult、CustomerFullFetchService、CustomerLocalSaveService。replaceSnapshot()。unchanged 映射与汇总校验。CustomerSyncService、CustomerSyncResult 和旧分段入口。:app:testDebugUnitTest :app:assembleDebug:156 个测试,0 skipped、0 failure、0 error,Debug APK 构建成功。:app:assembleDebug:通过。61a98aa76ca6325f92e812718b23bfe90a929a088dbe51a6eb7f720f44a02053。git diff --check 通过;旧字段、固定 50000 和旧服务引用扫描为空。unchanged 时按完整汇总公式校验。OUTID → xh 修复版安装时 ADB 设备列表为空,尚未覆盖到设备;需设备重新连接后安装并再次触发全量同步。failed=26081,仅 8 人成功,本轮未触发本地保存。6a993b70e7464、末批 6a993be9725cd 等 trace ID 查业务服务器日志。total=1000, created=0, updated=0, unchanged=1, failed=999,trace_id=6a993ebf3e550;客户端误判已修复,999 条业务失败仍待服务端排查。源码分支 sync_user_list;未暂存、提交、推送、合并或切换分支。