完善小细节
This commit is contained in:
173
tradeCattle/IOT_DEVICE_FUNCTIONALITY_TEST_GUIDE.md
Normal file
173
tradeCattle/IOT_DEVICE_FUNCTIONALITY_TEST_GUIDE.md
Normal file
@@ -0,0 +1,173 @@
|
||||
# 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. **功能扩展**: 添加更多设备类型和查询条件
|
||||
Reference in New Issue
Block a user