PayrollManagementSystem/backend/app/services/tplus/README.md

1.5 KiB
Raw Blame History

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)的兼容验收。