|
|
|
|
@@ -208,5 +208,148 @@ public class ReportController extends BaseController {
|
|
|
|
|
|
|
|
|
|
return "/report/ipRangeReportList";
|
|
|
|
|
}
|
|
|
|
|
//asnExport
|
|
|
|
|
@RequestMapping(value = "asnExport")
|
|
|
|
|
public void asnExport(@ModelAttribute("log") NtcAsnRecord log, Model model, String hColumns, String type,
|
|
|
|
|
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
|
|
|
|
|
try {
|
|
|
|
|
// export data info
|
|
|
|
|
List<String> titleList = new ArrayList<String>();
|
|
|
|
|
Map<String, Class<?>> classMap = new HashMap<String, Class<?>>();
|
|
|
|
|
Map<String, List> dataMap = new HashMap<String, List>();
|
|
|
|
|
Map<String, String> noExportMap = new HashMap<String, String>();
|
|
|
|
|
// ---------------------------
|
|
|
|
|
PageLog<NtcAsnRecord> page = new PageLog<NtcAsnRecord>(request, response);
|
|
|
|
|
page.setPageNo(1);
|
|
|
|
|
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
|
|
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
|
|
|
params.put("pageSize", page.getPageSize());
|
|
|
|
|
params.put("pageNo", page.getPageNo());
|
|
|
|
|
//判断请求参数
|
|
|
|
|
if (StringUtils.isNotBlank(log.getSearchFoundStartTime())
|
|
|
|
|
&& StringUtils.isNotBlank(log.getSearchFoundEndTime())) {
|
|
|
|
|
params.put("searchFoundStartTime", log.getSearchFoundStartTime());
|
|
|
|
|
params.put("searchFoundEndTime", log.getSearchFoundEndTime());
|
|
|
|
|
} else {
|
|
|
|
|
Calendar time = Calendar.getInstance();
|
|
|
|
|
String searchEndTime = DateUtils.formatDateTime(time.getTime());
|
|
|
|
|
time.add(Calendar.HOUR_OF_DAY, -1);
|
|
|
|
|
String searchStartTime = DateUtils.formatDateTime(time.getTime());
|
|
|
|
|
|
|
|
|
|
params.put("searchFoundStartTime", searchStartTime);
|
|
|
|
|
params.put("searchFoundEndTime", searchEndTime);
|
|
|
|
|
log.setSearchFoundStartTime(searchStartTime);
|
|
|
|
|
log.setSearchFoundEndTime(searchEndTime);
|
|
|
|
|
}
|
|
|
|
|
String url =Constants.LOG_BASE_URL + Constants.NTC_ASN_RECORD;
|
|
|
|
|
// String recv="{\"status\":200,\"businessCode\":2001000,\"reason\":\"数据获取操作成功\",\"msg\":\"ASN通联关系(源,目的)检索成功\",\"fromuri\":\"/galaxy-service/service/log/v1/ntcAsnRecord\",\"logSource\":0,\"traceCode\":\"2018121609404451375322\",\"data\":"
|
|
|
|
|
// +"{\"pageNo\":1,\"pageSize\":30,\"count\":66564,\"last\":2219,\"list\":[{\"bps\":\"8.56\",\"pps\":\"0.07\",\"sAsn\":\"9198\",\"dAsn\":\"40545_26836\"},"+
|
|
|
|
|
// "{\"bps\":\"3.68\",\"pps\":\"0.12\",\"sAsn\":\"9198\",\"dAsn\":\"19506\"},{\"bps\":\"1.77\",\"pps\":\"0.08\",\"sAsn\":\"38266\",\"dAsn\":\"N/A\"},"+
|
|
|
|
|
// "{\"bps\":\"493.55\",\"pps\":\"0.76\",\"sAsn\":\"30922\",\"dAsn\":\"29555\"},{\"bps\":\"26.63\",\"pps\":\"0.04\",\"sAsn\":\"44546\",\"dAsn\":\"197482\"},"+
|
|
|
|
|
// "{\"bps\":\"25.43\",\"pps\":\"0.45\",\"sAsn\":\"44391\",\"dAsn\":\"9198\"},{\"bps\":\"52.96\",\"pps\":\"0.08\",\"sAsn\":\"29555\",\"dAsn\":\"14080\"}]}}";
|
|
|
|
|
String recv = HttpClientUtil.getMsg(url, params, request);
|
|
|
|
|
List<NtcAsnRecord> list = new ArrayList<NtcAsnRecord>();
|
|
|
|
|
if (StringUtils.isNotBlank(recv)) {
|
|
|
|
|
Gson gson = new GsonBuilder().create();
|
|
|
|
|
LogRecvData<NtcAsnRecord> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcAsnRecord>>() {
|
|
|
|
|
}.getType());
|
|
|
|
|
if (fromJson.getStatus().intValue() == 200) {
|
|
|
|
|
Page<NtcAsnRecord> data = fromJson.getData();
|
|
|
|
|
list = data.getList();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
titleList.add("Ntc_Asn_Record");
|
|
|
|
|
classMap.put("Ntc_Asn_Record", NtcAsnRecord.class);
|
|
|
|
|
SysUser user = UserUtils.getUser();
|
|
|
|
|
hColumns += ",cfg_id,action,found_time,recv_time,entrance_id,clj_ip,transport_layer_protocol,addr_type,server_ip,"
|
|
|
|
|
+ "client_ip,server_port,client_port,deviceid,link_id,encap_type,direction,inner_smac,inner_dmac,"
|
|
|
|
|
+ "stream_type,nest_addr_list,server_locate,client_locate,s_subscribe_id,d_subscribe_id,user_region,scene_file,";
|
|
|
|
|
|
|
|
|
|
String cfgIndexInfoNoExport = "," + hColumns;
|
|
|
|
|
noExportMap.put("Ntc_Asn_Record", cfgIndexInfoNoExport);
|
|
|
|
|
dataMap.put("Ntc_Asn_Record", list);
|
|
|
|
|
/* } */
|
|
|
|
|
if ("csv".equals(type)) {
|
|
|
|
|
this._exportCsv(model, request, response, redirectAttributes, "Ntc_Asn_Record", titleList, classMap,
|
|
|
|
|
dataMap, noExportMap);
|
|
|
|
|
} else {
|
|
|
|
|
this._export(model, request, response, redirectAttributes, "Ntc_Asn_Record", titleList, classMap, dataMap,
|
|
|
|
|
noExportMap);
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
logger.error("Ntc_Asn_Record export failed", e);
|
|
|
|
|
addMessage(redirectAttributes, "error", "export_failed");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//ipRangeExport
|
|
|
|
|
@RequestMapping(value = "ipRangeExport")
|
|
|
|
|
public void ipRangeExport(@ModelAttribute("log") NtcIpRangeReport log, Model model, String hColumns, String type,
|
|
|
|
|
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
|
|
|
|
|
try {
|
|
|
|
|
// export data info
|
|
|
|
|
List<String> titleList = new ArrayList<String>();
|
|
|
|
|
Map<String, Class<?>> classMap = new HashMap<String, Class<?>>();
|
|
|
|
|
Map<String, List> dataMap = new HashMap<String, List>();
|
|
|
|
|
Map<String, String> noExportMap = new HashMap<String, String>();
|
|
|
|
|
// ---------------------------
|
|
|
|
|
PageLog<NtcIpRangeReport> page = new PageLog<NtcIpRangeReport>(request, response);
|
|
|
|
|
page.setPageNo(1);
|
|
|
|
|
page.setPageSize(Constants.MAX_LOG_EXPORT_SIZE);
|
|
|
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
|
|
|
params.put("pageSize", page.getPageSize());
|
|
|
|
|
params.put("pageNo", page.getPageNo());
|
|
|
|
|
//判断请求参数
|
|
|
|
|
//查询国家
|
|
|
|
|
if (StringUtils.isNotBlank(log.getSearchCountry())) {
|
|
|
|
|
params.put("searchCountry", log.getSearchCountry());
|
|
|
|
|
}
|
|
|
|
|
//查询开始IP
|
|
|
|
|
if (StringUtils.isNotBlank(log.getSearchStartIp())) {
|
|
|
|
|
params.put("searchStartIp", log.getSearchStartIp());
|
|
|
|
|
}
|
|
|
|
|
//查询结束IP
|
|
|
|
|
if (StringUtils.isNotBlank(log.getSearchEndIp())) {
|
|
|
|
|
params.put("searchEndIp", log.getSearchEndIp());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
String url =Constants.LOG_BASE_URL + Constants.NTC_IP_RANGE_REPORT;
|
|
|
|
|
String recv = HttpClientUtil.getMsg(url, params, request);
|
|
|
|
|
// String recv="{\"status\":200,\"businessCode\":2001000,\"reason\":\"数据获取操作成功\",\"msg\":\"URL统计查询成功\",\"fromuri\":\"/galaxy-service/service/log/v1/ntcIpRangeReport\",\"logSource\":0,\"traceCode\":\"2018121616062785920271\",\"data\":{\"pageNo\":1,\"pageSize\":30,\"count\":0,\"last\":1,\"list\":[{\"ipStart\":\"192.168.10.121\",\"ipEnd\":\"192.168.10.122\",\"ipStartNum\":3232238201,\"ipEndNum\":3232238202,\"ipSub\":\"255.255.255.252\"}]}}";
|
|
|
|
|
List<NtcIpRangeReport> list = new ArrayList<NtcIpRangeReport>();
|
|
|
|
|
if (StringUtils.isNotBlank(recv)) {
|
|
|
|
|
Gson gson = new GsonBuilder().create();
|
|
|
|
|
LogRecvData<NtcIpRangeReport> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcIpRangeReport>>() {
|
|
|
|
|
}.getType());
|
|
|
|
|
if (fromJson.getStatus().intValue() == 200) {
|
|
|
|
|
Page<NtcIpRangeReport> data = fromJson.getData();
|
|
|
|
|
list = data.getList();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
titleList.add("Ntc_Ip_Range_Report");
|
|
|
|
|
classMap.put("Ntc_Ip_Range_Report", NtcIpRangeReport.class);
|
|
|
|
|
SysUser user = UserUtils.getUser();
|
|
|
|
|
hColumns += ",cfg_id,action,found_time,recv_time,entrance_id,clj_ip,transport_layer_protocol,addr_type,server_ip,"
|
|
|
|
|
+ "client_ip,server_port,client_port,deviceid,link_id,encap_type,direction,inner_smac,inner_dmac,"
|
|
|
|
|
+ "stream_type,nest_addr_list,server_locate,client_locate,s_asn,d_asn,s_subscribe_id,d_subscribe_id,"
|
|
|
|
|
+ "user_region,scene_file,";
|
|
|
|
|
|
|
|
|
|
String cfgIndexInfoNoExport = "," + hColumns;
|
|
|
|
|
noExportMap.put("Ntc_Ip_Range_Report", cfgIndexInfoNoExport);
|
|
|
|
|
dataMap.put("Ntc_Ip_Range_Report", list);
|
|
|
|
|
|
|
|
|
|
if ("csv".equals(type)) {
|
|
|
|
|
this._exportCsv(model, request, response, redirectAttributes, "Ntc_Ip_Range_Report", titleList, classMap,
|
|
|
|
|
dataMap, noExportMap);
|
|
|
|
|
} else {
|
|
|
|
|
this._export(model, request, response, redirectAttributes, "Ntc_Ip_Range_Report", titleList, classMap, dataMap,
|
|
|
|
|
noExportMap);
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
logger.error("Ntc_Ip_Range_Report export failed", e);
|
|
|
|
|
addMessage(redirectAttributes, "error", "export_failed");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|