Files
cattleTransportation/tradeCattle/IOT_DEVICE_FUNCTIONALITY_TEST_GUIDE.md
2025-10-24 17:32:42 +08:00

174 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# IoT设备日志和轨迹功能测试脚本
## 测试环境
- 应用地址: http://localhost:8080
- 数据库: MySQL (xq_client_log表已包含device_id字段)
## 测试步骤
### 1. 等待应用启动
等待Spring Boot应用完全启动查看控制台日志确认
- 数据库连接成功
- 定时任务已注册
- 所有API接口已加载
### 2. 测试智能项圈日志查询
**API**: `POST /api/deliveryDevice/getCollarLogs`
**测试数据**:
```json
{
"deviceId": "24075000139",
"deliveryId": 86
}
```
**预期结果**:
- 返回60分钟间隔的日志数据
- 包含设备电量、温度、步数、经纬度等信息
- 控制台输出查询日志
### 3. 测试智能项圈运动轨迹
**API**: `POST /api/deliveryDevice/getCollarTrajectory`
**测试数据**:
```json
{
"deviceId": "24075000139",
"deliveryId": 86
}
```
**预期结果**:
- 返回60分钟间隔的轨迹点数据
- 包含经纬度和时间戳
- 可用于地图轨迹绘制
### 4. 测试设备日志同步功能
**API**: `POST /api/deliveryDevice/manualSyncDeviceLogs`
**预期结果**:
- 从iot_device_data表同步数据到三个日志表
- 控制台输出同步统计信息
- 返回成功状态
### 5. 测试日志统计信息
**API**: `GET /api/deliveryDevice/getLogSyncStatistics`
**预期结果**:
```json
{
"code": 200,
"msg": "获取统计信息成功",
"data": {
"hostLogCount": 5,
"earTagLogCount": 8,
"collarLogCount": 35,
"totalLogCount": 48
}
}
```
### 6. 验证数据库数据
**检查xq_client_log表数据**:
```sql
SELECT
device_id,
device_voltage,
device_temp,
latitude,
longitude,
walk_steps,
create_time,
update_time
FROM xq_client_log
WHERE device_id = '24075000139'
ORDER BY update_time DESC
LIMIT 10;
```
**预期结果**:
- 显示设备24075000139的最近10条日志记录
- 包含完整的设备信息字段
## 测试命令
### 使用curl测试
```bash
# 测试项圈日志查询
curl -X POST http://localhost:8080/api/deliveryDevice/getCollarLogs \
-H "Content-Type: application/json" \
-d '{"deviceId": "24075000139", "deliveryId": 86}'
# 测试项圈轨迹查询
curl -X POST http://localhost:8080/api/deliveryDevice/getCollarTrajectory \
-H "Content-Type: application/json" \
-d '{"deviceId": "24075000139", "deliveryId": 86}'
# 测试手动同步
curl -X POST http://localhost:8080/api/deliveryDevice/manualSyncDeviceLogs
# 测试统计信息
curl -X GET http://localhost:8080/api/deliveryDevice/getLogSyncStatistics
```
### 使用Postman测试
1. **创建新的Collection**: "IoT设备日志测试"
2. **添加环境变量**:
- baseUrl: http://localhost:8080
- deviceId: 24075000139
- deliveryId: 86
3. **创建测试请求**:
- 项圈日志查询
- 项圈轨迹查询
- 手动同步
- 统计信息
## 成功指标
### ✅ 功能验证
1. **API响应正常**: 所有接口返回200状态码
2. **数据格式正确**: 返回JSON格式的日志和轨迹数据
3. **60分钟分组**: 数据按小时时间分组显示
4. **日志记录完整**: 控制台输出详细的查询和同步日志
### ✅ 数据验证
1. **设备信息完整**: 包含电量、温度、步数、位置等字段
2. **轨迹点有效**: 经纬度数据不为0且格式正确
3. **时间戳准确**: 创建和更新时间字段正确
4. **同步功能正常**: 数据能正确同步到日志表
### ✅ 性能验证
1. **响应时间**: API响应时间在可接受范围内
2. **数据量**: 能正确处理大量历史数据
3. **内存使用**: 应用运行稳定,无内存泄漏
## 故障排除
### 常见问题
1. **应用启动失败**: 检查数据库连接和端口占用
2. **API返回500**: 查看控制台错误日志
3. **数据为空**: 检查设备ID和订单ID是否正确
4. **字段映射错误**: 确认数据库表结构与实体类匹配
### 调试方法
1. **查看控制台日志**: 关注SQL查询和错误信息
2. **检查数据库**: 直接查询表数据验证
3. **使用Postman**: 测试API接口的请求和响应
4. **分步测试**: 先测试单个功能,再测试完整流程
## 下一步计划
测试成功后,可以:
1. **前端集成**: 在前端页面测试日志和轨迹显示
2. **定时任务**: 验证60分钟自动同步功能
3. **性能优化**: 根据实际使用情况优化查询性能
4. **功能扩展**: 添加更多设备类型和查询条件