Files
ruoyi-vue/doc/操作日志查看功能说明.md
2025-11-07 01:23:45 +08:00

6.6 KiB
Raw Blame History

腾讯文档操作日志查看功能说明

📊 功能概览

新增了一个操作日志查看页面,可以方便地查看所有腾讯文档的同步操作记录,包括成功、失败、跳过的记录。

🎯 功能特性

1. 可视化统计卡片

  • 成功数量(绿色)
  • ⚠️ 跳过数量(橙色)
  • 失败数量(红色)
  • 📊 总计数量(蓝色)

2. 强大的搜索功能

  • 按订单号搜索
  • 按操作类型筛选(批量同步/单个写入)
  • 按操作状态筛选(成功/失败/跳过)

3. 详细的日志展示

  • 操作类型(带标签)
  • 订单号
  • 目标行号
  • 物流链接(可点击)
  • 操作状态(带标签)
  • 错误信息
  • 操作人
  • 操作时间

4. 分页功能

  • 支持10/20/50/100条每页
  • 总计显示
  • 页码跳转

📍 如何使用

方法1从配置页面打开推荐

  1. 打开订单列表页面
  2. 点击 "H-TF自动写入配置" 按钮
  3. 在配置对话框底部,点击 "查看操作日志" 按钮(蓝色)
  4. 即可查看当前文档的所有操作日志

方法2直接在列表页面添加按钮可选

如果需要,也可以在订单列表页面添加一个独立的"查看日志"按钮。

🔍 日志搜索示例

示例1查看某个订单的操作记录

  1. 在"订单号"输入框输入:JY202511061595
  2. 点击"搜索"
  3. 查看该订单的所有操作历史

示例2查看今天失败的操作

  1. 在"操作状态"下拉框选择:失败
  2. 点击"搜索"
  3. 查看所有失败的记录和错误信息

示例3查看批量同步的记录

  1. 在"操作类型"下拉框选择:批量同步
  2. 点击"搜索"
  3. 查看所有批量同步的操作

📊 统计卡片说明

页面顶部的统计卡片会实时计算当前筛选条件下的数据:

  • 成功:操作成功完成的数量
  • 跳过:因为各种原因跳过的数量(如已有数据、已推送等)
  • 失败:操作失败的数量
  • 总计:所有记录的总数

🎨 界面截图说明

统计卡片区域

┌─────────────┬─────────────┬─────────────┬─────────────┐
│   成功      │   跳过      │   失败      │   总计      │
│    150     │    500     │    10      │    660     │
│   (绿色)    │  (橙色)     │  (红色)     │  (蓝色)     │
└─────────────┴─────────────┴─────────────┴─────────────┘

日志表格

序号 | 操作类型 | 订单号 | 目标行 | 物流链接 | 状态 | 错误信息 | 操作人 | 操作时间
-----|----------|--------|--------|----------|------|----------|--------|----------
1    | 批量同步 | JY123  | 2575   | https... | 成功 |    -     | admin  | 22:03:30
2    | 批量同步 | JY124  | 2576   | https... | 跳过 | 已有数据 | admin  | 22:03:30

🔧 技术实现

后端接口

1. 查询操作日志列表

GET /jarvis-api/jarvis/tendoc/operationLogs
参数:
  - fileId: 文件ID可选
  - sheetId: 工作表ID可选
  - orderNo: 订单号(可选)
  - operationType: 操作类型(可选)
  - operationStatus: 操作状态(可选)

2. 查询最近的操作日志

GET /jarvis-api/jarvis/tendoc/recentLogs
参数:
  - fileId: 文件ID可选
  - limit: 限制数量默认50

前端组件

  • 组件位置src/views/system/jdorder/components/TencentDocOperationLogs.vue
  • 组件名称TencentDocOperationLogs
  • 依赖API@/api/jarvis/tendoc.js

📝 操作状态说明

SUCCESS成功

  • 物流链接成功写入腾讯文档
  • 订单状态已更新
  • 操作日志已记录

FAILED失败

可能的原因:

  • 未找到订单
  • 订单物流链接为空
  • API调用失败
  • 写入异常

SKIPPED跳过

可能的原因:

  • 订单已推送(tencent_doc_pushed = 1
  • 腾讯文档中该行已有物流链接
  • 分布式锁获取失败

🚀 性能优化建议

  1. 定期清理历史日志
-- 清理30天前的日志
DELETE FROM tencent_doc_operation_log
WHERE create_time < DATE_SUB(NOW(), INTERVAL 30 DAY);
  1. 添加索引优化查询
-- 已创建的索引
CREATE INDEX idx_file_id ON tencent_doc_operation_log(file_id);
CREATE INDEX idx_order_no ON tencent_doc_operation_log(order_no);
CREATE INDEX idx_create_time ON tencent_doc_operation_log(create_time);

🔒 权限控制

目前日志查看功能没有单独的权限控制,与腾讯文档配置功能共用权限。

如需单独控制,可以:

  1. 在后端Controller添加权限注解
  2. 在前端路由配置中添加权限判断

📱 响应式设计

日志查看对话框支持响应式设计:

  • 宽度90%(自适应屏幕)
  • 表格最大高度500px自动滚动
  • 分页:右对齐,自适应

常见问题

Q1: 为什么看不到日志?

A: 可能原因:

  1. 还没有执行过批量同步
  2. fileId或sheetId参数不正确
  3. 后端接口异常

解决方法:

  • 先执行一次批量同步
  • 检查后端日志是否有错误
  • 检查数据库表 tencent_doc_operation_log 是否有数据

Q2: 统计数字不准确?

A: 统计是基于当前筛选条件计算的,不是所有数据的统计。

例如:

  • 如果筛选了"失败"状态,统计卡片只会统计失败的记录
  • 重置筛选条件后,统计会更新

Q3: 能否导出日志?

A: 当前版本不支持导出,但可以直接从数据库导出:

-- 导出CSV格式
SELECT 
    operation_type,
    order_no,
    target_row,
    logistics_link,
    operation_status,
    error_message,
    operator,
    create_time
INTO OUTFILE '/tmp/tendoc_logs.csv'
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM tencent_doc_operation_log
WHERE file_id = 'DTUFydU9FTkRLbEN6'
ORDER BY create_time DESC;

Q4: 如何清空所有日志?

A: 谨慎操作执行以下SQL

-- 清空指定文档的日志
DELETE FROM tencent_doc_operation_log
WHERE file_id = 'DTUFydU9FTkRLbEN6';

-- 清空所有日志(慎用!)
TRUNCATE TABLE tencent_doc_operation_log;

🎉 使用效果

使用操作日志功能后,您可以:

  1. 实时监控同步状态
  2. 快速定位问题订单
  3. 追溯历史操作记录
  4. 统计分析同步效率
  5. 错误诊断失败原因

最后更新: 2025-11-06 22:50
版本: v1.0
作者: AI Assistant