docs: 将所有设计文档中的ASCII图转换为Mermaid格式
- HLD-系统概要设计.md: 转换业务范围、总体架构、技术架构、部署架构、模块划分、模块交互、API接口分组等图 - LLD-会员模块详细设计.md: 转换模块边界、实体关系图 - LLD-预约模块详细设计.md: 转换模块边界、实体关系图 - LLD-签到模块详细设计.md: 转换模块边界、实体关系图 Mermaid格式优势: - 更好的可维护性和可读性 - 支持在Markdown编辑器中实时预览 - 更容易进行版本对比和修改 - 支持多种图表类型(mindmap, graph, erDiagram, sequenceDiagram)~
This commit is contained in:
+73
-72
@@ -29,33 +29,28 @@
|
||||
|
||||
### 1.2 模块边界
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────────┐
|
||||
│ 签到模块边界 │
|
||||
├─────────────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─────────────────────────────────────────────────────────────────┐ │
|
||||
│ │ 签到模块内部 │ │
|
||||
│ │ │ │
|
||||
│ │ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌──────────┐ │ │
|
||||
│ │ │ 签到网关 │ │ 签到验证 │ │ 签到记录 │ │ 签到统计 │ │ │
|
||||
│ │ └───────────┘ └───────────┘ └───────────┘ └──────────┘ │ │
|
||||
│ │ │ │
|
||||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ 外部依赖: │
|
||||
│ ├── 会员模块: 查询会员信息、验证会员状态 │
|
||||
│ ├── 权益模块: 验证权益有效性、扣减权益 │
|
||||
│ ├── 预约模块: 查询预约信息、验证签到资格 │
|
||||
│ ├── 设备模块: 人脸识别设备、NFC读卡器 │
|
||||
│ └── 消息模块: 发送签到通知 │
|
||||
│ │
|
||||
│ 被依赖: │
|
||||
│ ├── 财务模块: 签到消费记录 │
|
||||
│ ├── 数据模块: 签到数据分析、会员活跃度统计 │
|
||||
│ └── 考勤模块: 教练考勤统计 │
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────────────┘
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph Internal[签到模块内部]
|
||||
C1[签到网关]
|
||||
C2[签到验证]
|
||||
C3[签到记录]
|
||||
C4[签到统计]
|
||||
end
|
||||
|
||||
subgraph ExternalDeps[外部依赖]
|
||||
D1[会员模块<br/>查询会员信息、验证会员状态]
|
||||
D2[权益模块<br/>验证权益有效性、扣减权益]
|
||||
D3[预约模块<br/>查询预约信息、验证签到资格]
|
||||
D4[设备模块<br/>人脸识别设备、NFC读卡器]
|
||||
D5[消息模块<br/>发送签到通知]
|
||||
end
|
||||
|
||||
subgraph Deps[被依赖]
|
||||
U1[财务模块<br/>签到消费记录]
|
||||
U2[数据模块<br/>签到数据分析、会员活跃度统计]
|
||||
U3[考勤模块<br/>教练考勤统计]
|
||||
end
|
||||
```
|
||||
|
||||
### 1.3 签到类型
|
||||
@@ -73,51 +68,57 @@
|
||||
|
||||
### 2.1 实体关系图
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────────┐
|
||||
│ 签到模块ER图 │
|
||||
├─────────────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
||||
│ │ member │ │booking_record│ │ device │ │
|
||||
│ │─────────────│ │─────────────│ │─────────────│ │
|
||||
│ │ id │ │ id │ │ id │ │
|
||||
│ │ name │ │ member_id │ │ name │ │
|
||||
│ │ phone │ │ slot_id │ │ type │ │
|
||||
│ │ status │ │ status │ │ location │ │
|
||||
│ └──────┬──────┘ │ checkin_ │ │ status │ │
|
||||
│ │ │ status │ └──────┬──────┘ │
|
||||
│ │ └──────┬──────┘ │ │
|
||||
│ │ │ │ │
|
||||
│ │ ┌────────────────┼─────────────────────┘ │
|
||||
│ │ │ │ │
|
||||
│ │ ▼ ▼ │
|
||||
│ │ ┌─────────────────────────────┐ │
|
||||
│ │ │ checkin_record │ │
|
||||
│ │ │─────────────────────────────│ │
|
||||
│ │ │ id │ │
|
||||
│ │ │ tenant_id │ │
|
||||
│ │ │ member_id ◀────────────┘ │
|
||||
│ │ │ booking_id │ │
|
||||
│ │ │ device_id │ │
|
||||
│ │ │ type │ │
|
||||
│ │ │ method │ │
|
||||
│ │ │ status │ │
|
||||
│ │ │ checkin_at │ │
|
||||
│ │ └─────────────────────────────┘ │
|
||||
│ │ │
|
||||
│ │ ┌─────────────────────────────┐ │
|
||||
│ │ │ member_face │ │
|
||||
│ │ │─────────────────────────────│ │
|
||||
│ │ │ id │ │
|
||||
│ │ │ member_id ◀────────────┘ │
|
||||
│ │ │ face_feature │ │
|
||||
│ │ │ status │ │
|
||||
│ │ └─────────────────────────────┘ │
|
||||
│ │ │
|
||||
│ └────────────────────────────────────────────────────────────┘
|
||||
│ │
|
||||
└─────────────────────────────────────────────────────────────────────────┘
|
||||
```mermaid
|
||||
erDiagram
|
||||
member ||--o{ checkin_record : makes
|
||||
booking_record ||--o{ checkin_record : for
|
||||
device ||--o{ checkin_record : used
|
||||
|
||||
member ||--o{ member_face : has
|
||||
|
||||
member {
|
||||
bigint id PK
|
||||
varchar name
|
||||
varchar phone
|
||||
smallint status
|
||||
}
|
||||
|
||||
booking_record {
|
||||
bigint id PK
|
||||
bigint member_id FK
|
||||
bigint slot_id FK
|
||||
smallint status
|
||||
smallint checkin_status
|
||||
}
|
||||
|
||||
device {
|
||||
bigint id PK
|
||||
varchar name
|
||||
smallint type
|
||||
varchar location
|
||||
smallint status
|
||||
}
|
||||
|
||||
checkin_record {
|
||||
bigint id PK
|
||||
bigint tenant_id FK
|
||||
bigint store_id FK
|
||||
bigint member_id FK
|
||||
bigint booking_id FK
|
||||
bigint device_id FK
|
||||
smallint type
|
||||
smallint method
|
||||
smallint status
|
||||
timestamp checkin_at
|
||||
date checkin_date
|
||||
}
|
||||
|
||||
member_face {
|
||||
bigint id PK
|
||||
bigint member_id FK
|
||||
bytea face_feature
|
||||
smallint status
|
||||
}
|
||||
```
|
||||
|
||||
### 2.2 数据表设计
|
||||
|
||||
Reference in New Issue
Block a user