feat(monitor): 添加操作日志绩效统计权重
- 在SysOperLogService中新增绩效概览、人员绩效和模块排行接口 - 在SysOperLogMapper中添加模块统计、人员统计和全局概览查询方法 - 在SysOperLogMapper.xml中实现绩效相关的SQL查询和ResultMap - 在SysOperLogServiceImpl中实现绩效统计业务逻辑和评分算法 - 创建OperModuleStatVO、OperPersonVO和OperSummaryVO数据传输对象 - 新增OperPerformanceController提供绩效统计API接口 - 添加前端performance页面实现数据可视化展示和图表渲染
This commit is contained in:
@@ -183,10 +183,10 @@ public class SysOperLogServiceImpl implements ISysOperLogService {
|
|||||||
List<OperModuleStatVO> details = moduleMap.getOrDefault(name, Collections.emptyList());
|
List<OperModuleStatVO> details = moduleMap.getOrDefault(name, Collections.emptyList());
|
||||||
person.setModuleStats(details);
|
person.setModuleStats(details);
|
||||||
|
|
||||||
// 计算综合评分: 次数×40% + 成功率×30% + 模块覆盖度×30%
|
// 计算综合评分: 次数×50% + 成功率×40% + 模块覆盖度×10%
|
||||||
double countScore = (person.getTotalCount() != null ? person.getTotalCount() : 0) * 1.0 / maxTotalCount * 40;
|
double countScore = (person.getTotalCount() != null ? person.getTotalCount() : 0) * 1.0 / maxTotalCount * 50;
|
||||||
double successScore = (person.getSuccessRate() != null ? person.getSuccessRate() : 0) / 100.0 * 30;
|
double successScore = (person.getSuccessRate() != null ? person.getSuccessRate() : 0) / 100.0 * 40;
|
||||||
double moduleScore = (maxModuleCount > 0 ? details.size() * 1.0 / maxModuleCount : 0) * 30;
|
double moduleScore = (maxModuleCount > 0 ? details.size() * 1.0 / maxModuleCount : 0) * 10;
|
||||||
double score = Math.round((countScore + successScore + moduleScore) * 100.0) / 100.0;
|
double score = Math.round((countScore + successScore + moduleScore) * 100.0) / 100.0;
|
||||||
person.setScore(score);
|
person.setScore(score);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user