# 转人工服务功能测试说明

## 修复内容

### 1. 修复session_id字段缺失问题
- **问题**: 在acceptManualRequest和rejectManualRequest方法中，创建ManualServiceSessions对象时缺少manualSessionId字段
- **修复**: 将setUserId(requestId)改为setManualSessionId(requestId)
- **影响**: 确保更新操作能正确定位到要修改的记录

### 2. 修复status字段数据截断问题
- **问题**: status字段使用长字符串值("PENDING", "ACCEPTED", "REJECTED")导致数据截断
- **修复**: 统一使用单字符状态码
  - "0" - 待处理 (原PENDING)
  - "1" - 已接受 (原ACCEPTED) 
  - "2" - 已拒绝 (原REJECTED)
- **影响**: 避免"Data truncated for column 'status'"错误

## 测试步骤

### 1. 创建转人工请求
```
POST /customer/transfer
参数: sessionId=123, reason="需要人工协助"
预期: 成功创建请求，status=0
```

### 2. 接受转人工请求
```
POST /customer/manual-requests/{requestId}/accept
预期: 成功更新状态为1，设置serviceId
```

### 3. 拒绝转人工请求
```
POST /customer/manual-requests/{requestId}/reject
预期: 成功更新状态为2，设置serviceId
```

## 验证要点

1. 插入操作不再报"Field 'session_id' doesn't have a default value"错误
2. 更新操作不再报"Data truncated for column 'status'"错误
3. 状态值正确保存和查询
4. 主键字段正确设置，更新操作能找到对应记录

## 状态码对照表

| 数字码 | 含义 | 原字符串值 |
|--------|------|------------|
| 0 | 待处理 | PENDING |
| 1 | 已接受 | ACCEPTED |
| 2 | 已拒绝 | REJECTED |