178 lines
4.3 KiB
Markdown
178 lines
4.3 KiB
Markdown
|
|
# IoT设备日志同步功能测试脚本
|
||
|
|
|
||
|
|
## 测试步骤
|
||
|
|
|
||
|
|
### 1. 检查应用启动状态
|
||
|
|
等待应用启动完成,查看控制台日志确认:
|
||
|
|
- Spring Boot应用启动成功
|
||
|
|
- 数据库连接正常
|
||
|
|
- 定时任务已注册
|
||
|
|
|
||
|
|
### 2. 手动触发日志同步测试
|
||
|
|
|
||
|
|
**API接口**: `POST http://localhost:8080/api/deliveryDevice/manualSyncDeviceLogs`
|
||
|
|
|
||
|
|
**测试命令**:
|
||
|
|
```bash
|
||
|
|
curl -X POST http://localhost:8080/api/deliveryDevice/manualSyncDeviceLogs \
|
||
|
|
-H "Content-Type: application/json" \
|
||
|
|
-H "Authorization: Bearer YOUR_TOKEN"
|
||
|
|
```
|
||
|
|
|
||
|
|
**预期结果**:
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"code": 200,
|
||
|
|
"msg": "设备日志同步完成",
|
||
|
|
"data": null
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3. 查看日志同步统计信息
|
||
|
|
|
||
|
|
**API接口**: `GET http://localhost:8080/api/deliveryDevice/getLogSyncStatistics`
|
||
|
|
|
||
|
|
**测试命令**:
|
||
|
|
```bash
|
||
|
|
curl -X GET http://localhost:8080/api/deliveryDevice/getLogSyncStatistics \
|
||
|
|
-H "Authorization: Bearer YOUR_TOKEN"
|
||
|
|
```
|
||
|
|
|
||
|
|
**预期结果**:
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"code": 200,
|
||
|
|
"msg": "获取统计信息成功",
|
||
|
|
"data": {
|
||
|
|
"hostLogCount": 5,
|
||
|
|
"earTagLogCount": 8,
|
||
|
|
"collarLogCount": 3,
|
||
|
|
"totalLogCount": 16
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
### 4. 验证数据库数据
|
||
|
|
|
||
|
|
**检查iot_device_data表**:
|
||
|
|
```sql
|
||
|
|
SELECT device_id, device_type, device_name, voltage, temperature, steps, latitude, longitude, update_time
|
||
|
|
FROM iot_device_data
|
||
|
|
ORDER BY device_type, device_id;
|
||
|
|
```
|
||
|
|
|
||
|
|
**检查日志表数据**:
|
||
|
|
```sql
|
||
|
|
-- 主机日志
|
||
|
|
SELECT COUNT(*) as host_count FROM jbq_server_log;
|
||
|
|
|
||
|
|
-- 耳标日志
|
||
|
|
SELECT COUNT(*) as ear_tag_count FROM jbq_client_log;
|
||
|
|
|
||
|
|
-- 项圈日志
|
||
|
|
SELECT COUNT(*) as collar_count FROM xq_client_log;
|
||
|
|
```
|
||
|
|
|
||
|
|
**检查最新同步的日志记录**:
|
||
|
|
```sql
|
||
|
|
-- 查看最新的主机日志
|
||
|
|
SELECT device_id, device_voltage, device_temp, latitude, longitude, create_time
|
||
|
|
FROM jbq_server_log
|
||
|
|
ORDER BY create_time DESC LIMIT 5;
|
||
|
|
|
||
|
|
-- 查看最新的耳标日志
|
||
|
|
SELECT device_id, device_voltage, device_temp, latitude, longitude, create_time
|
||
|
|
FROM jbq_client_log
|
||
|
|
ORDER BY create_time DESC LIMIT 5;
|
||
|
|
|
||
|
|
-- 查看最新的项圈日志
|
||
|
|
SELECT device_id, device_voltage, device_temp, latitude, longitude, create_time
|
||
|
|
FROM xq_client_log
|
||
|
|
ORDER BY create_time DESC LIMIT 5;
|
||
|
|
```
|
||
|
|
|
||
|
|
### 5. 验证定时任务
|
||
|
|
|
||
|
|
**等待60分钟后检查**:
|
||
|
|
- 查看应用日志,确认定时任务自动执行
|
||
|
|
- 检查日志表是否有新的数据插入
|
||
|
|
- 验证数据同步的准确性
|
||
|
|
|
||
|
|
### 6. 测试日志查询功能
|
||
|
|
|
||
|
|
**测试耳标日志查询**:
|
||
|
|
```bash
|
||
|
|
curl -X POST http://localhost:8080/api/deliveryDevice/getEarTagLogs \
|
||
|
|
-H "Content-Type: application/json" \
|
||
|
|
-H "Authorization: Bearer YOUR_TOKEN" \
|
||
|
|
-d '{
|
||
|
|
"deviceId": "2404401569",
|
||
|
|
"deliveryId": 1
|
||
|
|
}'
|
||
|
|
```
|
||
|
|
|
||
|
|
**测试项圈日志查询**:
|
||
|
|
```bash
|
||
|
|
curl -X POST http://localhost:8080/api/deliveryDevice/getCollarLogs \
|
||
|
|
-H "Content-Type: application/json" \
|
||
|
|
-H "Authorization: Bearer YOUR_TOKEN" \
|
||
|
|
-d '{
|
||
|
|
"deviceId": "2404401569",
|
||
|
|
"deliveryId": 1
|
||
|
|
}'
|
||
|
|
```
|
||
|
|
|
||
|
|
**测试主机日志查询**:
|
||
|
|
```bash
|
||
|
|
curl -X POST http://localhost:8080/api/deliveryDevice/getHostLogs \
|
||
|
|
-H "Content-Type: application/json" \
|
||
|
|
-H "Authorization: Bearer YOUR_TOKEN" \
|
||
|
|
-d '{
|
||
|
|
"deviceId": "2404401569",
|
||
|
|
"deliveryId": 1
|
||
|
|
}'
|
||
|
|
```
|
||
|
|
|
||
|
|
## 预期结果
|
||
|
|
|
||
|
|
### 成功指标
|
||
|
|
1. **编译成功**: 无编译错误
|
||
|
|
2. **应用启动**: Spring Boot正常启动
|
||
|
|
3. **手动同步**: API返回成功状态
|
||
|
|
4. **数据同步**: 日志表中有对应设备类型的数据
|
||
|
|
5. **定时任务**: 60分钟后自动执行同步
|
||
|
|
6. **日志查询**: 能正确查询到设备日志数据
|
||
|
|
|
||
|
|
### 数据验证要点
|
||
|
|
1. **设备类型映射正确**:
|
||
|
|
- device_type=1 → jbq_server_log
|
||
|
|
- device_type=2 → jbq_client_log
|
||
|
|
- device_type=4 → xq_client_log
|
||
|
|
|
||
|
|
2. **字段映射正确**:
|
||
|
|
- voltage → device_voltage
|
||
|
|
- temperature → device_temp
|
||
|
|
- steps → walk_steps
|
||
|
|
- same_day_steps → y_walk_steps
|
||
|
|
|
||
|
|
3. **时间字段正确**:
|
||
|
|
- create_time = 当前同步时间
|
||
|
|
- update_time = 当前同步时间
|
||
|
|
- create_by = "SYSTEM"
|
||
|
|
- update_by = "SYSTEM"
|
||
|
|
|
||
|
|
## 故障排除
|
||
|
|
|
||
|
|
### 常见问题
|
||
|
|
1. **编译错误**: 检查import语句和语法
|
||
|
|
2. **数据库连接失败**: 检查数据库配置
|
||
|
|
3. **权限错误**: 检查API权限配置
|
||
|
|
4. **数据为空**: 检查iot_device_data表是否有数据
|
||
|
|
5. **定时任务不执行**: 检查@Scheduled注解和Spring配置
|
||
|
|
|
||
|
|
### 调试方法
|
||
|
|
1. 查看应用日志输出
|
||
|
|
2. 检查数据库表结构和数据
|
||
|
|
3. 使用Postman或curl测试API
|
||
|
|
4. 验证定时任务配置
|