实时报表 增加导出功能

1.ASN
2.HttpsUrl
3.IpRange
This commit is contained in:
lihaochen
2018-12-22 17:38:24 +08:00
parent 4147e52b73
commit 70612f32af
5 changed files with 369 additions and 212 deletions

View File

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

View File

@@ -5,6 +5,7 @@ import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -22,6 +23,7 @@ import com.google.gson.reflect.TypeToken;
import com.nis.domain.Page;
import com.nis.domain.PageLog;
import com.nis.domain.SysUser;
import com.nis.domain.log.BaseLogEntity;
import com.nis.domain.log.SearchReport;
import com.nis.domain.maat.LogRecvData;
import com.nis.domain.report.NtcAsnRecord;
@@ -29,6 +31,7 @@ import com.nis.domain.report.NtcIpRangeReport;
import com.nis.domain.report.NtcURLReport;
import com.nis.util.Constants;
import com.nis.util.DateUtils;
import com.nis.util.StringUtil;
import com.nis.util.httpclient.HttpClientUtil;
import com.nis.web.controller.BaseController;
import com.nis.web.security.UserUtils;
@@ -37,22 +40,25 @@ import com.nis.web.security.UserUtils;
@RequestMapping("${adminPath}/report")
public class ReportController extends BaseController {
@RequestMapping("/list")
public String list(@ModelAttribute("bean") SearchReport bean,Model model, HttpServletRequest request, HttpServletResponse response) {
public String list(@ModelAttribute("bean") SearchReport bean, Model model, HttpServletRequest request,
HttpServletResponse response) {
initReportCondition(model, bean);
return "/report/list";
}
//asn
@RequestMapping(value = {"/asnConnList", ""})
public String asnConnLists(@ModelAttribute("log") NtcAsnRecord log, Model model, HttpServletRequest request, HttpServletResponse response) {
// asn
@RequestMapping(value = { "/asnConnList", "" })
public String asnConnLists(@ModelAttribute("log") NtcAsnRecord log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
PageLog<NtcAsnRecord> page = new PageLog<NtcAsnRecord>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
//判断请求参数
if(StringUtils.isNotEmpty(log.getSearchAsnType())){
// 判断请求参数
if (StringUtils.isNotEmpty(log.getSearchAsnType())) {
params.put("searchAsnType", log.getSearchAsnType());
}else{
} else {
params.put("searchAsnType", 1);
}
if (StringUtils.isNotBlank(log.getSearchFoundStartTime())
@@ -60,40 +66,43 @@ public class ReportController extends BaseController {
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);
}
if(StringUtils.isNotBlank(log.getAsn())){
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);
}
if (StringUtils.isNotBlank(log.getAsn())) {
params.put("searchAsn", log.getAsn());
}
String url =Constants.LOG_BASE_URL + Constants.NTC_ASN_RECORD;
String url = Constants.LOG_BASE_URL + Constants.NTC_ASN_RECORD;
String recv = HttpClientUtil.getMsg(url, params, request);
// 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\"}]}}";
//recv="{\"status\":200,\"businessCode\":2001000,\"reason\":\"数据获取操作成功\",\"msg\":\"ASN通联关系(源,目的)检索成功\",\"fromuri\":\"/galaxy-service/service/log/v1/ntcAsnRecord\",\"logSource\":0,\"traceCode\":\"2018121722070122546049\",\"data\":{\"pageNo\":1,\"pageSize\":30,\"count\":24466,\"last\":816,\"list\":[{\"bps\":\"20.21\",\"pps\":\"0.17\",\"asn\":\"6858\"},{\"bps\":\"48662.31\",\"pps\":\"91.27\",\"asn\":\"60476\"},{\"bps\":\"3770.41\",\"pps\":\"5.38\",\"asn\":\"49963\"},{\"bps\":\"1.74\",\"pps\":\"0.01\",\"asn\":\"327892\"},{\"bps\":\"72.96\",\"pps\":\"0.13\",\"asn\":\"20598\"},{\"bps\":\"3.76\",\"pps\":\"0.03\",\"asn\":\"266106\"},{\"bps\":\"889.16\",\"pps\":\"1.28\",\"asn\":\"21928\"},{\"bps\":\"109274.80\",\"pps\":\"160.89\",\"asn\":\"200052\"},{\"bps\":\"3269.08\",\"pps\":\"4.85\",\"asn\":\"196977\"},{\"bps\":\"0.16\",\"pps\":\"0\",\"asn\":\"42643\"},{\"bps\":\"872.50\",\"pps\":\"1.22\",\"asn\":\"35017\"},{\"bps\":\"51079.66\",\"pps\":\"0\",\"asn\":\"57701\"},{\"bps\":\"1.25\",\"pps\":\"0.05\",\"asn\":\"58000\"},{\"bps\":\"0.45\",\"pps\":\"0.02\",\"asn\":\"266022\"},{\"bps\":\"0.16\",\"pps\":\"0\",\"asn\":\"43246\"},{\"bps\":\"5180.62\",\"pps\":\"9.11\",\"asn\":\"57172\"},{\"bps\":\"145.86\",\"pps\":\"0.29\",\"asn\":\"36994\"},{\"bps\":\"31.96\",\"pps\":\"0.06\",\"asn\":\"48536\"},{\"bps\":\"1009.25\",\"pps\":\"1.67\",\"asn\":\"4795\"},{\"bps\":\"0.86\",\"pps\":\"0.02\",\"asn\":\"196924\"},{\"bps\":\"0.5\",\"pps\":\"0\",\"asn\":\"21275\"},{\"bps\":\"13432.03\",\"pps\":\"0.28\",\"asn\":\"198640\"},{\"bps\":\"9.47\",\"pps\":\"0.33\",\"asn\":\"197287\"},{\"bps\":\"5.84\",\"pps\":\"0.02\",\"asn\":\"197155\"},{\"bps\":\"1890.60\",\"pps\":\"2.86\",\"asn\":\"29208\"},{\"bps\":\"18.26\",\"pps\":\"0.37\",\"asn\":\"51078\"},{\"bps\":\"1.53\",\"pps\":\"0.02\",\"asn\":\"5390\"},{\"bps\":\"16074.91\",\"pps\":\"30.44\",\"asn\":\"34974\"},{\"bps\":\"1695.46\",\"pps\":\"2.51\",\"asn\":\"31103\"},{\"bps\":\"42.18\",\"pps\":\"0.24\",\"asn\":\"6407\"}]}}";
// 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\"}]}}";
// recv="{\"status\":200,\"businessCode\":2001000,\"reason\":\"数据获取操作成功\",\"msg\":\"ASN通联关系(源,目的)检索成功\",\"fromuri\":\"/galaxy-service/service/log/v1/ntcAsnRecord\",\"logSource\":0,\"traceCode\":\"2018121722070122546049\",\"data\":{\"pageNo\":1,\"pageSize\":30,\"count\":24466,\"last\":816,\"list\":[{\"bps\":\"20.21\",\"pps\":\"0.17\",\"asn\":\"6858\"},{\"bps\":\"48662.31\",\"pps\":\"91.27\",\"asn\":\"60476\"},{\"bps\":\"3770.41\",\"pps\":\"5.38\",\"asn\":\"49963\"},{\"bps\":\"1.74\",\"pps\":\"0.01\",\"asn\":\"327892\"},{\"bps\":\"72.96\",\"pps\":\"0.13\",\"asn\":\"20598\"},{\"bps\":\"3.76\",\"pps\":\"0.03\",\"asn\":\"266106\"},{\"bps\":\"889.16\",\"pps\":\"1.28\",\"asn\":\"21928\"},{\"bps\":\"109274.80\",\"pps\":\"160.89\",\"asn\":\"200052\"},{\"bps\":\"3269.08\",\"pps\":\"4.85\",\"asn\":\"196977\"},{\"bps\":\"0.16\",\"pps\":\"0\",\"asn\":\"42643\"},{\"bps\":\"872.50\",\"pps\":\"1.22\",\"asn\":\"35017\"},{\"bps\":\"51079.66\",\"pps\":\"0\",\"asn\":\"57701\"},{\"bps\":\"1.25\",\"pps\":\"0.05\",\"asn\":\"58000\"},{\"bps\":\"0.45\",\"pps\":\"0.02\",\"asn\":\"266022\"},{\"bps\":\"0.16\",\"pps\":\"0\",\"asn\":\"43246\"},{\"bps\":\"5180.62\",\"pps\":\"9.11\",\"asn\":\"57172\"},{\"bps\":\"145.86\",\"pps\":\"0.29\",\"asn\":\"36994\"},{\"bps\":\"31.96\",\"pps\":\"0.06\",\"asn\":\"48536\"},{\"bps\":\"1009.25\",\"pps\":\"1.67\",\"asn\":\"4795\"},{\"bps\":\"0.86\",\"pps\":\"0.02\",\"asn\":\"196924\"},{\"bps\":\"0.5\",\"pps\":\"0\",\"asn\":\"21275\"},{\"bps\":\"13432.03\",\"pps\":\"0.28\",\"asn\":\"198640\"},{\"bps\":\"9.47\",\"pps\":\"0.33\",\"asn\":\"197287\"},{\"bps\":\"5.84\",\"pps\":\"0.02\",\"asn\":\"197155\"},{\"bps\":\"1890.60\",\"pps\":\"2.86\",\"asn\":\"29208\"},{\"bps\":\"18.26\",\"pps\":\"0.37\",\"asn\":\"51078\"},{\"bps\":\"1.53\",\"pps\":\"0.02\",\"asn\":\"5390\"},{\"bps\":\"16074.91\",\"pps\":\"30.44\",\"asn\":\"34974\"},{\"bps\":\"1695.46\",\"pps\":\"2.51\",\"asn\":\"31103\"},{\"bps\":\"42.18\",\"pps\":\"0.24\",\"asn\":\"6407\"}]}}";
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcAsnRecord> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcAsnRecord>>(){}.getType());
LogRecvData<NtcAsnRecord> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcAsnRecord>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcAsnRecord> data = fromJson.getData();
page.setCount(data.getCount());
page.setLast(data.getLast());
page.setList(data.getList());
/*List<NtcCollectRadiusLog> list = page.getList();
for (NtcConnRecordLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList);
}*/
/*
* List<NtcCollectRadiusLog> list = page.getList(); for
* (NtcConnRecordLog l : list) {
* l.setFunctionId(log.getFunctionId());
* setLogAction(l,serviceList); }
*/
model.addAttribute("page", page);
}
}
@@ -101,56 +110,90 @@ public class ReportController extends BaseController {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/report/asnRecordList";
}
//
@RequestMapping(value = {"/httpsUrlList", ""})
public String httpsUrlLists(@ModelAttribute("log") NtcURLReport log, Model model, HttpServletRequest request, HttpServletResponse response) {
@RequestMapping(value = { "/httpsUrlList", "" })
public String httpsUrlLists(@ModelAttribute("log") NtcURLReport log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
PageLog<NtcURLReport> page = new PageLog<NtcURLReport>(request, response);
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
//判断请求参数
// 判断请求参数
if (StringUtils.isNotBlank(log.getSearchReportStartTime())
&& StringUtils.isNotBlank(log.getSearchReportEndTime())) {
params.put("searchReportStartTime", log.getSearchReportStartTime());
params.put("searchReportEndTime", log.getSearchReportEndTime());
} 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("searchReportStartTime", searchStartTime);
params.put("searchReportEndTime", searchEndTime);
log.setSearchReportStartTime(searchStartTime);
log.setSearchReportEndTime(searchEndTime);
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("searchReportStartTime", searchStartTime);
params.put("searchReportEndTime", searchEndTime);
log.setSearchReportStartTime(searchStartTime);
log.setSearchReportEndTime(searchEndTime);
}
//url参数
// url参数
if (StringUtils.isNotBlank(log.getSearchUrl())) {
params.put("searchUrl", log.getSearchUrl());
}
String url =Constants.LOG_BASE_URL + Constants.NTC_URL_REPORT;
String url = Constants.LOG_BASE_URL + Constants.NTC_URL_REPORT;
String recv = HttpClientUtil.getMsg(url, params, request);
// String recv="{\"status\":200,\"businessCode\":2001000,\"reason\":\"数据获取操作成功\",\"msg\":\"URL统计查询成功\",\"fromuri\":\"/galaxy-service/service/log/v1/ntcURLReport\",\"logSource\":0,\"traceCode\":\"2018121610374649425419\",\"data\":{\"pageNo\":1,\"pageSize\":30,\"count\":174,\"last\":6,\"list\":[{\"url\":\"142.44.167.226/eventproxy/v1/bulk\",\"urlCount\":1686,\"dataList\":[{\"sum\":1686,\"ipAddr\":\"100.101.129.6\"}]},{\"url\":\"188.0.145.98/YZ/e1cib/dlist?cmd=query\",\"urlCount\":2652,\"dataList\":[{\"sum\":1248,\"ipAddr\":\"188.0.145.98\"},{\"sum\":1404,\"ipAddr\":\"89.218.9.2\"}]},{\"url\":\"cdn7.alpha-ag.ru/1c1233923d1a6/c51e872ab5861be256408f6cafa99ed8/luckypatcher_v7.5.9.apk\",\"urlCount\":882,\"dataList\":[{\"sum\":882,\"ipAddr\":\"100.81.118.193\"}]}]}}";
// recv = "{\"status\":200,\"businessCode\":2001000,\"reason\":\"数据获取操作成功\",\"msg\":\"URL统计查询成功\",\"fromuri\":\"/galaxy-service/service/log/v1/ntcURLReport\",\"logSource\":0,\"traceCode\":\"2018121721092486282928\",\"data\":{\"pageNo\":1,\"pageSize\":30,\"count\":11193,\"last\":374,\"list\":[{\"reportTime\":\"2018-12-17 14:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17 14:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17 14:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17 16:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":10},{\"reportTime\":\"2018-12-17 16:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":10},{\"reportTime\":\"2018-12-17 18:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":8},{\"reportTime\":\"2018-12-17 18:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":8},{\"reportTime\":\"2018-12-17 19:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17 19:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17 19:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17 20:00:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17 14:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F114274\",\"ipCount\":1,\"connCount\":7},{\"reportTime\":\"2018-12-17 14:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F114274\",\"ipCount\":1,\"connCount\":7},{\"reportTime\":\"2018-12-17 14:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F114274\",\"ipCount\":1,\"connCount\":7},{\"reportTime\":\"2018-12-17 19:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F114274\",\"ipCount\":1,\"connCount\":7},{\"reportTime\":\"2018-12-17 14:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F46507\",\"ipCount\":1,\"connCount\":6},{\"reportTime\":\"2018-12-17 14:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F46507\",\"ipCount\":1,\"connCount\":6},{\"reportTime\":\"2018-12-17 19:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F46507\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17 19:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F46507\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17 19:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F46507\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17 19:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F50460\",\"ipCount\":1,\"connCount\":8},{\"reportTime\":\"2018-12-16 20:15:00\",\"url\":\"119.29.29.29/d?dn=ww.kyzd0r.com\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-16 21:00:00\",\"url\":\"119.29.29.29/d?dn=ww.kyzd0r.com\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-16 22:30:00\",\"url\":\"119.29.29.29/d?dn=ww.kyzd0r.com\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-16 22:45:00\",\"url\":\"119.29.29.29/d?dn=ww.kyzd0r.com\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-17 14:00:00\",\"url\":\"119.29.29.29/d?dn=ww.kyzd0r.com\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-17 19:45:00\",\"url\":\"185.203.72.28/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-17 15:30:00\",\"url\":\"biboba.ru/\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-17 17:00:00\",\"url\":\"biboba.ru/porno_video/style/img/logo.gif\",\"ipCount\":1,\"connCount\":1},{\"reportTime\":\"2018-12-17 01:15:00\",\"url\":\"bilimsite.kz/\",\"ipCount\":1,\"connCount\":1}]}}";
// String
// recv="{\"status\":200,\"businessCode\":2001000,\"reason\":\"数据获取操作成功\",\"msg\":\"URL统计查询成功\",\"fromuri\":\"/galaxy-service/service/log/v1/ntcURLReport\",\"logSource\":0,\"traceCode\":\"2018121610374649425419\",\"data\":{\"pageNo\":1,\"pageSize\":30,\"count\":174,\"last\":6,\"list\":[{\"url\":\"142.44.167.226/eventproxy/v1/bulk\",\"urlCount\":1686,\"dataList\":[{\"sum\":1686,\"ipAddr\":\"100.101.129.6\"}]},{\"url\":\"188.0.145.98/YZ/e1cib/dlist?cmd=query\",\"urlCount\":2652,\"dataList\":[{\"sum\":1248,\"ipAddr\":\"188.0.145.98\"},{\"sum\":1404,\"ipAddr\":\"89.218.9.2\"}]},{\"url\":\"cdn7.alpha-ag.ru/1c1233923d1a6/c51e872ab5861be256408f6cafa99ed8/luckypatcher_v7.5.9.apk\",\"urlCount\":882,\"dataList\":[{\"sum\":882,\"ipAddr\":\"100.81.118.193\"}]}]}}";
// recv =
// "{\"status\":200,\"businessCode\":2001000,\"reason\":\"数据获取操作成功\",\"msg\":\"URL统计查询成功\",\"fromuri\":\"/galaxy-service/service/log/v1/ntcURLReport\",\"logSource\":0,\"traceCode\":\"2018121721092486282928\",\"data\":{\"pageNo\":1,\"pageSize\":30,\"count\":11193,\"last\":374,\"list\":[{\"reportTime\":\"2018-12-17
// 14:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17
// 14:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17
// 14:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17
// 16:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":10},{\"reportTime\":\"2018-12-17
// 16:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":10},{\"reportTime\":\"2018-12-17
// 18:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":8},{\"reportTime\":\"2018-12-17
// 18:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":8},{\"reportTime\":\"2018-12-17
// 19:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17
// 19:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17
// 19:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17
// 20:00:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17
// 14:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F114274\",\"ipCount\":1,\"connCount\":7},{\"reportTime\":\"2018-12-17
// 14:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F114274\",\"ipCount\":1,\"connCount\":7},{\"reportTime\":\"2018-12-17
// 14:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F114274\",\"ipCount\":1,\"connCount\":7},{\"reportTime\":\"2018-12-17
// 19:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F114274\",\"ipCount\":1,\"connCount\":7},{\"reportTime\":\"2018-12-17
// 14:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F46507\",\"ipCount\":1,\"connCount\":6},{\"reportTime\":\"2018-12-17
// 14:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F46507\",\"ipCount\":1,\"connCount\":6},{\"reportTime\":\"2018-12-17
// 19:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F46507\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17
// 19:30:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F46507\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17
// 19:45:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F46507\",\"ipCount\":1,\"connCount\":9},{\"reportTime\":\"2018-12-17
// 19:15:00\",\"url\":\"1.kyzd0r.com/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F50460\",\"ipCount\":1,\"connCount\":8},{\"reportTime\":\"2018-12-16
// 20:15:00\",\"url\":\"119.29.29.29/d?dn=ww.kyzd0r.com\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-16
// 21:00:00\",\"url\":\"119.29.29.29/d?dn=ww.kyzd0r.com\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-16
// 22:30:00\",\"url\":\"119.29.29.29/d?dn=ww.kyzd0r.com\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-16
// 22:45:00\",\"url\":\"119.29.29.29/d?dn=ww.kyzd0r.com\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-17
// 14:00:00\",\"url\":\"119.29.29.29/d?dn=ww.kyzd0r.com\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-17
// 19:45:00\",\"url\":\"185.203.72.28/away?url=http%3A%2F%2Fw.kyzd0r.com%2Fchlen-kluba%2F10159\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-17
// 15:30:00\",\"url\":\"biboba.ru/\",\"ipCount\":1,\"connCount\":2},{\"reportTime\":\"2018-12-17
// 17:00:00\",\"url\":\"biboba.ru/porno_video/style/img/logo.gif\",\"ipCount\":1,\"connCount\":1},{\"reportTime\":\"2018-12-17
// 01:15:00\",\"url\":\"bilimsite.kz/\",\"ipCount\":1,\"connCount\":1}]}}";
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcURLReport> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcURLReport>>(){}.getType());
LogRecvData<NtcURLReport> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcURLReport>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcURLReport> data = fromJson.getData();
page.setCount(data.getCount());
page.setLast(data.getLast());
page.setList(data.getList());
/*List<NtcCollectRadiusLog> list = page.getList();
for (NtcConnRecordLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList);
}*/
/*
* List<NtcCollectRadiusLog> list = page.getList(); for
* (NtcConnRecordLog l : list) {
* l.setFunctionId(log.getFunctionId());
* setLogAction(l,serviceList); }
*/
model.addAttribute("page", page);
}
}
@@ -158,25 +201,25 @@ public class ReportController extends BaseController {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/report/urlReportList";
}
//IP范围统计
@RequestMapping(value = {"/ipRangeList", ""})
public String ipRangeLists(@ModelAttribute("log") NtcIpRangeReport log, Model model, HttpServletRequest request, HttpServletResponse response) {
// IP范围统计
@RequestMapping(value = { "/ipRangeList", "" })
public String ipRangeLists(@ModelAttribute("log") NtcIpRangeReport log, Model model, HttpServletRequest request,
HttpServletResponse response) {
try {
PageLog<NtcIpRangeReport> page = new PageLog<NtcIpRangeReport>(request, response);
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
// 查询开始IP
if (StringUtils.isNotBlank(log.getSearchIp())) {
params.put("searchIp", log.getSearchIp());
}
@@ -187,24 +230,28 @@ public class ReportController extends BaseController {
if (StringUtils.isNotBlank(log.getSearchAreaType())) {
params.put("searchDesc", log.getSearchDesc());
}
String url =Constants.LOG_BASE_URL + Constants.NTC_IP_RANGE_REPORT;
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\"}]}}";
// 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\"}]}}";
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcIpRangeReport> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcIpRangeReport>>(){}.getType());
LogRecvData<NtcIpRangeReport> fromJson = gson.fromJson(recv,
new TypeToken<LogRecvData<NtcIpRangeReport>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcIpRangeReport> data = fromJson.getData();
page.setCount(data.getCount());
page.setLast(data.getLast());
page.setList(data.getList());
/*List<NtcCollectRadiusLog> list = page.getList();
for (NtcConnRecordLog l : list) {
l.setFunctionId(log.getFunctionId());
setLogAction(l,serviceList);
}*/
/*
* List<NtcCollectRadiusLog> list = page.getList(); for
* (NtcConnRecordLog l : list) {
* l.setFunctionId(log.getFunctionId());
* setLogAction(l,serviceList); }
*/
model.addAttribute("page", page);
}
}
@@ -212,10 +259,11 @@ public class ReportController extends BaseController {
logger.error("查询失败", e);
addMessageLog(model, e.getMessage());
}
return "/report/ipRangeReportList";
}
//asnExport
// asnExport
@RequestMapping(value = "asnExport")
public void asnExport(@ModelAttribute("log") NtcAsnRecord log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
@@ -232,10 +280,10 @@ public class ReportController extends BaseController {
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
//判断请求参数
if(StringUtils.isNotEmpty(log.getSearchAsnType())){
// 判断请求参数
if (StringUtils.isNotEmpty(log.getSearchAsnType())) {
params.put("searchAsnType", log.getSearchAsnType());
}else{
} else {
params.put("searchAsnType", 1);
}
if (StringUtils.isNotBlank(log.getSearchFoundStartTime())
@@ -243,22 +291,23 @@ public class ReportController extends BaseController {
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);
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 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)) {
@@ -270,35 +319,59 @@ public class ReportController extends BaseController {
list = data.getList();
}
}
//
//
titleList.add("Ntc_Asn_Record");
classMap.put("Ntc_Asn_Record", NtcAsnRecord.class);
SysUser user = UserUtils.getUser();
hColumns += ",s_asn,d_asn,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,";
+ "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);
Properties msgProp = getMsgProp();
NtcAsnRecord ntcAsnRecord = new NtcAsnRecord();
double pps = 0;
double bps = 0;
for (NtcAsnRecord entity : list) {
if (null != entity.getBps() && !"".equals(entity.getBps())) {
bps += Double.valueOf(entity.getBps());
}
if (null != entity.getPps() && !"".equals(entity.getPps())) {
pps += Double.valueOf(entity.getPps());
}
}
String report_total = msgProp.getProperty("report_total");
ntcAsnRecord.setAsn(report_total);
ntcAsnRecord.setBps(String.format("%.2f", bps));
ntcAsnRecord.setPps(String.format("%.2f", pps));
list.add(ntcAsnRecord);
dataMap.put("Ntc_Asn_Record", list);
String timeRange = initLogMap(log, "Ntc_Asn_Record");
noExportMap.put("timeRange", timeRange);
/* } */
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);
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
// ipRangeExport
@RequestMapping(value = "ipRangeExport")
public void ipRangeExport(@ModelAttribute("log") NtcIpRangeReport log, Model model, String hColumns, String type,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) {
HttpServletRequest request, HttpServletResponse response, String seType,
RedirectAttributes redirectAttributes) {
try {
// export data info
List<String> titleList = new ArrayList<String>();
@@ -312,12 +385,13 @@ public class ReportController extends BaseController {
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageSize", page.getPageSize());
params.put("pageNo", page.getPageNo());
//判断请求参数
//查询国家
log.setSearchAreaType(seType);
// 判断请求参数
// 查询国家
if (StringUtils.isNotBlank(log.getSearchCountry())) {
params.put("searchCountry", log.getSearchCountry());
}
//查询开始IP
// 查询开始IP
if (StringUtils.isNotBlank(log.getSearchStartIp())) {
params.put("searchIp", log.getSearchIp());
}
@@ -328,123 +402,169 @@ public class ReportController extends BaseController {
if (StringUtils.isNotBlank(log.getSearchAreaType())) {
params.put("searchDesc", log.getSearchDesc());
}
String url =Constants.LOG_BASE_URL + Constants.NTC_IP_RANGE_REPORT;
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\"}]}}";
// 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());
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 += ",s_asn,d_asn,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,";
+ "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);
String timeRange = initLogMap(log, "Ntc_Ip_Range_Report");
noExportMap.put("timeRange", timeRange);
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "Ntc_Ip_Range_Report", titleList, classMap,
dataMap, noExportMap);
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);
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");
}
}
//asnExport
@RequestMapping(value = "httpsExport")
public void httpsExport(@ModelAttribute("log") NtcURLReport 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<NtcURLReport> page = new PageLog<NtcURLReport>(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.getSearchReportStartTime())
&& StringUtils.isNotBlank(log.getSearchReportEndTime())) {
params.put("searchReportStartTime", log.getSearchReportStartTime());
params.put("searchReportEndTime", log.getSearchReportEndTime());
} 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("searchReportStartTime", searchStartTime);
params.put("searchReportEndTime", searchEndTime);
log.setSearchReportStartTime(searchStartTime);
log.setSearchReportEndTime(searchEndTime);
}
//url参数
if (StringUtils.isNotBlank(log.getSearchUrl())) {
params.put("searchUrl", log.getSearchUrl());
}
String url =Constants.LOG_BASE_URL + Constants.NTC_URL_REPORT;
// 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<NtcURLReport> list = new ArrayList<NtcURLReport>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcURLReport> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcURLReport>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcURLReport> data = fromJson.getData();
list = data.getList();
}
}
//
titleList.add("Ntc_HTTPS_Report");
classMap.put("Ntc_HTTPS_Report", NtcURLReport.class);
//SysUser user = UserUtils.getUser();
/*hColumns += "s_asn,d_asn,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,";*/
hColumns += ",s_asn,d_asn,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,reportTime,";
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("Ntc_HTTPS_Report", cfgIndexInfoNoExport);
dataMap.put("Ntc_HTTPS_Report", list);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "Ntc_HTTPS_Report", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "Ntc_HTTPS_Report", titleList, classMap, dataMap,
noExportMap);
}
} catch (Exception e) {
logger.error("Ntc_HTTPS_Report export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
public String initHttpMap(NtcURLReport log, String title) {
Properties msgProp = getMsgProp();
String logTime = msgProp.getProperty(title, title);
;
if (log.getSearchReportStartTime() != null) {
logTime += " " + msgProp.getProperty("begin_date") + "" + log.getSearchReportStartTime();
}
if (log.getSearchReportEndTime() != null) {
logTime += " " + msgProp.getProperty("end_date") + "" + log.getSearchReportEndTime();
}
return logTime;
}
// asnExport
@RequestMapping(value = "httpsExport")
public void httpsExport(@ModelAttribute("log") NtcURLReport 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<NtcURLReport> page = new PageLog<NtcURLReport>(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.getSearchReportStartTime())
&& StringUtils.isNotBlank(log.getSearchReportEndTime())) {
params.put("searchReportStartTime", log.getSearchReportStartTime());
params.put("searchReportEndTime", log.getSearchReportEndTime());
} 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("searchReportStartTime", searchStartTime);
params.put("searchReportEndTime", searchEndTime);
log.setSearchReportStartTime(searchStartTime);
log.setSearchReportEndTime(searchEndTime);
}
// url参数
if (StringUtils.isNotBlank(log.getSearchUrl())) {
params.put("searchUrl", log.getSearchUrl());
}
String url = Constants.LOG_BASE_URL + Constants.NTC_URL_REPORT;
// 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<NtcURLReport> list = new ArrayList<NtcURLReport>();
if (StringUtils.isNotBlank(recv)) {
Gson gson = new GsonBuilder().create();
LogRecvData<NtcURLReport> fromJson = gson.fromJson(recv, new TypeToken<LogRecvData<NtcURLReport>>() {
}.getType());
if (fromJson.getStatus().intValue() == 200) {
Page<NtcURLReport> data = fromJson.getData();
list = data.getList();
}
}
//
titleList.add("Ntc_HTTPS_Report");
classMap.put("Ntc_HTTPS_Report", NtcURLReport.class);
// SysUser user = UserUtils.getUser();
/*
* hColumns +=
* "s_asn,d_asn,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,";
*/
hColumns += ",s_asn,d_asn,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,reportTime,";
String cfgIndexInfoNoExport = "," + hColumns;
noExportMap.put("Ntc_HTTPS_Report", cfgIndexInfoNoExport);
Properties msgProp = getMsgProp();
NtcURLReport ntcURLReport = new NtcURLReport();
long ipCount=0;
long connCount=0;
for (NtcURLReport entity : list) {
ipCount += entity.getIpCount();
connCount += entity.getConnCount();
}
String report_total = msgProp.getProperty("report_total");
ntcURLReport.setIpCount(ipCount);
ntcURLReport.setConnCount(connCount);
ntcURLReport.setUrl(report_total);
list.add(ntcURLReport);
dataMap.put("Ntc_HTTPS_Report", list);
String timeRange = initHttpMap(log, "Ntc_HTTPS_Report");
noExportMap.put("timeRange", timeRange);
/* } */
if ("csv".equals(type)) {
this._exportCsv(model, request, response, redirectAttributes, "Ntc_HTTPS_Report", titleList, classMap,
dataMap, noExportMap);
} else {
this._export(model, request, response, redirectAttributes, "Ntc_HTTPS_Report", titleList, classMap,
dataMap, noExportMap);
}
} catch (Exception e) {
logger.error("Ntc_HTTPS_Report export failed", e);
addMessage(redirectAttributes, "error", "export_failed");
}
}
}

View File

@@ -101,9 +101,21 @@
</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>
<!-- <div class="btn-group"> -->
<%-- <sys:delRow url="${ctx}/report/asnExport?type=excel" searchUrl="${ctx}/report/asnConnList" id="contentTable" maxRow="10000" label="excel"></sys:delRow> --%>
<%-- <sys:delRow url="${ctx}/report/asnExport?type=csv" searchUrl="${ctx}/report/asnConnList" id="contentTable" maxRow="10000" label="csv"></sys:delRow> --%>
<!-- </div> -->
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/report/asnExport?type=excel" searchUrl="${ctx}/report/asnConnList" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/report/asnExport?type=csv" searchUrl="${ctx}/report/asnConnList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</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>

View File

@@ -91,9 +91,22 @@
<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>
<!-- <div class="btn-group"> -->
<%-- <sys:delRow url="${ctx}/report/ipRangeExport?type=excel" searchUrl="${ctx}/report/ipRangeList" id="contentTable" maxRow="10000" label="excel"></sys:delRow> --%>
<%-- <sys:delRow url="${ctx}/report/ipRangeExport?type=csv" searchUrl="${ctx}/report/ipRangeList" id="contentTable" maxRow="10000" label="csv"></sys:delRow> --%>
<!-- </div> -->
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/report/ipRangeExport?type=excel&seType=${log.searchAreaType}" searchUrl="${ctx}/report/ipRangeList" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/report/ipRangeExport?type=csv&seType=${log.searchAreaType}" searchUrl="${ctx}/report/ipRangeList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</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>

View File

@@ -100,9 +100,21 @@
<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/httpsExport?type=excel" searchUrl="${ctx}/report/httpsUrlList" id="contentTable" maxRow="10000" label="export"></sys:delRow>
</div>
<!-- <div class="btn-group"> -->
<%-- <sys:delrow url="${ctx}/report/httpsexport?type=excel" searchurl="${ctx}/report/httpsurllist" id="contenttable" maxrow="10000" label="excel"></sys:delrow> --%>
<%-- <sys:delrow url="${ctx}/report/httpsexport?type=csv" searchurl="${ctx}/report/httpsurllist" id="contenttable" maxrow="10000" label="csv"></sys:delrow> --%>
<!-- </div> -->
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="export"></spring:message>
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right" style="min-width: 110px;" >
<li><sys:delRow url="${ctx}/report/httpsExport?type=excel" searchUrl="${ctx}/report/httpsUrlList" id="contentTable" maxRow="10000" label="excel"></sys:delRow></li>
<li><sys:delRow url="${ctx}/report/httpsExport?type=csv" searchUrl="${ctx}/report/httpsUrlList" id="contentTable" maxRow="10000" label="csv"></sys:delRow></li>
</ul>
</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>