# 审计记录:P4 小程序核心业务路由 + 触发器注册 - 日期:2026-02-27 13:56:10 - Prompt-ID:P20260227-093332 - 风险标签:root-file, dir:admin-web, dir:backend, dir:etl, dir:miniprogram, dir:db, db-schema-change, dir:shared - 变更统计:214 files changed, 7983 insertions(+), 217777 deletions(-) ## 变更概述 本次变更为 Spec `04-miniapp-core-business` 的 Task 12–14 收尾:新增小程序任务路由(xcx_tasks)和备注路由(xcx_notes),在 `main.py` 注册路由并在 lifespan 中注册触发器 job handler。同时包含大量 ETL DWS 任务的 biz_date 营业日重构、管理后台营业日提示组件、微信开发模式 mock 登录、同步检查白名单等跨模块改动。 ## 本次对话文件变更 ### 新增文件 - `apps/backend/app/routers/xcx_notes.py` — 小程序备注 CRUD 路由 - `apps/backend/app/routers/xcx_tasks.py` — 小程序任务列表/置顶/放弃路由 - `docs/audit/prompt_logs/prompt_log_20260227_093332.md` — Prompt 日志 - `docs/audit/session_logs/session_20260227_094006.md` — Session 日志 - `scripts/ops/_verify_p4_final.py` — P4 最终验证脚本(一次性) ### 修改文件 - `apps/backend/app/main.py` — 注册新路由 + 触发器 job handler ## 改动注解 ### `apps/backend/app/routers/xcx_notes.py` - 变更类型:新增 - 原始原因:Spec 04 Task 12.2 要求创建小程序备注路由,提供备注 CRUD 能力 - 思路分析:三个端点(POST 创建、GET 列表、DELETE 删除),统一使用 `require_approved()` 权限守卫,委托 `note_service` 处理业务逻辑。路由前缀 `/api/xcx/notes`,与 xcx_tasks 保持一致的命名风格 - 修改结果:小程序端可通过 REST API 管理备注(含星星评分),所有操作受 JWT + approved 状态约束 ### `apps/backend/app/routers/xcx_tasks.py` - 变更类型:新增 - 原始原因:Spec 04 Task 12.1 要求创建小程序任务路由,提供任务列表和状态操作 - 思路分析:五个端点(GET 列表、POST pin/unpin/abandon/cancel-abandon),委托 `task_manager` 服务层。放弃操作需填写原因(AbandonRequest schema) - 修改结果:小程序端可查看活跃任务列表、置顶/取消置顶、放弃/取消放弃任务 ### `apps/backend/app/main.py` - 变更类型:修改 - 原始原因:Spec 04 Task 12.3 + 12.4 要求注册新路由并在启动时注册触发器 job handler - 思路分析:import 行新增 `member_retention_clue`(替换 member_birthday)、`admin_applications`、`business_day`、`xcx_tasks`、`xcx_notes` 五个路由模块。lifespan 中通过 `register_job()` 注册 4 个触发器 handler:task_generator、task_expiry_check、recall_completion_check、note_reclassify_backfill - 修改结果:后端启动后自动加载所有核心业务路由和定时触发器,支持小程序全链路业务 ### `scripts/ops/_verify_p4_final.py` - 变更类型:新增 - 原始原因:Spec 04 Task 14 最终验证,确认种子数据完整性和表结构正确 - 思路分析:连接测试库 test_zqyy_app,验证 biz schema 下 4 张表存在、trigger_jobs 至少 4 条种子数据、部分唯一索引存在 - 修改结果:一次性验证脚本,确认 P4 DDL + Seed 部署正确 ### `docs/audit/prompt_logs/prompt_log_20260227_093332.md` - 变更类型:新增(自动生成) - 原始原因:Prompt 审计日志自动记录 ## 合规检查 ### OpenAPI Spec 同步 - ✅ 接口代码已变更,OpenAPI spec 已重新导出(59 paths, 59 schemas) - 导出路径:`docs/contracts/openapi/backend-api.json` - ⚠️ 请重连 OpenAPI Power MCP server 以加载新 spec ### DDL / 迁移 - `new_migration_sql` 为空,无新增迁移需验证 - `has_ddl_baseline`: false — ⚠️ DDL 基线待合并 ### 文档同步 - `apps/backend/docs/API-REFERENCE.md` — 已补充 §11–§15(管理端审核、营业日、小程序任务、小程序备注、维客线索)+ dev-login 端点 - `docs/contracts/openapi/backend-api.json` — 已通过脚本重新导出