66 lines
5.1 KiB
Markdown
66 lines
5.1 KiB
Markdown
# TODO Roadmap
|
||
|
||
> 当前列表为原 11 号文档中的待办事项,已迁移到此处并统一以复选框形式标记。若无特殊说明,均尚未完成。
|
||
|
||
## 1. 配置与基础设施(高优)
|
||
- [x] Development/Production 数据库连接与 Secret 落地(Staging 暂不需要)。
|
||
- [x] Redis 服务部署完毕并记录配置。
|
||
- [x] RabbitMQ 服务部署完毕并记录配置。
|
||
- [x] COS 密钥配置补录完毕。
|
||
- [ ] OSS 密钥配置补录完毕(已忽略,待采购后再补录)。
|
||
- [ ] SMS 平台密钥配置补录完毕(已忽略,待采购后再补录)。
|
||
- [x] WeChat Mini 程序密钥配置补录完毕(AppID:wx30f91e6afe79f405,AppSecret:64324a7f604245301066ba7c3add488e,已同步到 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 角色验证/网关白名单。(忽略,暂时不用完成)
|
||
|
||
## 2. 数据与迁移(高优)
|
||
- [x] App/Identity/Dictionary/Hangfire 四个 DbContext 均生成初始 Migration 并成功 update database。
|
||
- [x] 商户/门店/商品/订单/支付/配送等实体与仓储实现完成,提供 CRUD + 查询。
|
||
- [x] 系统参数、默认租户、管理员账号、基础字典的种子脚本可重复执行。
|
||
|
||
## 3. 稳定性与质量(低优先级)
|
||
- [ ] Dictionary/Identity/Storage/Sms/Messaging/Scheduler 的 xUnit+FluentAssertions 单元测试框架搭建。
|
||
- [ ] WebApplicationFactory + Testcontainers 拉起 Postgres/Redis/RabbitMQ 的集成测试模板。
|
||
- [ ] .editorconfig、.globalconfig、Roslyn 分析器配置仓库通用规则并启用 CI 检查。
|
||
|
||
## 4. 安全与合规
|
||
- [x] RBAC 权限、租户隔离、用户/权限洞察 API 完整演示并在 Swagger 中提供示例。
|
||
- [x] 现状梳理:租户解析/过滤已具备(TenantResolutionMiddleware、TenantAwareDbContext),JWT 已写入 roles/permissions/tenant_id(JwtTokenService),PermissionAuthorize 已在 Admin API 使用,CurrentUserProfile 含角色/权限/租户;但仅有内嵌 string[] 权限存储,无角色/权限表与洞察查询,Swagger 缺少示例与多租户示例。
|
||
- [x] 差距与步骤:
|
||
- [x] 增加权限/租户洞察查询(按用户、按租户分页)并确保带 tenant 过滤(TenantAwareDbContext 或 Dapper 参数化)。
|
||
- [x] 输出可读的角色/权限列表(基于现有种子/配置的只读查询)。【已落地:RBAC1 模型 + 角色/权限管理 API;Swagger 示例后续补充】
|
||
- [x] 为洞察接口和 /auth/profile 增加 Swagger 示例,包含 tenant_id、roles、permissions,展示 Bearer 示例与租户 Header 示例。
|
||
- [ ] 若用 Dapper 读侧,SQL 必须参数化并显式过滤 tenant_id。
|
||
- [x] 计划顺序:Step A 设计应用层洞察 DTO/Query;Step B Admin API 只读端点(Authorize/PermissionAuthorize);Step C Swagger 示例扩展;Step D 校验租户过滤与忽略路径配置。
|
||
- [x] Step D 校验:Admin API 管道已在 Auth 之前使用 TenantResolution,中间件未忽略新接口;查询使用 TenantAwareDbContext + ITenantProvider 双重租户校验,暂无需调整。后续若加 Dapper 读侧需显式带 tenant 过滤。
|
||
- [ ] 登录/刷新流程增加 IP 校验、租户隔离、验证码/频率限制。
|
||
- [ ] 登录/权限/敏感操作日志可追溯,提供查询接口或 Kibana Saved Search。
|
||
- [ ] Secret Store/KeyVault/KMS 管理敏感配置,禁止密钥写入 Git/数据库明文。
|
||
|
||
## 5. 观测与运维
|
||
- [x] TraceId 贯通,Serilog 输出 Console/File(ELK 待后续配置)。
|
||
- [x] Prometheus exporter 暴露关键指标,/health 探针与告警规则同步推送。
|
||
- [ ] PostgreSQL 全量/增量备份脚本及一次真实恢复演练报告。
|
||
|
||
## 6. 业务能力补全
|
||
- [ ] 商户/门店/菜品 API 完成并在 MQ 中投递上架/支付成功事件。
|
||
- [ ] 配送对接 API 支持下单/取消/查询并完成签名验签中间件。
|
||
- [ ] 小程序端商品浏览、下单、支付、评价、图片直传等 API 可闭环跑通。
|
||
|
||
## 7. 前后台 UI 对接
|
||
- [ ] Admin UI 通过 OpenAPI 生成或手写界面,接入 Hangfire Dashboard/MQ 监控只读模式。
|
||
- [ ] 小程序端完成登录、菜单浏览、下单、支付、物流轨迹、素材直传闭环。
|
||
|
||
## 8. CI/CD 与发布
|
||
- [ ] CI/CD 流水线覆盖构建、发布、静态扫描、数据库迁移。
|
||
- [ ] Dev/Staging/Prod 多环境配置矩阵 + 基础设施 IaC 脚本。
|
||
- [ ] 版本与发布说明模板整理并在仓库中提供示例。
|
||
|
||
## 9. 文档与知识库
|
||
- [ ] 接口文档、领域模型、关键约束使用 Markdown 或 API Portal 完整记录。
|
||
- [ ] 运行手册包含部署步骤、资源拓扑、故障排查手册。
|
||
- [ ] 安全合规模板覆盖数据分级、密钥管理、审计流程并形成可复用表格。
|