推送给招商
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
# 自动化营业额数据推送与展示系统 技术架构
|
||||
|
||||
## 技术栈
|
||||
- 后端:FastAPI(Python)
|
||||
- 定时:APScheduler(内嵌)/ Celery(可选)
|
||||
- 数据库:SQLite(开发默认)/ PostgreSQL(生产)
|
||||
- 前端:React + Tailwind(或 Vue + Tailwind)
|
||||
- 部署:Docker + Docker Compose
|
||||
|
||||
## 系统架构
|
||||
```
|
||||
[Generator & Scheduler] -> [FastAPI REST] -> [DB]
|
||||
|
|
||||
-> [Web UI]
|
||||
-> [Notifier]
|
||||
```
|
||||
|
||||
## 数据模型
|
||||
- 表:`turnover`
|
||||
- `id` INTEGER PK
|
||||
- `date` DATE UNIQUE
|
||||
- `amount` DECIMAL(12,2)
|
||||
- `created_at` TIMESTAMP
|
||||
- 表:`config`
|
||||
- `key` TEXT PK
|
||||
- `value` TEXT
|
||||
|
||||
## API 契约
|
||||
- `GET /api/turnover/today` 返回当日数据
|
||||
- `GET /api/turnover/range?start=YYYY-MM-DD&end=YYYY-MM-DD` 区间查询
|
||||
- `GET /api/turnover/export.csv` 导出 CSV
|
||||
- `POST /api/admin/recompute?date=YYYY-MM-DD` 重新生成指定日期(管理员)
|
||||
|
||||
## 定时方案
|
||||
- APScheduler `cron` 每日 `00:05` 触发生成任务
|
||||
- 任务幂等:同日重复执行将覆盖/更新当日记录
|
||||
|
||||
## 容器化
|
||||
- `backend`:FastAPI + APScheduler
|
||||
- `frontend`:静态构建产物挂载到 `nginx` 或 `vite preview`
|
||||
- `db`:SQLite 挂载卷 / 可切换 PostgreSQL 服务
|
||||
- `notifier`:邮件/Webhook 可选模块
|
||||
|
||||
## Docker Compose 示例
|
||||
```yaml
|
||||
services:
|
||||
backend:
|
||||
build: ./backend
|
||||
env_file: .env
|
||||
volumes:
|
||||
- ./data:/app/data
|
||||
ports:
|
||||
- "8000:8000"
|
||||
frontend:
|
||||
build: ./frontend
|
||||
ports:
|
||||
- "3000:3000"
|
||||
db:
|
||||
image: postgres:16
|
||||
environment:
|
||||
POSTGRES_PASSWORD: example
|
||||
volumes:
|
||||
- ./pgdata:/var/lib/postgresql/data
|
||||
ports:
|
||||
- "5432:5432"
|
||||
```
|
||||
|
||||
## 异常与告警
|
||||
- 生成失败:记录日志并触发邮件/Webhook(启用时)
|
||||
- API 错误:统一异常处理中返回标准错误响应
|
||||
|
||||
## 安全与配置
|
||||
- `.env` 管理数据库与通知凭据
|
||||
- 简易登录:基于环境变量开关,默认关闭
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
# 自动化营业额数据推送与展示系统 PRD
|
||||
|
||||
## 项目概述
|
||||
- 目标:摆脱第三方平台依赖,实现每日自动生成、持久化、展示营业额数据,并通过 Docker 一键部署。
|
||||
- 使用人群:运营(查看与导出)、技术(运维与配置)。
|
||||
|
||||
## 用户角色
|
||||
- 管理员:配置任务、查看与导出数据、触发重跑、查看告警。
|
||||
- 访客:查看仪表盘与历史数据。
|
||||
|
||||
## 核心功能
|
||||
- 数据生成:保留现有假数据逻辑(可优化为可参数化),每日定时生成。
|
||||
- 数据存储:SQLite(默认)/ PostgreSQL(生产),结构化存储并持久化历史。
|
||||
- Web 展示:响应式仪表盘、趋势图、表格历史查询、区间筛选与导出。
|
||||
- 定时执行:APScheduler(内嵌)或 Celery(可选扩展)。
|
||||
- 容器化:Dockerfile + Docker Compose 一键部署。
|
||||
- 通知提醒:邮件或 Webhook(可选),失败时发送告警。
|
||||
- 访问控制:简易登录(可选),基于环境变量开关。
|
||||
|
||||
## 页面与交互
|
||||
- 首页仪表盘
|
||||
- 当日营业额、近7/30日趋势图、同比环比(基于模拟规则)。
|
||||
- 历史数据页
|
||||
- 时间区间筛选、列表与图表联动、CSV/Excel 导出。
|
||||
- 配置管理页(可选)
|
||||
- 定时规则、数据生成参数、通知渠道配置。
|
||||
|
||||
## 验收标准
|
||||
- 每日自动生成与写库,无需人工干预。
|
||||
- Web 界面在 PC 与移动端均能正常展示与操作。
|
||||
- 历史数据可查询并支持 CSV/Excel 导出。
|
||||
- Docker Compose 可一键启动全部服务并运行定时任务。
|
||||
- 失败自动告警可在启用时生效。
|
||||
|
||||
## 非功能需求
|
||||
- 可维护:配置项集中于 `.env` 与 `config.json`。
|
||||
- 可扩展:后端 API 与任务模块化,便于替换生成逻辑。
|
||||
- 安全:不提交敏感信息到代码仓库;登录开关默认关闭。
|
||||
|
||||
## 里程碑
|
||||
- M1:后端 API + 数据模型 + 定时任务(APScheduler)。
|
||||
- M2:前端响应式展示 + 区间查询 + 导出。
|
||||
- M3:Docker 化与部署文档。
|
||||
- M4:告警通知与简单登录(可选)。
|
||||
|
||||
Reference in New Issue
Block a user