@ResponseBody
@GetMapping(value = "auditReportPresentation.do")
@ResourceAuthentication
public SafetyAuditReportObj auditReportPresentation(Integer databaseId){
Integer todatAuditCount=batchSQLInfoService.queryTypeTotalById(databaseId);
Integer sensitiveCount=batchSQLInfoService.querySensitiveDataById(databaseId);
SafetyAuditReportObj safetyAuditReportObj=new SafetyAuditReportObj();
TodayAudit todayAudit=new TodayAudit();
todayAudit.setSensitiveDataTotal(sensitiveCount);
todayAudit.setTodayAuditTotal(todatAuditCount);
List<TodayAuditResult> operationTypeResults=batchSQLInfoService.queryTodayAuditById(databaseId);
for(TodayAuditResult todayAuditResult :operationTypeResults){
if(todayAuditResult.getType()==1){
todayAudit.setSelectAuditTotal(todayAuditResult.getCount());
}else if(todayAuditResult.getType()==2){
todayAudit.setInsertDataTotal(todayAuditResult.getCount());
}else if(todayAuditResult.getType()==3){
todayAudit.setUpdateDataTotal(todayAuditResult.getCount());
}else if(todayAuditResult.getType()==4){
todayAudit.setDeleteDataTotal(todayAuditResult.getCount());
}
}
safetyAuditReportObj.setTodayAudit(todayAudit);
List<OperationHeatTableResult> operationHeatResultList=batchSQLInfoService.queryOperationHeatById(databaseId);
List<OperationHeatResult> operationHeatResults=new ArrayList<>();
for(OperationHeatTableResult operationHeatTableResult:operationHeatResultList){
OperationHeatResult operationHeatResult=new OperationHeatResult();
operationHeatResult.setTableName(operationHeatTableResult.getTableName());
operationHeatResult.setHeatCount(operationHeatTableResult.getCount());
if(!operationHeatTableResult.getTableName().equals("UNKNOWN")) {
List<HeatDistributionResult> list = batchSQLInfoService.queryOperationHeatSpreadById(databaseId, operationHeatTableResult.getTableName());
for (HeatDistributionResult heatDistributionResult : list) {
if (heatDistributionResult.getType() == 1) {
operationHeatResult.setSelectCount(heatDistributionResult.getCount());
} else if (heatDistributionResult.getType() == 2) {
operationHeatResult.setInsertCount(heatDistributionResult.getCount());
} else if (heatDistributionResult.getType() == 3) {
operationHeatResult.setUpdateCount(heatDistributionResult.getCount());
} else if (heatDistributionResult.getType() == 4) {
operationHeatResult.setDeleteCount(heatDistributionResult.getCount());
}
}
}
operationHeatResults.add(operationHeatResult);
}
safetyAuditReportObj.setOperatingHeatResults(operationHeatResults);
List<PerformanceIndexResult> performanceIndexResults=batchSQLInfoService.queryPerformanceIndexById(databaseId);
List<PerformanceIndexResult> perList=new ArrayList<>();
for (PerformanceIndexResult per: performanceIndexResults) {
if(!per.getTableName().equals("UNKNOWN")) {
perList.add(per);
}
}
safetyAuditReportObj.setPerformanceIndexResults(perList);
Integer total=batchSQLInfoService.queryRiskLevelTotalById(databaseId);
RiskLevelResult riskLevelResult=new RiskLevelResult();
List<SensitiveTypeResult> results=batchSQLInfoService.queryRiskLevelResult(databaseId);
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setMaximumFractionDigits(2);
for (SensitiveTypeResult SensitiveTypeResult : results) {
if(SensitiveTypeResult.getSensitiveType()==2){
riskLevelResult.setLow(SensitiveTypeResult.getCount());
String result = numberFormat.format((float) SensitiveTypeResult.getCount() / (float) total * 100);
riskLevelResult.setLowProportion(result);
}else if (SensitiveTypeResult.getSensitiveType()==3){
riskLevelResult.setMiddle(SensitiveTypeResult.getCount());
String result = numberFormat.format((float) SensitiveTypeResult.getCount() / (float) total * 100);
riskLevelResult.setMiddleProportion(result);
}else if(SensitiveTypeResult.getSensitiveType()==4){
riskLevelResult.setHigh(SensitiveTypeResult.getCount());
String result = numberFormat.format((float) SensitiveTypeResult.getCount() / (float) total * 100);
riskLevelResult.setHigProportion(result);
}else if(SensitiveTypeResult.getSensitiveType()==5){
riskLevelResult.setVeryHigh(SensitiveTypeResult.getCount());
String result = numberFormat.format((float) SensitiveTypeResult.getCount() / (float) total * 100);
riskLevelResult.setVeryHighProportion(result);
}
}
safetyAuditReportObj.setRiskLevelResult(riskLevelResult);
Integer typeTotal=batchSQLInfoService.queryTypeTotalById(databaseId);
RiskTypesResult riskTypesResult=new RiskTypesResult();
List<OperationTypeResult> operationTypeResults3=batchSQLInfoService.queryRiskTypeResult(databaseId);
for (OperationTypeResult operationTypeResult:operationTypeResults3) {
if(operationTypeResult.getType()==1){
riskTypesResult.setSelectData(operationTypeResult.getCount());
}else if(operationTypeResult.getType()==2){
riskTypesResult.setInsertData(operationTypeResult.getCount());
}else if(operationTypeResult.getType()==3){
riskTypesResult.setUpdateData(operationTypeResult.getCount());
}else if(operationTypeResult.getType()==4){
riskTypesResult.setDeleteData(operationTypeResult.getCount());
}
}
safetyAuditReportObj.setRiskTypesResult(riskTypesResult);
return safetyAuditReportObj;
}