diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java index 05b1177dd..ea5ba0e67 100644 --- a/src/main/java/com/nis/util/Constants.java +++ b/src/main/java/com/nis/util/Constants.java @@ -717,6 +717,8 @@ public final class Constants { public static final String TRAFFIC_DOMAIN_TRANS=Configurations.getStringProperty("trafficDomainTrans","trafficDomainTrans"); public static final String TRAFFIC_PORTACTIVE_FIVEMINUTE=Configurations.getStringProperty("trafficPortActiveFiveMinute","trafficPortActiveFiveMinute"); public static final String TREND_TOTAL_REPORT=Configurations.getStringProperty("trendTotalReport","trendTotalReport"); + public static final String TRAFFIC_APP_TREND=Configurations.getStringProperty("trafficAppTrend","trafficAppTrend"); + public static final String APPCONN_RECORD_TOP100=Configurations.getStringProperty("appConnRecordTop100","appConnRecordTop100"); /** * httpclient 工具超时时间设置 */ diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java index 24d9a3d95..913d240e2 100644 --- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java +++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java @@ -427,6 +427,85 @@ public class TrafficStatisticsInfoController extends BaseController { } return list; } + /** + * App趋势界面 独立IP访问数量趋势图 + */ + @RequestMapping(value="appTrendList") + public String appTrendList(Model model,String beginDate,String endDate,String appName,Integer appType){ + if(StringUtil.isBlank(beginDate)||StringUtil.isBlank(endDate)){ + Calendar cal = Calendar. getInstance (); + cal.setTime(new Date()); + endDate = new SimpleDateFormat( "yyyy-MM-dd HH:mm:00" ).format(cal.getTime());//获取到完整的时间 + cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 2); + beginDate = new SimpleDateFormat( "yyyy-MM-dd HH:mm:00" ).format(cal.getTime()); + } + model.addAttribute("appName", appName); + model.addAttribute("appType", appType); + model.addAttribute("beginDate", beginDate); + model.addAttribute("endDate", endDate); + return "/dashboard/trafficAppTrendList"; + } + @RequestMapping("ajaxAppTrend") + @ResponseBody + public Map ajaxAppTrend(String beginDate,String endDate,Integer appType,Integer entranceId,Model model){ + Map fromJsonList = new HashMap(); + Map list = new HashMap(); + try { + String url=Constants.DASHBOARD_URL+Constants.TRAFFIC_APP_TREND; + URIBuilder uriBuilder = new URIBuilder(url); + uriBuilder.addParameter("searchStartTime",beginDate); + uriBuilder.addParameter("searchEndTime",endDate); + url=uriBuilder.toString(); + if(appType!=null){ + url=url+"&searchAppId="+appType; + } + if(entranceId!=null){ + url=url+"&searchEntranceId="+entranceId; + } + String string = HttpClientUtil.get(url); + Gson gson = new GsonBuilder().create(); + fromJsonList = gson.fromJson(string, new TypeToken>(){}.getType()); + logger.debug("app趋势图"+fromJsonList); + list = (Map) fromJsonList.get("data"); + + } catch (Exception e) { + e.printStackTrace(); + logger.error("app趋势图数据获取错误"+e); + list.put("error","request_service_failed"); + } + return list; + } + @RequestMapping("ajaxAppTopList") + @ResponseBody + public List ajaxAppTopList(String beginDate,String endDate,Integer appType,Integer entranceId,Model model){ + Map fromJsonList = new HashMap(); + List list = new ArrayList(); + try { + String url=Constants.DASHBOARD_URL+Constants.APPCONN_RECORD_TOP100; + URIBuilder uriBuilder = new URIBuilder(url); + uriBuilder.addParameter("searchStartTime",beginDate); + uriBuilder.addParameter("searchEndTime",endDate); + url=uriBuilder.toString(); + if(appType!=null){ + url=url+"&searchAppId="+appType; + } + if(entranceId!=null){ + url=url+"&searchEntranceId="+entranceId; + } + String string = HttpClientUtil.get(url); + Gson gson = new GsonBuilder().create(); + fromJsonList = gson.fromJson(string, new TypeToken>(){}.getType()); + logger.debug("app列表Top100"+fromJsonList); + list = (ArrayList) fromJsonList.get("data"); + + } catch (Exception e) { + e.printStackTrace(); + logger.error("app列表Top100"+e); + list.add(Maps.newHashMap("error","request_service_failed")); + } + return list; + } + /** * 网址类型列表 */ @@ -470,12 +549,12 @@ public class TrafficStatisticsInfoController extends BaseController { String string = HttpClientUtil.get(url); Gson gson = new GsonBuilder().create(); fromJsonList = gson.fromJson(string, new TypeToken>(){}.getType()); - logger.debug("活跃IP1小时"+fromJsonList); + logger.debug("活跃域名1小时"+fromJsonList); list = (ArrayList) fromJsonList.get("data"); } catch (Exception e) { e.printStackTrace(); - logger.error("活跃IP数据获取错误"+e); + logger.error("活跃域名数据获取错误"+e); list.add(Maps.newHashMap("error","request_service_failed")); } return list; diff --git a/src/main/resources/nis.properties b/src/main/resources/nis.properties index f8a4257d1..6d2694252 100644 --- a/src/main/resources/nis.properties +++ b/src/main/resources/nis.properties @@ -610,5 +610,7 @@ dashboardUrlV2=http://10.0.7.14:9999/galaxy-service/service/log/v2/ trafficAreaStat=v1/trafficAreaStat logServiceTopn=v1/logServiceTopn blockAndDropStat=v1/blockAndDropStat -#配置启停接口 +#\u914d\u7f6e\u542f\u505c\u63a5\u53e3 configStartStop=v2/configStartStop +trafficAppTrend=trafficAppTrend +appConnRecordTop100=appConnRecordTop100 \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/dashboard/ntcTotalReportDetailList.jsp b/src/main/webapp/WEB-INF/views/dashboard/ntcTotalReportDetailList.jsp index 57abbd3bf..85a2a8fb8 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/ntcTotalReportDetailList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/ntcTotalReportDetailList.jsp @@ -377,13 +377,17 @@ } str.push(temp.join(",")+"\n"); } - var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(str.join("")); - var downloadLink = document.createElement("a"); - downloadLink.href = uri; - downloadLink.download = ""+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; - document.body.appendChild(downloadLink); - downloadLink.click(); - document.body.removeChild(downloadLink); + + str = "\uFEFF"+str.join(""); // + var blob = new Blob([str], {type: 'text/plain'}); + var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(blob); + var downloadLink = document.createElement("a"); + downloadLink.href = window.URL.createObjectURL(blob); + downloadLink.download = ""+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; + downloadLink.style.display = 'none'; + document.body.appendChild(downloadLink); + downloadLink.click(); + document.body.removeChild(downloadLink); } diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficActionTransList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficActionTransList.jsp index 0fb40306f..9f96f06ef 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficActionTransList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficActionTransList.jsp @@ -381,13 +381,17 @@ function showActionTransChart(xData,series){ } str.push(temp.join(",")+"\n"); } - var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(str.join("")); - var downloadLink = document.createElement("a"); - downloadLink.href = uri; - downloadLink.download = ""+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; - document.body.appendChild(downloadLink); - downloadLink.click(); - document.body.removeChild(downloadLink); + + str = "\uFEFF"+str.join(""); // + var blob = new Blob([str], {type: 'text/plain'}); + var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(blob); + var downloadLink = document.createElement("a"); + downloadLink.href = window.URL.createObjectURL(blob); + downloadLink.download = ""+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; + downloadLink.style.display = 'none'; + document.body.appendChild(downloadLink); + downloadLink.click(); + document.body.removeChild(downloadLink); } function sum(arr) { return arr.reduce(function(prev, curr, idx, arr){ diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficAppTrendList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTrendList.jsp new file mode 100644 index 000000000..ded7fa5a9 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTrendList.jsp @@ -0,0 +1,741 @@ +<%@ page contentType="text/html;charset=UTF-8"%> +<%@ include file="/WEB-INF/include/taglib.jsp"%> + + +<spring:message code="app"></spring:message> + + + + + + + + + + + + +
+ +

+ +

+ +
+ + +
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+ + +
+
+ +
+
+
+
+ + + + + + + +
+
+
+ + +
+ +
+
+
+
+
+ + + + + + + + + + + + + +
() () ()
+ +
/ ,
+
  
+
+
+
+ + +<%-- --%> + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp index 004c54bac..53f34d2d7 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficAppTypeList.jsp @@ -100,6 +100,7 @@ + @@ -210,8 +211,8 @@ $(".export-btn").click(function(){ var nowDate=new Date(); var dataType = $(this).attr("data-type"); getPageData(1,999999);// 设置导出页条数 - var start=$("#beginDate").val(); - var end=$("#endDate").val(); + var start=$("#beginDateh").val(); + var end=$("#endDateh").val(); var htmlTitle=""; htmlTitle+=""; htmlTitle+= ""; @@ -316,6 +317,7 @@ function htmlData(fileDataS){ gbytper=((data.GByte/totalGByte)*100).toFixed(2); } var html = ""; + html+= ""; html+= ""; html+= ""; html+= ""; @@ -340,7 +342,13 @@ function htmlData(fileDataS){ }); } } - +// 跳转到app访问趋势 +function openAppTrend(appType,appName){ + var beginDate=$("#beginDateh").val(); + var endDate=$("#endDateh").val(); + var url= "${ctx}/dashboard/traffic/appTrendList?beginDate="+beginDate+"&endDate="+endDate+"&appName="+appName+"&appType="+appType; + window.location.href=(url) +} /** * 分页控件处理 */ diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp index 442e0edca..996fa4cbe 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficBandwidthList.jsp @@ -536,13 +536,17 @@ function showBandwidthChart(id,unitType,xdata,ydata,title){ } str.push(temp.join(",")+"\n"); } - var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(str.join("")); - var downloadLink = document.createElement("a"); - downloadLink.href = uri; - downloadLink.download = ''+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; - document.body.appendChild(downloadLink); - downloadLink.click(); - document.body.removeChild(downloadLink); + + str = "\uFEFF"+str.join(""); // + var blob = new Blob([str], {type: 'text/plain'}); + var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(blob); + var downloadLink = document.createElement("a"); + downloadLink.href = window.URL.createObjectURL(blob); + downloadLink.download = ""+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; + downloadLink.style.display = 'none'; + document.body.appendChild(downloadLink); + downloadLink.click(); + document.body.removeChild(downloadLink); } /* function sum(arr) { return arr.reduce(function(prev, curr, idx, arr){ diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficDomainTrans.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficDomainTrans.jsp index af15ebc08..d191b4df7 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficDomainTrans.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficDomainTrans.jsp @@ -303,13 +303,16 @@ function exportCsv(obj){ } str.push(temp.join(",")+"\n"); } - var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(str.join("")); - var downloadLink = document.createElement("a"); - downloadLink.href = uri; - downloadLink.download = ""+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; - document.body.appendChild(downloadLink); - downloadLink.click(); - document.body.removeChild(downloadLink); + str = "\uFEFF"+str.join(""); // + var blob = new Blob([str], {type: 'text/plain'}); + var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(blob); + var downloadLink = document.createElement("a"); + downloadLink.href = window.URL.createObjectURL(blob); + downloadLink.download = ""+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; + downloadLink.style.display = 'none'; + document.body.appendChild(downloadLink); + downloadLink.click(); + document.body.removeChild(downloadLink); } diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp index c73301ce9..f84241f22 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficIpActiveList.jsp @@ -550,13 +550,17 @@ function showIpActiveChart(xData,series){ } str.push(temp.join(",")+"\n"); } - var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(str.join("")); - var downloadLink = document.createElement("a"); - downloadLink.href = uri; - downloadLink.download = ""+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; - document.body.appendChild(downloadLink); - downloadLink.click(); - document.body.removeChild(downloadLink); + + str = "\uFEFF"+str.join(""); // + var blob = new Blob([str], {type: 'text/plain'}); + var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(blob); + var downloadLink = document.createElement("a"); + downloadLink.href = window.URL.createObjectURL(blob); + downloadLink.download = ""+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; + downloadLink.style.display = 'none'; + document.body.appendChild(downloadLink); + downloadLink.click(); + document.body.removeChild(downloadLink); } function sum(arr) { return arr.reduce(function(prev, curr, idx, arr){ diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficPortActiveList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficPortActiveList.jsp index aa6566711..65698fbbf 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficPortActiveList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficPortActiveList.jsp @@ -375,13 +375,17 @@ function showPortActiveChart(xData,series){ } str.push(temp.join(",")+"\n"); } - var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(str.join("")); - var downloadLink = document.createElement("a"); - downloadLink.href = uri; - downloadLink.download = ""+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; - document.body.appendChild(downloadLink); - downloadLink.click(); - document.body.removeChild(downloadLink); + + str = "\uFEFF"+str.join(""); // + var blob = new Blob([str], {type: 'text/plain'}); + var uri = 'data:text/csv;charset=utf-8,' + encodeURIComponent(blob); + var downloadLink = document.createElement("a"); + downloadLink.href = window.URL.createObjectURL(blob); + downloadLink.download = ""+nowDate.getFullYear()+(nowDate.getMonth()+1)+nowDate.getDate()+nowDate.getHours()+nowDate.getMinutes()+nowDate.getSeconds()+".csv"; + downloadLink.style.display = 'none'; + document.body.appendChild(downloadLink); + downloadLink.click(); + document.body.removeChild(downloadLink); } function sum(arr) { return arr.reduce(function(prev, curr, idx, arr){ diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficWebTypeList.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficWebTypeList.jsp index 41ada073d..683ca6985 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficWebTypeList.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficWebTypeList.jsp @@ -134,7 +134,7 @@
()
"+""+"
"+data.appName+""+data.linkNum+""+linkper+"%"+"
+ class="table table-striped table-bordered table-condensed text-nowrap"> @@ -369,7 +369,8 @@ if(totalGbyte!=null&&totalGbyte!=0 ){ gbytper=((data.Gbyte/(totalGbyte))*100).toFixed(2); } - var html = ''; + var html = ''; + html += ''; html += ""; html += ""; html += "";
" + data.website + "" + data.uniqueNum + "" + (((data.entranceId)==1) ? "Astana":"Alamty") + "