Files
hzhub/hzhub-erp/docs/api-stats-update-log.md
大壮 c2513849b4 feat: 添加ERP服务和系统服务,完善员工门户功能
## 新增服务模块

### 1. ERP服务 (hzhub-erp)
- 新增独立的ERP数据适配服务
- 支持SQL Server 2008 R2数据源
- 提供动态API配置管理系统
- 包含客户管理、销售数据等业务接口

### 2. 系统服务 (hzhub-system)
- 新增独立的系统管理服务
- 用户、角色、权限、部门、菜单管理
- 租户管理、操作日志、在线用户监控
- 工作流引擎(warm-flow)集成
- 企业微信审批同步功能

### 3. API网关 (hzhub-gateway)
- 新增Spring Cloud Gateway网关服务
- JWT认证、路由分发、限流熔断
- XSS防护、请求日志记录
- 统一入口端口8080

## 后台管理功能增强

### ERP动态API管理
- 新增动态API配置管理界面
- API测试、文档预览、统计监控
- 错误日志查看、缓存管理
- 从数据库表自动导入API配置

### 系统管理增强
- 企业微信配置管理
- 企业微信审批同步配置
- 部门和用户管理优化

## 员工门户功能完善

### 业务页面
- 审批中心:工作流审批、待办任务
- CRM管理:客户关系管理
- 经销商管理:经销商数据展示
- 供应链管理:采购、库存、销售
- BI报表:数据可视化分析
- ERP数据探索:SQL Server数据查询

### 个人中心
- 基本设置:个人信息管理
- 安全设置:密码修改、登录日志
- 锁屏功能:自动锁屏、手动锁屏

### 其他功能
- 标签页管理:多标签页导航
- 页面缓存:keepAlive缓存机制
- 会话超时:自动检测并提示

## 经销商门户

### 页面路由
- 新增经销商管理页面路由
- AI聊天界面完善

## 文档更新

- ERP API数据库初始化指南
- ERP API前端完整实现文档
- ERP API测试和验证指南
- Gateway路由迁移计划
- 项目配置文档更新

## 部署脚本

- 统一启动/停止/重启脚本
- Docker Compose配置优化
- Nginx配置文件更新

## 技术栈

- 后端: Spring Boot 3.5.8, Java 17
- 前端: Vue 3, TypeScript, Element Plus, Vben Admin
- 工作流: warm-flow 1.8.2
- 网关: Spring Cloud Gateway
- 数据库: MySQL 8.0, SQL Server 2008 R2
- 缓存: Redis 7
- 向量库: Weaviate 1.25.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08 08:00:19 +00:00

267 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ERP API 统计监控功能完善日志
## 更新时间
2026-04-30
## 更新内容
### 前端功能完善
#### 1. 新增错误详情弹窗组件
- 文件:`/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/stats/error-detail-modal.vue`
- 功能:
- 显示完整的错误信息和错误堆栈
- 显示实际执行的SQL语句参数已替换
- 显示调用参数JSON格式化
- 显示客户端IP、用户ID、响应时间等详细信息
- 使用Collapse组件折叠显示SQL和堆栈
- 错误堆栈只显示前10行便于快速定位
#### 2. 优化统计主页面
- 文件:`/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/stats/index.vue`
- 新增功能:
**自动刷新功能**
- 添加自动刷新开关Switch组件
- 可配置刷新间隔InputNumber范围10-300秒
- 使用setInterval定时器实现自动刷新
- 组件卸载时自动清理定时器
- 监听刷新间隔变化动态调整定时器
**慢查询分析**
- 添加慢查询阈值配置InputNumber范围100-10000ms
- 统计卡片中显示慢查询次数
- 响应时间超过阈值时黄色/红色标识
- 性能优化建议中包含慢查询警告
**性能健康度评估**
- 综合考虑错误率和响应时间计算健康度0-100分
- 三级健康状态:
- 80+分:优秀(绿色)
- 60-80分一般黄色
- <60分红色
- 自动生成健康状态描述
- 使用Progress组件可视化展示
**成功率展示**
- Progress组件显示成功率百分比
- 显示成功次数/总次数的详细数据
- 颜色从绿色到深绿色渐变
**响应时间分布**
- 基于平均响应时间和阈值对比计算评分
- 四级颜色标识:
- ≥80分绿色优秀
- ≥60分蓝色良好
- ≥40分黄色一般
- <40分红色较差
- 显示平均/最大响应时间的对比
**缓存状态展示**
- 显示API是否启用Redis缓存
- 启用时绿色,未启用时灰色
- 提示缓存可提升性能
**性能优化建议**
- 根据统计数据自动生成4种建议
- 高错误率警告(错误率>5%
- 慢查询警告(平均响应时间>阈值)
- 缓存未启用提示(调用次数>10且未启用
- 性能优秀提示错误率≤1%且响应时间良好)
**优化错误日志表格**
- 新增"用户ID"列
- 错误消息过长时截断显示前50字符
- Tooltip显示完整错误消息
- 修复fixed字段的TypeScript类型问题
- 添加横向滚动支持scroll={{ x: 1000 }}
- 顶部添加错误记录数量提示Alert组件
**优化筛选栏布局**
- 使用Space组件wrap属性支持换行
- 添加Divider分隔符分隔不同功能区
- 添加Tooltip提示说明各配置项的作用
- 新增"慢查询阈值"配置带说明Tooltip
**新增8个统计卡片**
- 总调用次数
- 成功次数(绿色)
- 错误次数(红色)
- 错误率超过5%红色警告)
- 平均响应时间(超过阈值黄色)
- 最大响应时间(超过阈值红色)
- 最小响应时间
- 慢查询次数(黄色,带阈值说明)
**新增4个性能指标卡片**
- 性能健康度Progress + 描述)
- 成功率Progress + 详细数据)
- 响应时间分布Progress + 对比数据)
- 缓存状态Statistic + 描述)
**优化统计概览Tab**
- 移除"功能正在开发"提示
- 添加"功能已完善"成功提示
- 新增性能优化建议卡片
**优化错误日志Tab**
- 顶部添加错误数量提示Alert
- 错误消息使用Tooltip显示完整内容
- 详情按钮打开错误详情弹窗
#### 3. 新增样式类
- `.mb-2`底部间距8px
- `.mt-4`顶部间距16px
- `.metric-desc`指标描述样式12px字体灰色
### 后端功能完善(已完成)
#### 1. API测试功能统计记录
- 文件:`/data/hzhub/hzhub-erp/src/main/java/org/hzhub/erp/service/impl/ErpApiServiceImpl.java`
- 修改:
- 添加ApiStatsRecorder依赖注入
- testApi方法新增clientIp和userId参数
- 执行成功时调用recordSuccess记录统计
- 执行失败时调用recordError记录统计
- 修复ApiExecutionResult类型导入
#### 2. API测试接口客户端信息提取
- 文件:`/data/hzhub/hzhub-erp/src/main/java/org/hzhub/erp/controller/ErpApiController.java`
- 修改:
- testApi方法新增HttpServletRequest参数
- 实现getClientIp方法支持多代理场景
- 实现getUserId方法从网关请求头提取
- 测试环境默认userId为"test-user"
#### 3. 服务接口签名更新
- 文件:`/data/hzhub/hzhub-erp/src/main/java/org/hzhub/erp/service/IErpApiService.java`
- 修改:
- testApi方法签名新增clientIp和userId参数
## 测试验证
### 功能测试结果
1. **API调用统计记录**
- 动态API路径调用正常记录
- API测试接口调用正常记录
- 统计字段client_ip, user_id, executed_sql, call_params, response_time全部正确
2. **统计查询接口**
- 返回正确的统计数据totalCalls, successCalls, errorCalls, avgResponseTime, maxResponseTime, minResponseTime, errorRate
- 类型转换正确Long/BigDecimal兼容
3. **错误日志查询**
- 返回错误记录列表
- 包含所有必要字段
4. **前端页面访问**
- 页面正常加载http://localhost:5666/#/erp/stats
- 无编译错误
### 统计数据测试
```bash
# 测试API ID 1
curl -X POST -H "Content-Type: application/json" \
-d '{"pageNum":1,"pageSize":20}' \
http://localhost:8082/erp/api/config/test/1
# 查询统计
curl http://localhost:8082/erp/api/config/stats/1
# 结果
{
"totalCalls": 6,
"avgResponseTime": 10,
"errorRate": 0,
"successCalls": 6,
"errorCalls": 0
}
```
## 功能对比
### 原有功能
- 基础统计卡片6个
- API选择和筛选
- 错误日志表格(简单)
- 简单的进度条显示
- 手动刷新
### 新增功能
- 错误详情弹窗(完整信息)
- 自动刷新(可配置间隔)
- 慢查询分析(可配置阈值)
- 性能健康度评估(综合评分)
- 多维度性能指标4个综合卡片
- 性能优化建议(自动生成)
- 优化错误日志表格新增用户ID列、Tooltip
- 更多统计指标(慢查询次数、缓存状态)
- Tooltip提示说明
- TypeScript类型安全修复
## 文件清单
### 前端文件
- `/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/stats/index.vue` - 主页面(已完善)
- `/data/hzhub/hzhub-admin/apps/web-antd/src/views/erp/stats/error-detail-modal.vue` - 错误详情弹窗(新增)
### 后端文件
- `/data/hzhub/hzhub-erp/src/main/java/org/hzhub/erp/service/impl/ErpApiServiceImpl.java` - 统计记录(已完善)
- `/data/hzhub/hzhub-erp/src/main/java/org/hzhub/erp/controller/ErpApiController.java` - 客户端信息提取(已完善)
- `/data/hzhub/hzhub-erp/src/main/java/org/hzhub/erp/service/IErpApiService.java` - 接口签名(已完善)
### 文档文件
- `/data/hzhub/hzhub-erp/docs/api-stats-feature.md` - 功能说明文档(新增)
- `/data/hzhub/hzhub-erp/docs/api-stats-update-log.md` - 更新日志(新增)
## 部署说明
### 前端部署
前端开发服务器已在运行端口5666代码修改会自动热更新。
### 后端部署
后端服务已重启端口8082修改已生效。
### 访问地址
- 前端http://192.168.120.60:5666/erp/stats
- 后端API
- http://192.168.120.60:8082/erp/api/config/stats/{apiId}
- http://192.168.120.60:8082/erp/api/config/errorLog/{apiId}
## 使用建议
1. **实时监控**开启自动刷新设置30秒间隔实时观察API性能
2. **性能优化**:关注健康度评分和优化建议,针对性改进
3. **错误定位**:通过错误详情弹窗快速定位问题根源
4. **慢查询分析**设置合适的阈值识别需要优化的SQL
5. **缓存优化**根据缓存状态提示为高频API启用缓存
## 后续计划
### 可扩展功能
1. 集成ECharts图表库添加
- 调用趋势折线图
- 响应时间分布柱状图
- 错误率变化趋势图
2. 导出统计数据为CSV/Excel
3. 配置告警阈值,超过阈值发送通知
4. 多API性能对比分析
5. 缓存命中率统计
6. 慢查询日志详情展示
### 数据留存优化
- 添加统计数据定时清理机制
- 配置数据保留时长
- 添加数据归档功能
## 总结
本次完善大幅提升了ERP API统计监控功能的实用性和用户体验
- 从基础统计展示升级为多维度性能分析
- 添加了自动化监控功能(自动刷新)
- 提供了智能化的优化建议
- 完善了错误定位功能(详细弹窗)
- 增强了数据可视化(健康度、成功率、响应时间分布)
所有功能都已测试验证可以正常使用。前端页面访问地址http://192.168.120.60:5666/erp/stats