2026-09-03 一卡通服务同步起止时间与耗时展示变更记录
变更结论
一卡通服务同步弹框现已分别展示本轮人员同步的开始时间、结束时间和同步耗时。计时覆盖连接一卡通、分批拉取人员、向业务端分批上传直至本轮成功或失败结束的完整过程。
展示规则
- 用户发起同步且控制器成功创建任务时,立即记录本轮开始时间。
- 连接、拉取或上传阶段显示开始时间,结束时间显示“暂无记录”,同步耗时显示“计算中”。
- 本轮成功或失败时记录结束时间,并按
结束时间 - 开始时间 计算同步耗时。
- 时间格式为
yyyy-MM-dd HH:mm:ss.SSS;耗时按小时、分钟、秒显示。
- 新一轮同步会清除上一轮结束时间和结果,避免混合两轮数据。
- 重复的连接中回调沿用首次开始时间,不重复起算。
状态保存与兼容
ConsumptionPersonSyncStatus 新增 syncStartedAt,并提供毫秒级耗时计算。
- 状态 JSON 保存开始时间,弹框重新打开后仍能查看最近一轮完整计时。
- 旧 JSON 缺少开始时间时按 0 兼容,显示“同步耗时:暂无记录”。
同步批量边界
- 本次只增加计时与展示,没有修改人员同步流程或批量常量。
- 一卡通服务仍按现有分页策略拉取。
- 向业务端服务器同步仍固定每批最多 1000 条。
自动化验证
- 使用 Corretto 8(
1.8.0_482)运行指定状态编解码和控制器测试:通过。
- 覆盖成功、连接失败、旧状态兼容、新一轮清理旧结束时间、状态持久化及耗时计算。
:app:assembleDebug:通过,Debug APK 构建成功。
git diff --check:通过。
未执行项
- 未安装 APK,尚未在真机弹框中做视觉验收。
- 未执行 Git 暂存、提交、推送、合并或分支切换。
Git 状态
源码分支:shorten_sync_time;本记录不包含生产凭据或人员数据。