feat: 补充数据库脚本和配置

This commit is contained in:
贺爱泽
2025-12-01 18:16:49 +08:00
parent 84ac31158c
commit 15fc000cfc
37 changed files with 42829 additions and 448 deletions

View File

@@ -1,62 +1,57 @@
# TODO Roadmap
# TODO Roadmap
说明本清单覆盖当前阶段的骨架搭建与核心基础能力不含部署与CI/CD留到项目跑通后再做
> 当前列表为原 11 号文档中的待办事项,已迁移到此处并统一以复选框形式标记。若无特殊说明,均尚未完成
## A. 基础骨架与规范
- [x] 统一返回结果/异常处理中间件Shared.Web
- [x] 模型验证、验证失败统一输出Shared.Web
- [x] 统一日志Serilog与请求日志/TraceIdShared.Web
- [x] API 版本化与分组AdminApi、MiniApi、UserApi
- [x] Swagger 定制(鉴权按钮、分组说明、示例)
- [x] 安全中间件Security Headers、CORS 策略(按端区分)
## 1. 配置与基础设施(高优)
- [x] Development/Production 数据库连接与 Secret 落地Staging 暂不需要)。
- [x] Redis 服务部署完毕并记录配置。
- [x] RabbitMQ 服务部署完毕并记录配置。
- [x] COS 密钥配置补录完毕。
- [ ] OSS 密钥配置补录完毕(待采购)。
- [ ] SMS 平台密钥配置补录完毕(待采购)。
- [x] WeChat Mini 程序密钥配置补录完毕AppIDwx30f91e6afe79f405AppSecret64324a7f604245301066ba7c3add488e已同步到 admin/mini 配置并登记更新人)。
- [x] PostgreSQL 基础实例部署完毕并记录配置。
- [x] Postgres/Redis 接入文档 + IaC/脚本补齐(见 Document/infra/postgres_redis.md 与 deploy/postgres|redis
- [x] RabbitMQ/Redis/Hangfire storage scripts available (see deploy/postgres and deploy/redis).
- [ ] admin/mini/user/gateway 网关域名、证书、CORS 列表整理完成。
- [ ] Hangfire Dashboard 启用并新增 Admin 角色验证/网关白名单。
## B. 认证与权限
- [x] JWT 颁发与刷新AdminApi、MiniApi
- [x] RBAC 权限模型(角色/权限/策略与特性授权AdminApi
- [x] 小程序登录(微信 code2Session并绑定用户账户MiniApi
- [x] 登录防刷限流MiniApi
## 2. 数据与迁移(高优)
- [ ] App/Identity/Dictionary/Hangfire 四个 DbContext 均生成初始 Migration 并成功 update database。
- [ ] 商户/门店/商品/订单/支付/配送等实体与仓储实现完成,提供 CRUD + 查询。
- [ ] 系统参数、默认租户、管理员账号、基础字典的种子脚本可重复执行。
## C. 多租户与参数字典
- [x] 多租户中间件:从 Header/域名解析租户Shared.Web + Tenancy
- [x] EF Core 全局查询过滤tenant_id
- [x] 参数字典模块(系统参数/业务参数CRUD 与缓存Dictionary 模块)
## 3. 稳定性与质量
- [ ] Dictionary/Identity/Storage/Sms/Messaging/Scheduler 的 xUnit+FluentAssertions 单元测试框架搭建。
- [ ] WebApplicationFactory + Testcontainers 拉起 Postgres/Redis/RabbitMQ/MinIO 的集成测试模板。
- [ ] .editorconfig、.globalconfig、Roslyn 分析器配置仓库通用规则并启用 CI 检查。
## D. 数据访问与多数据源
- [x] EF Core 10 基础上下文、实体基类、审计字段
- [x] 读写分离/多数据源配置(主写、从读)
- [x] Dapper 基础设施封装(统计/报表类查询)
## 4. 安全与合规
- [ ] RBAC 权限、租户隔离、用户/权限洞察 API 完整演示并在 Swagger 中提供示例。
- [ ] 登录/刷新流程增加 IP 校验、租户隔离、验证码/频率限制。
- [ ] 登录/权限/敏感操作日志可追溯,提供查询接口或 Kibana Saved Search。
- [ ] Secret Store/KeyVault/KMS 管理敏感配置,禁止密钥写入 Git/数据库明文。
## E. 文件与存储
- [x] 存储模块抽象腾讯云COS/七牛云/阿里云OSS
- [x] 上传接口AdminApi、MiniApi与签名直传预留
- [x] 图片/文件访问安全策略(防盗链、过期签名)
## 5. 观测与运维
- [ ] TraceId 贯通,并在 Serilog 中输出 Console/File/ELK 三种目标。
- [ ] Prometheus exporter 暴露关键指标,/health 探针与告警规则同步推送。
- [ ] PostgreSQL 全量/增量备份脚本及一次真实恢复演练报告。
## F. 短信与消息队列
- [x] 短信模块(阿里云/腾讯云 适配占位)与验证码发送
- [x] MQ 模块RabbitMQPublisher/Subscriber 抽象
- [x] 业务事件定义(订单创建/支付成功等)与事件发布入口
## 6. 业务能力补全
- [ ] 商户/门店/菜品 API 完成并在 MQ 中投递上架/支付成功事件。
- [ ] 配送对接 API 支持下单/取消/查询并完成签名验签中间件。
- [ ] 小程序端商品浏览、下单、支付、评价、图片直传等 API 可闭环跑通。
## G. 调度与定时任务
- [x] 调度模块Quartz/Hangfire 二选一,默认 Hangfire
- [x] 基础任务:订单超时取消、优惠券过期处理、日志清理
- [x] 调度面板(后续 AdminUI 对接)
## 7. 前后台 UI 对接
- [ ] Admin UI 通过 OpenAPI 生成或手写界面,接入 Hangfire Dashboard/MQ 监控只读模式。
- [ ] 小程序端完成登录、菜单浏览、下单、支付、物流轨迹、素材直传闭环。
## H. 第三方配送对接(仅第三方)
- [ ] 配送适配抽象(达达/闪送/顺丰同城等)
- [ ] 统一下单/取消/查询接口与回调验签
- [ ] AdminApi 后台运力单查询与补单
## 8. CI/CD 与发布
- [ ] CI/CD 流水线覆盖构建、发布、静态扫描、数据库迁移。
- [ ] Dev/Staging/Prod 多环境配置矩阵 + 基础设施 IaC 脚本。
- [ ] 版本与发布说明模板整理并在仓库中提供示例。
## I. 网关与横切能力
- [x] YARP 路由拆分(/api/admin、/api/mini、/api/user
- [x] 网关级限流与请求日志
- [x] 透传鉴权/租户标识与统一错误页
## J. 测试与质量
- [ ] 单元测试工程骨架xUnit + FluentAssertions
- [ ] 集成测试基座WebApplicationFactory、测试容器
- [ ] 静态分析与风格规范(.editorconfig
## K. 文档与规范落地
- [ ] 在文档中补充:仅第三方配送的接口与回调规范
- [ ] MiniApi 认证流程图(微信登录)与错误码
- [ ] 模块间调用关系图与依赖边界
## 9. 文档与知识库
- [ ] 接口文档、领域模型、关键约束使用 Markdown 或 API Portal 完整记录。
- [ ] 运行手册包含部署步骤、资源拓扑、故障排查手册。
- [ ] 安全合规模板覆盖数据分级、密钥管理、审计流程并形成可复用表格。