Files
Neo-ZQYY/apps
Neo 1baa21222b fix(backend): F1-5a 走查发现 2 个生产 bug
- xcx_runtime_clock.py: require_approved 是 factory,Depends 必须 ()
  调用,否则 user 是 function 不是 CurrentUser → AttributeError 500
  → 沙盒在小程序所有页面失效的根因(getBusinessClock 一直降级 localFallback)

- admin_service.py:retry_trigger_job INSERT payload 字段是 jsonb,
  psycopg2 读出是 dict,未 Json() wrap 直接 INSERT 触发
  "can't adapt type 'dict'" → 生产环境点重试必 500
  (该 bug 在 6f8f1231 即引入,F1-5a 走查时通过 SQL 复现端到端验证暴露)

走查覆盖:
- xcx_runtime_clock: 修后小程序 GET /api/xcx/runtime/clock 200,
  返回完整 sandbox ctx(business_date / sandbox_instance_id)
- retry_trigger_job: SQL 复现 INSERT 包含真实 jsonb payload
  ({foo:bar,n:42}),修后 runtime_mode=sandbox + sandbox_instance_id
  + payload 完整保留全部 PASS

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 11:52:40 +08:00
..

apps/

作用说明

应用项目顶层目录,存放所有可独立部署/运行的子项目。当前包含 ETL Connector、FastAPI 后端、微信小程序前端,以及预留的管理后台。

内部结构

  • etl/pipelines/feiqiu/ — 飞球 Connector数据源连接器抽取→清洗→汇总全流程
  • backend/ — FastAPI 后端(小程序 API、权限、审批
  • miniprogram/ — 微信小程序前端Donut + TDesign
  • admin-web/ — 管理后台(预留,暂未实施)
  • mcp-server/ — MCP Server为百炼 AI 应用提供 PostgreSQL 只读查询)

Roadmap

  • 新增更多 Connector 时,在 etl/pipelines/ 下按平台名创建子目录
  • admin-web/ 待产品需求确认后启动