Files
hzhub/hzhub-erp/docs/api-stats-feature.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

6.8 KiB
Raw Blame History

ERP API 统计监控功能说明

功能概述

ERP API统计监控页面提供多维度的API调用分析和性能监控功能帮助开发者快速定位问题、优化性能。

页面布局

页面采用上下堆叠布局:

  • 上方API概览显示所有API的汇总统计
  • 下方详细统计单个API的详细分析和监控

主要功能模块

1. API概览卡片

显示整个系统的API汇总数据

  • API总数系统中配置的API数量
  • 启用API状态为启用的API数量
  • 禁用API状态为禁用的API数量
  • 启用缓存启用Redis缓存的API数量

2. 详细统计筛选

提供多种筛选和控制选项:

  • API选择下拉选择要查看的API
  • 时间范围DatePicker范围选择器可选
  • 查询按钮:立即查询统计数据
  • 刷新按钮:手动刷新统计数据
  • 重置按钮:重置时间范围并重新查询
  • 自动刷新开关:开启/关闭自动刷新
  • 刷新间隔配置设置自动刷新的时间间隔10-300秒
  • 慢查询阈值配置定义慢查询的响应时间阈值100-10000ms

3. 统计卡片组8个核心指标

横向排列的统计卡片显示API的核心性能数据

  • 总调用次数该API的总调用次数
  • 成功次数:调用成功的次数(绿色标识)
  • 错误次数:调用失败的次数(红色标识)
  • 错误率错误次数占比百分比超过5%时红色警告)
  • 平均响应时间:所有调用的平均响应时间(超过阈值时黄色警告)
  • 最大响应时间:响应时间最大值(超过阈值时红色警告)
  • 最小响应时间:响应时间最小值
  • 慢查询次数:响应时间超过阈值的调用次数(黄色标识)

4. 性能指标卡片4个综合指标

提供更深度的性能分析:

  • 性能健康度综合考虑错误率和响应时间的健康评分0-100分

    • 80+分:优秀(绿色)
    • 60-80分一般黄色
    • <60分红色
    • 包含健康状态描述
  • 成功率:成功调用占比的进度条展示

    • 显示成功次数/总次数的详细数据
  • 响应时间分布:响应时间性能评分

    • 基于平均响应时间和阈值的对比
    • 颜色分级显示性能状态
  • 缓存状态显示该API是否启用Redis缓存

    • 启用:绿色显示"已启用"
    • 未启用:灰色显示"未启用"
    • 提示缓存可提升性能

5. 性能优化建议卡片

基于统计数据自动生成优化建议:

  • 高错误率警告:错误率>5%建议检查API配置和SQL
  • 慢查询警告平均响应时间超过阈值建议优化SQL或启用缓存
  • 缓存未启用提示:调用次数>10且未启用缓存建议启用
  • 性能优秀提示错误率≤1%且响应时间良好,保持现状

6. 统计概览Tab

当API有调用记录时显示

  • 功能完善说明
  • 性能优化建议卡片

当API无调用记录时提示

  • 该API暂无调用记录
  • 建议先调用动态API触发统计

7. 错误日志Tab

显示API的错误调用记录

  • 调用时间:错误发生的时间
  • 响应时间:该次调用的响应时间
  • 客户端IP调用方的IP地址
  • 用户ID:调用方的用户标识
  • 错误消息截断显示完整内容在Tooltip中
  • 详情按钮:打开错误详情弹窗

8. 错误详情弹窗

点击"详情"按钮打开,显示完整的错误信息:

  • 调用信息调用时间、响应时间、客户端IP、用户ID、调用状态、统计ID
  • 错误信息醒目的红色Alert显示完整错误消息
  • 调用参数可折叠的JSON格式化参数展示
  • 执行的SQL可折叠的SQL语句展示实际执行的SQL参数已替换
  • 错误堆栈可折叠的错误堆栈前10行

使用场景

场景1监控API运行状态

  1. 选择要监控的API
  2. 查看统计卡片了解基本性能数据
  3. 查看性能健康度了解整体状态
  4. 根据优化建议进行改进

场景2分析错误问题

  1. 选择有错误的API
  2. 切换到"错误日志"Tab
  3. 查看错误消息概览
  4. 点击"详情"查看完整的错误信息、SQL和堆栈
  5. 根据详细信息定位问题根源

场景3优化慢查询

  1. 设置慢查询阈值如1000ms
  2. 查看慢查询次数统计
  3. 如果慢查询较多,查看平均/最大响应时间
  4. 根据建议优化SQL或启用缓存

场景4实时监控

  1. 开启自动刷新开关
  2. 设置刷新间隔如30秒
  3. 页面将自动刷新统计数据
  4. 实时观察API性能变化

场景5时间范围分析

  1. 选择时间范围如最近1小时
  2. 查询该时间段内的统计数据
  3. 对比不同时间段的性能差异
  4. 分析高峰时段的性能表现

技术实现要点

前端技术栈

  • Vue 3 Composition API
  • Ant Design Vue组件库
  • TypeScript类型安全
  • Reactive响应式数据
  • Computed计算属性
  • Watch监听器
  • 定时器管理

后端支持接口

  • GET /erp/api/config/stats/{apiId} - 查询统计数据
  • GET /erp/api/config/errorLog/{apiId} - 查询错误日志
  • GET /erp/api/config/list - 查询API列表

数据库表

  • erp_api_stats - 存储每次API调用的详细信息
    • 字段api_id, call_time, call_params, executed_sql, response_time, call_status, error_message, error_stack, client_ip, user_id

性能指标计算公式

健康度评分

健康度 = (错误评分 + 响应时间评分) / 2
错误评分 = max(0, 100 - 错误率 * 10)  // 每1%错误率扣10分
响应时间评分 = max(0, 100 - (平均响应时间 / 阈值) * 20)

慢查询判定

慢查询 = 响应时间 > 配置的阈值默认1000ms

扩展功能建议

未来可扩展功能

  1. 图表可视化集成ECharts展示调用趋势图、响应时间分布图
  2. 导出功能导出统计数据为CSV或Excel
  3. 告警通知:配置告警阈值,超过阈值发送邮件/短信通知
  4. 对比分析多个API的性能对比
  5. 缓存命中率统计:如果启用缓存,显示缓存命中率
  6. 数据留存策略:设置统计数据保留时长
  7. 慢查询日志详情显示慢查询的具体SQL和参数

注意事项

  1. 自动刷新:自动刷新会消耗服务器资源,建议在需要实时监控时才开启
  2. 时间范围:查询较长时间范围的数据可能较慢,建议根据数据量选择合适的时间范围
  3. 错误详情错误堆栈可能很长弹窗中只显示前10行便于快速定位
  4. 性能建议:系统自动给出的建议仅供参考,实际优化需结合具体业务场景

页面访问地址

http://192.168.120.60:5666/erp/stats

或本地开发环境:

http://localhost:5666/#/erp/stats