修复bug:
1.区域阻断范围字段导出数据与界面上显示不一致,界面上显示全部、导出的excel字段显示为否 2.界面上存在日志总量字段,导出的数据中不存在 3.导出数据包含字段blacklist option,界面上不存在
This commit is contained in:
@@ -118,6 +118,7 @@ import com.nis.domain.maat.MaatCfg.GroupCfg;
|
||||
import com.nis.domain.maat.MaatCfg.IpCfg;
|
||||
import com.nis.domain.maat.MaatCfg.NumBoundaryCfg;
|
||||
import com.nis.domain.maat.MaatCfg.StringCfg;
|
||||
import com.nis.domain.report.NtcPzReport;
|
||||
import com.nis.domain.maat.ToMaatBean;
|
||||
import com.nis.domain.specific.ConfigGroupInfo;
|
||||
import com.nis.domain.specific.SpecificServiceCfg;
|
||||
@@ -197,6 +198,9 @@ import com.nis.web.service.specific.SpecificServiceHostCfgService;
|
||||
import com.nis.web.service.systemService.ServiceConfigInfoService;
|
||||
|
||||
import jersey.repackaged.com.google.common.collect.Maps;
|
||||
import net.sf.json.JSONArray;
|
||||
import net.sf.json.JSONObject;
|
||||
import net.sf.json.JsonConfig;
|
||||
|
||||
public class BaseController {
|
||||
|
||||
@@ -3264,5 +3268,91 @@ public class BaseController {
|
||||
|
||||
return hasData;
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过serviceIds 和 compileIds获取日志总量
|
||||
* */
|
||||
public List<Map<String, Object>> getLogTotal(Long endTime,String serviceIds,String compileIds){
|
||||
List<Map<String, Object>> dataList=new ArrayList<>();
|
||||
SimpleDateFormat sdf=new SimpleDateFormat(Constants.SEARCH_DATEFORMAT);
|
||||
Date endDate=null;
|
||||
Date startDate=null;
|
||||
if(endTime!=null) {
|
||||
if(StringUtils.isNotBlank(Constants.LOG_TIME_START)) {
|
||||
try {
|
||||
startDate=sdf.parse(Constants.LOG_TIME_START);
|
||||
if(StringUtils.isNotBlank(Constants.LOG_TIME_END)) {
|
||||
endDate=sdf.parse(Constants.LOG_TIME_END);
|
||||
}else {
|
||||
endDate=new Date(endTime);
|
||||
}
|
||||
} catch (ParseException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}else {
|
||||
Calendar cal=Calendar.getInstance();
|
||||
//分钟间隔
|
||||
int interval=Constants.LOG_TIME_RANGE/1000/60;
|
||||
cal.setTimeInMillis(endTime);
|
||||
if(interval<60) {//5分钟
|
||||
cal.set(Calendar.SECOND, 0);
|
||||
int minute=cal.get(Calendar.MINUTE);
|
||||
cal.set(Calendar.MINUTE,minute/interval*interval);
|
||||
}else {//1小时
|
||||
cal.set(Calendar.SECOND, 0);
|
||||
cal.set(Calendar.MINUTE, 0);
|
||||
}
|
||||
Calendar endTimeCal=Calendar.getInstance();
|
||||
endTimeCal.setTimeInMillis(cal.getTimeInMillis());
|
||||
//endTimeCal.add(Calendar.SECOND, -1);
|
||||
endDate=endTimeCal.getTime();
|
||||
cal.add(Calendar.MINUTE, -interval);
|
||||
startDate=cal.getTime();
|
||||
}
|
||||
logger.info("log search end time:"+sdf.format(endDate));
|
||||
logger.info("log search start time:"+sdf.format(startDate));
|
||||
}
|
||||
List<NtcPzReport> list=null;
|
||||
try {
|
||||
//调用带有超时时间的方法,设置与页面ajax获取total log 超时时间保持一致 页面设置在pzlog.js
|
||||
String json=ConfigServiceUtil.getReport(Constants.BUSINESSTYPE_CONFIG, compileIds, serviceIds, startDate==null?null:sdf.format(startDate), endDate==null?null:sdf.format(endDate),Constants.CLIENT_CONNECT_TIMEOUT,10000);
|
||||
list=getList(json);
|
||||
} catch (Exception e) {
|
||||
logger.error("获取日志总量失败!",e);
|
||||
|
||||
}
|
||||
|
||||
String[] idArr=compileIds.split(",");
|
||||
for(String id:idArr) {
|
||||
Map<String, Object> data=new HashMap<String, Object>();
|
||||
data.put("compileId", id);
|
||||
Long sum=(long) 0;
|
||||
if(list!=null&&(list.size()>0)){
|
||||
for(NtcPzReport report:list) {
|
||||
if(Long.valueOf(id).longValue() == report.getCfgId().longValue()){
|
||||
sum=report.getSum().longValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
data.put("sum",sum);
|
||||
dataList.add(data);
|
||||
}
|
||||
return dataList;
|
||||
}
|
||||
public <E> List<E> getList(String json){
|
||||
JSONObject obj=JSONObject.fromObject(json);
|
||||
if(obj.containsKey("data")) {
|
||||
JSONObject data= obj.getJSONObject("data");
|
||||
if(data.containsKey("list")) {
|
||||
Object list=data.get("list");
|
||||
JSONArray array=JSONArray.fromObject(list);
|
||||
List<E> result=JSONArray.toList(array, new NtcPzReport(),new JsonConfig());
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
return new ArrayList<E>();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user