ipRange
增加导出功能
This commit is contained in:
段冬梅
2018-12-17 10:31:10 +08:00
parent 26136cb4b8
commit dbd1cc3d54
6 changed files with 170 additions and 4 deletions

View File

@@ -7,9 +7,9 @@ public class NtcAsnRecord extends BaseLogEntity<NtcAsnRecord>{
private static final long serialVersionUID = -4947912502754359817L;
@ExcelField(title="bps",sort=8)
protected String bps;
@ExcelField(title="pps",sort=9)
protected String pps;

View File

@@ -3,15 +3,21 @@ package com.nis.domain.report;
import java.math.BigInteger;
import com.nis.domain.log.BaseLogEntity;
import com.nis.util.excel.ExcelField;
public class NtcIpRangeReport extends BaseLogEntity<NtcIpRangeReport>{
private static final long serialVersionUID = -4947912502754359817L;
@ExcelField(title="ip_start",sort=8)
protected String ipStart;
@ExcelField(title="ip_end",sort=9)
protected String ipEnd;
@ExcelField(title="ip_start_num",sort=10)
protected BigInteger ipStartNum;
@ExcelField(title="ip_end_num",sort=11)
protected BigInteger ipEndNum;
@ExcelField(title="ip_sub",sort=12)
protected String ipSub;
protected String searchCountry;//国家

View File

@@ -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");
}
}
}

View File

@@ -78,6 +78,15 @@
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
</div>
<div class="pull-right">
<div class="btn-group">
<sys:delRow url="${ctx}/report/asnExport?type=excel" searchUrl="${ctx}/report/asnConnList" id="contentTable" maxRow="10000" label="export"></sys:delRow>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->

View File

@@ -106,7 +106,15 @@
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
</div>
<div class="pull-right">
<div class="btn-group">
<sys:delRow url="${ctx}/report/ipRangeExport?type=excel" searchUrl="${ctx}/report/ipRangeList" id="contentTable" maxRow="10000" label="export"></sys:delRow>
</div>
<a class="btn btn-icon-only btn-default setfields tooltips"
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
<i class="icon-wrench"></i>
</a>
</div>
</div>
<!-- 搜索内容与操作按钮栏 -->

View File

@@ -28,7 +28,7 @@
console.log(title);
if(title != undefined && title != null){
if(title.length > 80){
$(this).find("td").eq(0).text(title.substring(0,80));
$(this).find("td").eq(0).text(title.substring(0,80)+"...");
}else{
$(this).find("td").eq(0).text(title);
}