# 操作日志查看功能 - 快速上手指南

## 🚀 快速部署

### 1️⃣ 重新编译前端

```bash
cd d:\code\ruoyi-vue
npm run build:prod
```

或者开发模式：
```bash
npm run dev
```

### 2️⃣ 重新编译后端（如果还没编译）

```bash
cd d:\code\RuoYi-Vue-master\ruoyi-java
mvn clean package -DskipTests
```

### 3️⃣ 重启服务

重启前端和后端服务。

### 4️⃣ 清除浏览器缓存

按 `Ctrl + F5` 强制刷新页面。

---

## 📍 如何打开日志页面

### 方法：从配置对话框打开

1. 打开**订单列表**页面
   
2. 点击顶部的 **"H-TF自动写入配置"** 按钮（绿色）
   
3. 在弹出的配置对话框底部，找到 **"查看操作日志"** 按钮（蓝色，带文档图标）
   
4. 点击后即可查看操作日志

---

## 📊 功能演示

### 界面布局

```
┌─────────────────────────────────────────────────────────────────┐
│  腾讯文档操作日志                                          [X]    │
├─────────────────────────────────────────────────────────────────┤
│  搜索框: [订单号] [操作类型▼] [操作状态▼] [搜索] [重置]        │
├─────────────────────────────────────────────────────────────────┤
│  ┌───────┐  ┌───────┐  ┌───────┐  ┌───────┐                    │
│  │ 成功  │  │ 跳过  │  │ 失败  │  │ 总计  │                    │
│  │  150  │  │  500  │  │  10   │  │  660  │                    │
│  └───────┘  └───────┘  └───────┘  └───────┘                    │
├─────────────────────────────────────────────────────────────────┤
│  序号 | 操作类型 | 订单号 | 行号 | 物流链接 | 状态 | 时间      │
│  ────┼──────────┼────────┼──────┼──────────┼──────┼────────    │
│   1  | 批量同步 | JY123  | 2575 | https... | 成功 | 22:03:30   │
│   2  | 批量同步 | JY124  | 2576 | https... | 跳过 | 22:03:31   │
│   3  | 批量同步 | JY125  | 2577 | https... | 失败 | 22:03:32   │
├─────────────────────────────────────────────────────────────────┤
│  总计 660 条  [10▼] [<] [1] [2] [3] ... [66] [>]               │
├─────────────────────────────────────────────────────────────────┤
│                  [关闭]  [刷新]                                  │
└─────────────────────────────────────────────────────────────────┘
```

---

## 🔍 使用场景

### 场景1：查看今天的同步情况

1. 打开日志页面
2. 查看顶部统计卡片
3. 成功数 = 今天成功同步的订单数
4. 跳过数 = 今天跳过的订单数（如已有数据）
5. 失败数 = 今天失败的订单数

### 场景2：查找为什么某个订单没有同步

1. 在"订单号"输入框输入订单号，例如：`JY202511061595`
2. 点击"搜索"
3. 查看该订单的操作记录：
   - **成功** ✅ - 已经同步
   - **跳过** ⚠️ - 被跳过（查看原因）
   - **失败** ❌ - 同步失败（查看错误信息）
   - **无记录** - 没有尝试同步该订单

### 场景3：查看所有失败的订单

1. 在"操作状态"下拉框选择"失败"
2. 点击"搜索"
3. 查看所有失败记录的"错误信息"列
4. 根据错误信息进行处理：
   - "未找到订单" → 检查订单是否存在
   - "订单物流链接为空" → 补充物流信息
   - "API调用失败" → 检查网络或API

### 场景4：检查某个订单是否重复推送

1. 在"订单号"输入框输入订单号
2. 点击"搜索"
3. 查看记录数量：
   - 只有1条"成功"记录 ✅ - 正常
   - 有多条"成功"记录 ❌ - 可能重复推送
   - 有"跳过"记录 ✅ - 防重机制生效

---

## 💡 快速技巧

### 技巧1：快速刷新

点击底部的 **"刷新"** 按钮即可重新加载最新数据。

### 技巧2：查看物流链接

点击"物流链接"列的链接，会在新标签页打开物流链接。

### 技巧3：分页查看

- 默认每页显示20条
- 可以选择10/20/50/100条每页
- 使用页码快速跳转

### 技巧4：重置筛选

点击 **"重置"** 按钮清除所有搜索条件，显示所有日志。

---

## 🎯 数据解读

### 操作类型

- **批量同步**：通过"批量同步物流"按钮触发的同步
- **单个写入**：单个订单的写入操作（如果有）

### 操作状态

- **成功** (绿色)：
  - 物流链接已写入腾讯文档
  - 订单推送状态已更新为"已推送"
  - 操作完全成功

- **跳过** (橙色)：
  - 订单已推送（数据库标记为已推送）
  - 腾讯文档中该行已有物流链接
  - 分布式锁获取失败（其他请求正在处理）
  - 这是**正常现象**，防止重复推送

- **失败** (红色)：
  - 未找到订单
  - 订单物流链接为空
  - 腾讯文档API调用失败
  - 其他异常
  - 需要**人工处理**

### 统计数字含义

假设统计卡片显示：
```
成功: 150    跳过: 500    失败: 10    总计: 660
```

解读：
- 今天尝试同步了660个订单
- 成功同步150个（22.7%）
- 跳过500个（75.8%）- 这些订单可能已经同步过了
- 失败10个（1.5%）- 需要检查这些订单

**正常情况下：**
- 首次同步：成功比例较高（60-80%）
- 二次同步：跳过比例较高（80-95%）
- 失败比例：应该很低（<5%）

---

## 🔧 故障排查

### 问题1：看不到日志

**检查步骤：**
1. 是否已经执行过批量同步？
2. 后端是否正常运行？
3. 数据库表 `tencent_doc_operation_log` 是否有数据？

**验证SQL：**
```sql
SELECT COUNT(*) FROM tencent_doc_operation_log;
```

### 问题2：日志不完整

**可能原因：**
- 后端日志记录失败
- 数据库连接异常

**检查方法：**
查看后端日志中是否有 "记录操作日志失败" 的错误。

### 问题3："查看操作日志"按钮点击无反应

**解决方法：**
1. 按 F12 打开浏览器控制台
2. 查看是否有JavaScript错误
3. 清除浏览器缓存后重试
4. 确保前端已重新编译

---

## 📊 数据库直接查询（备用方案）

如果前端页面有问题，可以直接查询数据库：

### 查看最近50条日志
```sql
SELECT 
    id,
    operation_type AS 操作类型,
    order_no AS 订单号,
    target_row AS 目标行,
    operation_status AS 状态,
    error_message AS 错误信息,
    operator AS 操作人,
    create_time AS 时间
FROM tencent_doc_operation_log
WHERE file_id = 'DTUFydU9FTkRLbEN6'  -- 替换为您的fileId
ORDER BY create_time DESC
LIMIT 50;
```

### 查看今天的统计
```sql
SELECT 
    operation_status AS 状态,
    COUNT(*) AS 数量
FROM tencent_doc_operation_log
WHERE file_id = 'DTUFydU9FTkRLbEN6'
AND DATE(create_time) = CURDATE()
GROUP BY operation_status;
```

### 查找某个订单的记录
```sql
SELECT *
FROM tencent_doc_operation_log
WHERE order_no = 'JY202511061595'
ORDER BY create_time DESC;
```

---

## 🎉 使用效果

使用日志查看功能后，您可以：

✅ **实时监控**：随时查看同步状态  
✅ **快速定位**：找出问题订单  
✅ **追溯历史**：查看操作记录  
✅ **错误诊断**：分析失败原因  
✅ **效率统计**：评估同步效率  

---

## 📱 界面按钮位置

```
订单列表页面
  ↓
  顶部操作栏
    ↓
    [搜索] [重置] [导出] [H-TF自动写入配置] [批量同步物流]
                              ↓
                        配置对话框
                              ↓
                        底部操作按钮
                              ↓
               [查看操作日志] [测试配置] [清除配置] [取消] [保存配置]
                      ↓
                 日志查看页面 ✨
```

---

**完成！** 🎊

如有问题，请查看：
- `操作日志查看功能说明.md` - 完整功能文档
- `如何查看同步进度和操作日志.md` - 技术细节

祝使用愉快！ 😊

