Add tenant-safe value, telemetry, connector, commercial, and production-readiness foundations.
1.7 KiB
1.7 KiB
员工导入与成员资格部分提交
日期:2026-07-17 文档路径:document/development/2026-07-17/dev-logs/bugs/employee-import-membership-transaction.md
修复记录
- 14:07:记录 bug 修复:员工导入与成员资格部分提交。(bug-log:242d68c3)
- Git 提交检查:已执行
git fetch --all --prune、状态、upstream 和双向日志检查;origin/main无新提交,本地mainahead 17。ahead 摘要:17 个提交覆盖审批/风险处置、租户安全费用学习、权威预审、票据关联、个人记忆、历史回填、迁移安全、费用事件事务和不透明认证会话;本轮未改写这些提交。 - 根因:
EmployeeImportCoordinator._apply_import_rows()在写员工和上级关系后先 commit,EmployeeService.import_employees()才补TenantMembership并第二次 commit;成员资格失败时接口报错,但员工已永久落库。 - 修改:协调器只 flush 员工、角色、组织、上级和变更日志,不再拥有 commit;外层服务仅在成功结果后补齐租户成员资格,并对两部分执行一次统一 commit,任一异常统一 rollback。
- 操作:新增成员资格同步注入失败测试,导入新员工后故意抛错并验证员工记录不存在;校验失败结果不触发成员资格或无意义提交。
- 验证:容器内员工服务、导入、认证和行为画像 35 项通过;差旅计算器 5 项通过;目标 Ruff、format check、compileall、代码体积门禁和
git diff --check通过。 - 影响:员工批量导入现在满足“全部员工数据与认证成员资格一起成功或一起失败”,不会出现接口失败但部分账号已经创建/修改的状态。
- Git 提交检查:已执行