# 数据库结构

> 本项目使用 Coze 数据库存储数据

---

## 一、数据库信息

| 项目 | 内容 |
|------|------|
| 平台 | Coze 数据库 |
| 数据库 ID | 7595077053909712922 |
| 说明 | 由 Coze 工作流自动写入和管理 |

---

## 二、表结构

### 2.1 候选人面试记录表

> 表名由 Coze 自动管理

| 字段名 | 类型 | 说明 | 示例 |
|--------|------|------|------|
| session_id | String | 会话唯一标识 | `SESS_1705737600_张三_abc123` |
| 姓名 | String | 候选人姓名 | `张三` |
| 简历内容 | String | 解析后的简历文本 | `姓名：张三，学历：本科...` |
| current_stage | Integer | 当前面试阶段 | `60` |
| 面试记录 | String | 完整对话记录（JSON） | `[{"role":"ai","content":"..."}]` |
| 评分结果 | String | 各维度评分（JSON） | `{"salesSkill":85,...}` |
| 分析报告 | String | 综合分析报告 | `候选人具备良好的销售潜质...` |
| created_at | Timestamp | 创建时间 | `2026-01-20T10:00:00Z` |
| updated_at | Timestamp | 更新时间 | `2026-01-20T10:25:00Z` |

---

## 三、字段详细说明

### 3.1 session_id 格式

```
SESS_{时间戳}_{姓名}_{随机码}

示例：SESS_1705737600_张三_abc123
```

- 时间戳：Unix 时间戳（秒）
- 姓名：候选人姓名
- 随机码：6位随机字符串

### 3.2 current_stage 阶段码

| 阶段码 | 说明 |
|--------|------|
| 10 | 信息收集 |
| 20 | 销售技能面试 |
| 30 | 销售观面试 |
| 40 | 素质项面试 |
| 50 | 求职动机面试 |
| 60 | 面试完成 |

### 3.3 评分结果结构

```json
{
  "salesSkill": 85,      // 销售技能 0-100
  "salesMindset": 80,    // 销售观 0-100
  "quality": 90,         // 素质项 0-100
  "motivation": 75,      // 求职动机 0-100
  "total": 82.5          // 加权总分
}
```

权重计算：
- 销售技能：30%
- 销售观：25%
- 素质项：25%
- 求职动机：20%

### 3.4 面试记录结构

```json
[
  {
    "role": "ai",
    "content": "你好，我是AI面试官，请先做个自我介绍。",
    "timestamp": "2026-01-20T10:01:00Z"
  },
  {
    "role": "user",
    "content": "你好，我叫张三...",
    "timestamp": "2026-01-20T10:01:30Z"
  }
]
```

---

## 四、数据访问方式

### 4.1 查询单条记录

```python
# 后端调用 Coze API
response = await coze_client.post(
    "/v1/database/query",
    json={
        "database_id": "7595077053909712922",
        "filter": {
            "session_id": "SESS_xxx"
        }
    }
)
```

### 4.2 查询列表（分页）

```python
response = await coze_client.post(
    "/v1/database/query",
    json={
        "database_id": "7595077053909712922",
        "page": 1,
        "page_size": 20,
        "sort": {
            "field": "created_at",
            "order": "desc"
        }
    }
)
```

---

## 五、数据写入

> 数据写入由 Coze 工作流自动完成，后端只负责读取

工作流写入节点：
- 节点 ID：`124924`
- 类型：`insert_record`
- 触发时机：候选人提交信息后

---

## 变更日志

| 日期 | 变更内容 | 操作人 |
|------|---------|--------|
| 2026-01-20 | 初始化数据库文档 | AI |
