6.6 KiB
6.6 KiB
腾讯文档操作日志查看功能说明
📊 功能概览
新增了一个操作日志查看页面,可以方便地查看所有腾讯文档的同步操作记录,包括成功、失败、跳过的记录。
🎯 功能特性
1. 可视化统计卡片
- ✅ 成功数量(绿色)
- ⚠️ 跳过数量(橙色)
- ❌ 失败数量(红色)
- 📊 总计数量(蓝色)
2. 强大的搜索功能
- 按订单号搜索
- 按操作类型筛选(批量同步/单个写入)
- 按操作状态筛选(成功/失败/跳过)
3. 详细的日志展示
- 操作类型(带标签)
- 订单号
- 目标行号
- 物流链接(可点击)
- 操作状态(带标签)
- 错误信息
- 操作人
- 操作时间
4. 分页功能
- 支持10/20/50/100条每页
- 总计显示
- 页码跳转
📍 如何使用
方法1:从配置页面打开(推荐)
- 打开订单列表页面
- 点击 "H-TF自动写入配置" 按钮
- 在配置对话框底部,点击 "查看操作日志" 按钮(蓝色)
- 即可查看当前文档的所有操作日志
方法2:直接在列表页面添加按钮(可选)
如果需要,也可以在订单列表页面添加一个独立的"查看日志"按钮。
🔍 日志搜索示例
示例1:查看某个订单的操作记录
- 在"订单号"输入框输入:
JY202511061595 - 点击"搜索"
- 查看该订单的所有操作历史
示例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) - 腾讯文档中该行已有物流链接
- 分布式锁获取失败
🚀 性能优化建议
- 定期清理历史日志
-- 清理30天前的日志
DELETE FROM tencent_doc_operation_log
WHERE create_time < DATE_SUB(NOW(), INTERVAL 30 DAY);
- 添加索引优化查询
-- 已创建的索引
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);
🔒 权限控制
目前日志查看功能没有单独的权限控制,与腾讯文档配置功能共用权限。
如需单独控制,可以:
- 在后端Controller添加权限注解
- 在前端路由配置中添加权限判断
📱 响应式设计
日志查看对话框支持响应式设计:
- 宽度:90%(自适应屏幕)
- 表格:最大高度500px,自动滚动
- 分页:右对齐,自适应
❓ 常见问题
Q1: 为什么看不到日志?
A: 可能原因:
- 还没有执行过批量同步
- fileId或sheetId参数不正确
- 后端接口异常
解决方法:
- 先执行一次批量同步
- 检查后端日志是否有错误
- 检查数据库表
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;
🎉 使用效果
使用操作日志功能后,您可以:
- ✅ 实时监控同步状态
- ✅ 快速定位问题订单
- ✅ 追溯历史操作记录
- ✅ 统计分析同步效率
- ✅ 错误诊断失败原因
最后更新: 2025-11-06 22:50
版本: v1.0
作者: AI Assistant