feat: 初始化平台总后台与核心API
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
| 缓存与任务 | Redis | 限流、会话、幂等、短期状态、延迟任务;关键事实仍落 PostgreSQL |
|
||||
| 消息/事件 | Redis Streams + Consumer Group | 遥测流、告警、订单状态、通知、对账异步化;使用消费组、重试、死信与幂等消费者保障可恢复处理 |
|
||||
| 文件与证据 | S3 兼容对象存储(MinIO/云 OSS) | 商品图、安装/安检证据、签收图片、视频和合同;采用短期签名 URL 与生命周期策略 |
|
||||
| 移动端离线与定位 | Flutter 安全存储 + 本地加密数据库 + 地图/定位 SDK | 服务端 App 的已分配任务、现场材料和配送轨迹可弱网暂存;保留原始采集时间并按幂等键补传 |
|
||||
| Web 入口与部署 | Caddy + Shell 脚本 | TLS 终止、反向代理、静态文件、压缩、健康检查与受控发布;配置和脚本纳入版本控制 |
|
||||
| 可观测性 | OpenTelemetry + Prometheus + Grafana + Loki | 指标、链路、日志、告警与审计关联 |
|
||||
|
||||
@@ -66,6 +67,12 @@ flowchart LR
|
||||
|
||||
业务项目应通过共享包、模板或上游同步机制复用标准库,禁止将标准库目录复制到每个子项目后自行漂移。标准库升级需要记录版本、影响范围、兼容策略和回滚方式。
|
||||
|
||||
### 4.1 移动端定位、离线与取证基线
|
||||
|
||||
- 服务端 App 仅在配送或现场任务执行期间申请并采集定位;必须显式展示定位授权、后台运行、最后更新时间和权限失效状态。用户端仅消费本人订单所需的简化轨迹。
|
||||
- 已分配任务、轨迹点、照片/视频元数据、签名、扫描结果和收款确认可在弱网下加密暂存。补传必须携带原始采集时间、服务端接收时间、任务 `identity`、操作者 `identity`、来源、完整性标记与幂等键,禁止以补传时间覆盖采集时间。
|
||||
- 后端负责乱序校正、重复去除、异常速度/精度标记、证据哈希与状态机校验;前端离线缓存、按钮禁用或页面显示不能替代服务端权限、金额、地理围栏和完成条件校验。
|
||||
|
||||
## 5. 研发目录规划(建议)
|
||||
|
||||
```text
|
||||
@@ -128,13 +135,13 @@ platforms/
|
||||
| 模块 | 表前缀 | 典型表 |
|
||||
| --- | --- | --- |
|
||||
| 身份与权限 | `idn_` | `idn_account`、`idn_role`、`idn_permission` |
|
||||
| 组织与服务关系 | `org_` | `org_gas_station`、`org_delivery_point`、`org_service_person`、`org_user_service_relation` |
|
||||
| 组织与服务关系 | `org_` | `org_gas_station`、`org_delivery_point`、`org_service_person`、`org_user_service_relation`、`org_invitation_qr_code` |
|
||||
| 设备与物联网 | `dev_` | `dev_device`、`dev_telemetry`、`dev_command` |
|
||||
| 安全与安检 | `saf_` | `saf_event`、`saf_rule`、`saf_inspection`、`saf_rectification` |
|
||||
| 商品与营销 | `cat_` | `cat_product`、`cat_sku`、`cat_coupon`、`cat_cart` |
|
||||
| 订单与履约 | `ord_` | `ord_order`、`ord_payment`、`ord_service_task`、`ord_delivery_track` |
|
||||
| 调度与配送 | `dsp_` | `dsp_assignment`、`dsp_shift`、`dsp_delivery_track_point` |
|
||||
| 钱包与结算 | `wal_` | `wal_ledger`、`wal_settlement`、`wal_withdrawal` |
|
||||
| 钱包与结算 | `wal_` | `wal_wallet_ledger`、`wal_settlement`、`wal_withdrawal` |
|
||||
| 内容与通知 | `cnt_`、`ntf_` | `cnt_article`、`cnt_banner`、`ntf_message`、`ntf_template` |
|
||||
| 生产与质量 | `mfg_` | `mfg_work_order`、`mfg_batch`、`mfg_quality_check` |
|
||||
| 开放接口 | `api_` | `api_product`、`api_client`、`api_subscription` |
|
||||
@@ -160,6 +167,8 @@ platforms/
|
||||
|
||||
- 所有实体一律使用单数:一个 `org_gas_station` 既可表示单个站点模型,也可作为列表返回项的模型名称。列表、批量和分页仅在 API 动词或响应字段表达,例如 `GET /org/gas-station/list`、`items: []`;不改变实体名。
|
||||
- 关联表使用参与实体的单数词根和明确关系词,例如 `org_user_service_relation`、`idn_account_role_relation`,不得使用 `users_roles`、`user_roles` 等复数或含糊名称。
|
||||
- `ord_delivery_track` 是配送任务的状态轨迹主表,`dsp_delivery_track_point` 是其定位点明细表;二者均为独立实体,不得再创建同义的 `delivery_tracks`、`track_points` 等表或模型。定位点通过 `delivery_track_identity` 关联主表。
|
||||
- 钱包事实流水的唯一实体名为 `wal_wallet_ledger`;用户和服务人员的资金归属通过关联对象字段区分,禁止另建同义的 `wal_ledger`、`wallet_ledgers` 或 `service_wallet_ledger`。
|
||||
- 文件目录可以按业务模块组织,但目录名不参与实体命名;模型、迁移、契约、测试文件都必须能从其文件名唯一定位到同名的数据库表和模型。
|
||||
- 新增实体前应先登记规范名称;重命名须同时修改表、模型、文件、契约、迁移和中文注释,并进行全仓引用检查,禁止仅改其中一层。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user