| .. | ||
| __init__.py | ||
| mapping.py | ||
| query_service.py | ||
| reader.py | ||
| README.md | ||
| relationship_audit.py | ||
| staging.py | ||
| sync_service.py | ||
| task_service.py | ||
| worker.py | ||
T+ 只读同步
AI 摘要:读取外部 SQL Server 的原始快照,并管理持久化任务。关键文件为 task_service、worker、sync_service、relationship_audit 和 query_service;管理员 API 为
/api/v1/system/tplus。
职责与边界
task_service创建/重试任务,控制请求幂等和事务,保留原批次与异常;HTTP 不执行源库长查询。worker.run_once取得 MySQL 执行锁后恢复中断任务、领取一个任务;读取和关联核验共用锁。sync_service主键分页读取白名单实体,每页保存原始快照,相同源 ID 和行哈希去重。relationship_audit执行db/queries/tplus/audit/queries.sql,只返回系统字典和数量;按收款方向与单据类型核对关联。query_service分页元数据,按需加载白名单报告;不返回原始 payload、驱动异常或源配置。
主要入口
管理员 API 提供概况、批次/异常分页、详情、创建与失败重试。CLI 为 python -m app.cli tplus-worker --once/--watch;原 tplus-stage --entity personnel 可继续直接读取。
连接配置、启动命令和异常处理参见项目 docs/T+本地恢复与同步开发手册.md。后端与 worker 必须指向同一 MySQL 业务库和 T+ 账套,查询文件随部署交付。
验收限制
当前只写 MySQL 暂存与管理表,不写工资业务表、不推进时间水位。关联、成本、日期和负向事件的业务规则待客户确认;SQL Server 2022 的实测不能替代客户 2008 R2(10.50.x)的兼容验收。