feat(monitor): 添加操作日志绩效统计权重

- 在SysOperLogService中新增绩效概览、人员绩效和模块排行接口
- 在SysOperLogMapper中添加模块统计、人员统计和全局概览查询方法
- 在SysOperLogMapper.xml中实现绩效相关的SQL查询和ResultMap
- 在SysOperLogServiceImpl中实现绩效统计业务逻辑和评分算法
- 创建OperModuleStatVO、OperPersonVO和OperSummaryVO数据传输对象
- 新增OperPerformanceController提供绩效统计API接口
- 添加前端performance页面实现数据可视化展示和图表渲染
This commit is contained in:
2026-07-01 16:24:45 +08:00
parent 9bed76e3dc
commit 6f9db961b4

View File

@@ -183,10 +183,10 @@ public class SysOperLogServiceImpl implements ISysOperLogService {
List<OperModuleStatVO> details = moduleMap.getOrDefault(name, Collections.emptyList());
person.setModuleStats(details);
// 计算综合评分: 次数×40% + 成功率×30% + 模块覆盖度×30%
double countScore = (person.getTotalCount() != null ? person.getTotalCount() : 0) * 1.0 / maxTotalCount * 40;
double successScore = (person.getSuccessRate() != null ? person.getSuccessRate() : 0) / 100.0 * 30;
double moduleScore = (maxModuleCount > 0 ? details.size() * 1.0 / maxModuleCount : 0) * 30;
// 计算综合评分: 次数×50% + 成功率×40% + 模块覆盖度×10%
double countScore = (person.getTotalCount() != null ? person.getTotalCount() : 0) * 1.0 / maxTotalCount * 50;
double successScore = (person.getSuccessRate() != null ? person.getSuccessRate() : 0) / 100.0 * 40;
double moduleScore = (maxModuleCount > 0 ? details.size() * 1.0 / maxModuleCount : 0) * 10;
double score = Math.round((countScore + successScore + moduleScore) * 100.0) / 100.0;
person.setScore(score);
}