新增流量统计端口,主题接口
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
package com.nis.domain.restful.dashboard;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class NtcTotalReport {
|
||||
|
||||
private Integer statId ;//int(11) NOT NULL AUTO_INCREMENT COMMENT id自增,
|
||||
private Integer rejectNum ;//int(11) NOT NULL COMMENT 封堵数量,
|
||||
private Integer monitorNum ;//int(11) NOT NULL COMMENT 监测数量,
|
||||
private Integer c2sPktNum ;//int(11) DEFAULT NULL COMMENT c2s包数,
|
||||
private Integer s2cPktNum ;//int(11) DEFAULT NULL COMMENT s2c包数,
|
||||
private Integer c2sByteLen ;//int(11) NOT NULL COMMENT c2s字节数,
|
||||
private Integer s2cByteLen ;//int(11) NOT NULL COMMENT s2c字节数,
|
||||
private Integer newUniConnNum ;//int(11) DEFAULT NULL COMMENT 新建链接数,
|
||||
private Integer liveConnNum ;//int(11) DEFAULT NULL COMMENT 活跃链接数,
|
||||
private Integer dropConnNum ;//int(11) DEFAULT NULL COMMENT 丢弃链接数,
|
||||
private Integer loopConnNum ;//int(11) DEFAULT NULL COMMENT 回流链接数,
|
||||
private Date reportTime ;//datetime NOT NULL COMMENT 统计时间,
|
||||
|
||||
public Integer getStatId() {
|
||||
return statId;
|
||||
}
|
||||
public void setStatId(Integer statId) {
|
||||
this.statId = statId;
|
||||
}
|
||||
public Integer getRejectNum() {
|
||||
return rejectNum;
|
||||
}
|
||||
public void setRejectNum(Integer rejectNum) {
|
||||
this.rejectNum = rejectNum;
|
||||
}
|
||||
public Integer getMonitorNum() {
|
||||
return monitorNum;
|
||||
}
|
||||
public void setMonitorNum(Integer monitorNum) {
|
||||
this.monitorNum = monitorNum;
|
||||
}
|
||||
public Integer getC2sPktNum() {
|
||||
return c2sPktNum;
|
||||
}
|
||||
public void setC2sPktNum(Integer c2sPktNum) {
|
||||
this.c2sPktNum = c2sPktNum;
|
||||
}
|
||||
public Integer getS2cPktNum() {
|
||||
return s2cPktNum;
|
||||
}
|
||||
public void setS2cPktNum(Integer s2cPktNum) {
|
||||
this.s2cPktNum = s2cPktNum;
|
||||
}
|
||||
public Integer getC2sByteLen() {
|
||||
return c2sByteLen;
|
||||
}
|
||||
public void setC2sByteLen(Integer c2sByteLen) {
|
||||
this.c2sByteLen = c2sByteLen;
|
||||
}
|
||||
public Integer getS2cByteNen() {
|
||||
return s2cByteLen;
|
||||
}
|
||||
public void setS2cByteNen(Integer s2cByteLen) {
|
||||
this.s2cByteLen = s2cByteLen;
|
||||
}
|
||||
public Integer getNewUniConnNum() {
|
||||
return newUniConnNum;
|
||||
}
|
||||
public void setNewUniConnNum(Integer newUniConnNum) {
|
||||
this.newUniConnNum = newUniConnNum;
|
||||
}
|
||||
public Integer getLiveConnNum() {
|
||||
return liveConnNum;
|
||||
}
|
||||
public void setLiveConnNum(Integer liveConnNum) {
|
||||
this.liveConnNum = liveConnNum;
|
||||
}
|
||||
public Integer getDropConnNum() {
|
||||
return dropConnNum;
|
||||
}
|
||||
public void setDropConnNum(Integer dropConnNum) {
|
||||
this.dropConnNum = dropConnNum;
|
||||
}
|
||||
public Integer getLoopConnNum() {
|
||||
return loopConnNum;
|
||||
}
|
||||
public void setLoopConnNum(Integer loopConnNum) {
|
||||
this.loopConnNum = loopConnNum;
|
||||
}
|
||||
public Date getReportTime() {
|
||||
return reportTime;
|
||||
}
|
||||
public void setReportTime(Date reportTime) {
|
||||
this.reportTime = reportTime;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -23,8 +23,18 @@ public class TrafficHttpStatistic {
|
||||
private Integer count;
|
||||
private Integer pktNum;
|
||||
private Integer byteLen;
|
||||
private Integer websiteServiceId;//网站id
|
||||
|
||||
public Integer getCount() {
|
||||
|
||||
public Integer getWesiteServiceId() {
|
||||
return websiteServiceId;
|
||||
}
|
||||
|
||||
public void setWebsiteServiceId(Integer websiteServiceId) {
|
||||
this.websiteServiceId = websiteServiceId;
|
||||
}
|
||||
|
||||
public Integer getCount() {
|
||||
return count;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.nis.domain.restful.dashboard;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class TrafficPortActiveStatistic {
|
||||
//流量统计之活跃端口统计
|
||||
private Integer statId;
|
||||
private Integer port;
|
||||
private Integer sum;
|
||||
private Date statTime;
|
||||
|
||||
public Integer getStatId() {
|
||||
return statId;
|
||||
}
|
||||
public void setStatId(Integer statId) {
|
||||
this.statId = statId;
|
||||
}
|
||||
public Integer getPort() {
|
||||
return port;
|
||||
}
|
||||
public void setPort(Integer port) {
|
||||
this.port = port;
|
||||
}
|
||||
public Integer getSum() {
|
||||
return sum;
|
||||
}
|
||||
public void setSum(Integer sum) {
|
||||
this.sum = sum;
|
||||
}
|
||||
public Date getStatTime() {
|
||||
return statTime;
|
||||
}
|
||||
public void setStatTime(Date statTime) {
|
||||
this.statTime = statTime;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.nis.domain.restful.dashboard;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public class WebsiteDomainTopic {
|
||||
|
||||
private Long id; // `id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
private Long websiteServiceId; // `website_service_id` bigint(20) DEFAULT NULL COMMENT '网站服务Id',
|
||||
private String domain; // `domain` varchar(200) DEFAULT NULL COMMENT '域名',
|
||||
private Long topicId; // `topic_id` bigint(20) DEFAULT NULL COMMENT '主题Id',
|
||||
private Date createTime; // `create_time` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp(),
|
||||
private Integer creatorId; // `creator_id` int(11) DEFAULT NULL,
|
||||
private Integer isValid; // `is_valid` int(1) DEFAULT NULL,
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
public Long getWebsiteServiceId() {
|
||||
return websiteServiceId;
|
||||
}
|
||||
public void setWebsiteServiceId(Long websiteServiceId) {
|
||||
this.websiteServiceId = websiteServiceId;
|
||||
}
|
||||
public String getDomain() {
|
||||
return domain;
|
||||
}
|
||||
public void setDomain(String domain) {
|
||||
this.domain = domain;
|
||||
}
|
||||
public Long getTopicId() {
|
||||
return topicId;
|
||||
}
|
||||
public void setTopicId(Long topicId) {
|
||||
this.topicId = topicId;
|
||||
}
|
||||
public Date getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
public void setCreateTime(Date createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
public Integer getCreatorId() {
|
||||
return creatorId;
|
||||
}
|
||||
public void setCreatorId(Integer creatorId) {
|
||||
this.creatorId = creatorId;
|
||||
}
|
||||
public Integer getIsValid() {
|
||||
return isValid;
|
||||
}
|
||||
public void setIsValid(Integer isValid) {
|
||||
this.isValid = isValid;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.nis.domain.restful.dashboard.TrafficPortActiveStatistic;
|
||||
import com.nis.restful.RestServiceException;
|
||||
import com.nis.util.Constants;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@@ -34,6 +35,67 @@ public class DashboardServiceController extends BaseRestController {
|
||||
protected ServicesRequestLogService servicesRequestLogService;
|
||||
@Autowired
|
||||
public DashboardService dashboardService;
|
||||
|
||||
/**
|
||||
* 流量统计info滚动条数据显示 封堵监测回流丢弃
|
||||
*/
|
||||
@RequestMapping(value = "ntcTotalReport", method = RequestMethod.GET)
|
||||
@ApiOperation(value = "业务总量汇聚", httpMethod = "GET", notes = "对应流量统计info滚动条数据显示")
|
||||
public Map<String,?> ntcTotalReport(Model model, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
|
||||
List<Map> list = new ArrayList<Map>();
|
||||
try {
|
||||
List<Map> resultList = dashboardService.getTotalReportList();
|
||||
if (resultList!=null&&resultList.size() > 0) {
|
||||
list = resultList;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
auditLogThread.setExceptionInfo(e.getMessage() + " " + e.getCause());
|
||||
logger.error(e);
|
||||
if (!(e instanceof RestServiceException)) {
|
||||
e = new RestServiceException(auditLogThread, System.currentTimeMillis() - start, "业务总量汇聚实时统计数据检索失败");
|
||||
}
|
||||
throw ((RestServiceException) e);
|
||||
}
|
||||
return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "业务总量汇聚实时统计数据检索成功",list, 0);
|
||||
}
|
||||
/**
|
||||
* 流量统计活跃端口统计
|
||||
*/
|
||||
@RequestMapping(value = "trafficPortActive", method = RequestMethod.GET)
|
||||
@ApiOperation(value = "活跃端口统计", httpMethod = "GET", notes = "对应流量统计活跃端口统计")
|
||||
public Map<String,?> trafficPortActive(Model model, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
|
||||
List<Map> list = new ArrayList<Map>();
|
||||
try {
|
||||
List<TrafficPortActiveStatistic> resultList = dashboardService.getPortActiveList();
|
||||
|
||||
if (resultList!=null&&resultList.size() > 0) {
|
||||
for (TrafficPortActiveStatistic port : resultList) {
|
||||
Map map = new HashMap();
|
||||
|
||||
map.put("port", port.getPort());
|
||||
map.put("sum", port.getSum());
|
||||
list.add(map);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
auditLogThread.setExceptionInfo(e.getMessage() + " " + e.getCause());
|
||||
logger.error(e);
|
||||
if (!(e instanceof RestServiceException)) {
|
||||
e = new RestServiceException(auditLogThread, System.currentTimeMillis() - start, "活跃端口实时统计数据检索失败");
|
||||
}
|
||||
throw ((RestServiceException) e);
|
||||
}
|
||||
return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "活跃端口实时统计数据检索成功",list, 0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 协议统计
|
||||
@@ -92,7 +154,7 @@ public class DashboardServiceController extends BaseRestController {
|
||||
return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "活跃IP实时统计数据检索成功",list, 0);
|
||||
}
|
||||
/**
|
||||
* app流量分析 TOP10
|
||||
* app应用流量分析 TOP10
|
||||
*/
|
||||
@RequestMapping(value = "trafficApp", method = RequestMethod.GET)
|
||||
@ApiOperation(value = "app流量分析统计", httpMethod = "GET", notes = "对应app流量分析实时统计查询服务。")
|
||||
@@ -215,7 +277,8 @@ public class DashboardServiceController extends BaseRestController {
|
||||
AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
|
||||
List<Map> list = new ArrayList<Map>();
|
||||
try {
|
||||
List<Map> websiteChart = dashboardService.websiteList();
|
||||
// List<Map> websiteChart = dashboardService.websiteList();
|
||||
List<Map> websiteChart = dashboardService.getDomainByWebsiteList();
|
||||
if (websiteChart.size() > 0) {
|
||||
list = websiteChart;
|
||||
}
|
||||
@@ -232,13 +295,13 @@ public class DashboardServiceController extends BaseRestController {
|
||||
}
|
||||
@RequestMapping(value = "trafficWebTypeChart", method = RequestMethod.GET)
|
||||
@ApiOperation(value = "http网站分类分析统计", httpMethod = "GET", notes = "对应某个网站类型分类统计图")
|
||||
public Map<String, ?> trafficWebTypeChart(Integer webId,Model model, HttpServletRequest request, HttpServletResponse response) {
|
||||
public Map<String, ?> trafficWebTypeChart(Integer websiteServiceId,Model model, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
|
||||
List<Map> list = new ArrayList<Map>();
|
||||
try {
|
||||
List<Map> websiteChart = dashboardService.getTypeBywebsite(webId);
|
||||
List<Map> websiteChart = dashboardService.getDomainByWebsiteServiceId(websiteServiceId);
|
||||
if (websiteChart.size() > 0) {
|
||||
list = websiteChart;
|
||||
}
|
||||
@@ -253,4 +316,27 @@ public class DashboardServiceController extends BaseRestController {
|
||||
}
|
||||
return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "http网站分类分析数据检索成功",list, 0);
|
||||
}
|
||||
@RequestMapping(value = "trafficTopicAndDomainChart", method = RequestMethod.GET)
|
||||
@ApiOperation(value = "http网站主题分类分析统计", httpMethod = "GET", notes = "对应某个网站主题类型分类统计图")
|
||||
public Map<String, ?> trafficTopicAndDomainChart(Integer websiteServiceId,Model model, HttpServletRequest request, HttpServletResponse response) {
|
||||
|
||||
long start = System.currentTimeMillis();
|
||||
AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null);
|
||||
List<Map> list = new ArrayList<Map>();
|
||||
try {
|
||||
List<Map> websiteChart = dashboardService.getTopicAndDomainList();
|
||||
if (websiteChart.size() > 0) {
|
||||
list = websiteChart;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
auditLogThread.setExceptionInfo(e.getMessage() + " " + e.getCause());
|
||||
logger.error(e);
|
||||
if (!(e instanceof RestServiceException)) {
|
||||
e = new RestServiceException(auditLogThread, System.currentTimeMillis() - start, "http网站主题分类分析数据检索失败");
|
||||
}
|
||||
throw ((RestServiceException) e);
|
||||
}
|
||||
return serviceLogResponse(auditLogThread, System.currentTimeMillis() - start, request, "http网站主题分类分析数据检索成功",list, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.nis.web.dao.dashboard;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.nis.web.dao.MyBatisDao;
|
||||
@MyBatisDao
|
||||
public interface NtcTotalReportDao {
|
||||
|
||||
List<Map> getTotalReportList();
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nis.web.dao.dashboard.NtcTotalReportDao">
|
||||
<!-- <resultMap id="BaseResultMap" type="com.nis.domain.restful.dashboard.NtcTotalReport">
|
||||
<id column="stat_id" jdbcType="INTEGER" property="statId" />
|
||||
<result column="app_type" jdbcType="INTEGER" property="appType" />
|
||||
<result column="entrance_id" jdbcType="INTEGER" property="entranceId" />
|
||||
<result column="c2s_pkt_num" jdbcType="INTEGER" property="c2sPktNum" />
|
||||
<result column="s2c_pkt_num" jdbcType="INTEGER" property="s2cPktNum" />
|
||||
<result column="c2s_byte_len" jdbcType="INTEGER" property="c2sByteLen" />
|
||||
<result column="s2c_byte_len" jdbcType="INTEGER" property="s2cByteLen" />
|
||||
<result column="stat_time" jdbcType="TIMESTAMP" property="statTime" />
|
||||
</resultMap> -->
|
||||
<!-- <select id="appChart" resultType="java.util.HashMap">
|
||||
SELECT app_type appType, (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_app_statistic
|
||||
WHERE app_type !=0 and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
GROUP BY app_type order by count desc limit 0,10
|
||||
</select> -->
|
||||
<select id="getTotalReportList" resultType="java.util.HashMap">
|
||||
SELECT SUM(reject_num) rejectNum,SUM(monitor_num) monitorNum,SUM(c2s_pkt_num) c2sPktNum,SUM(s2c_pkt_num) s2cPktNum,SUM(c2s_byte_len) c2sByteLen,SUM(s2c_byte_len) s2cByteLen,SUM(new_uni_conn_num) newUniConnNum,SUM(live_conn_num) liveConnNum,
|
||||
SUM(drop_conn_num) dropConnNum,SUM(loop_conn_num) loopConnNum FROM galaxy.ntc_total_report
|
||||
where report_time >= DATE_SUB((SELECT MAX(report_time) FROM ntc_total_report),INTERVAL 5 MINUTE)
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -16,8 +16,9 @@
|
||||
stat_time
|
||||
</sql>
|
||||
<select id="appChart" resultType="java.util.HashMap">
|
||||
SELECT app_type appType, (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_app_statistic
|
||||
WHERE app_type !=0 and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
SELECT app_type appType, (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen
|
||||
FROM galaxy.traffic_app_statistic
|
||||
WHERE app_type !=0 and stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_app_statistic),INTERVAL 5 MINUTE)
|
||||
GROUP BY app_type order by count desc limit 0,10
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -10,10 +10,14 @@ import com.nis.web.dao.MyBatisDao;
|
||||
@MyBatisDao
|
||||
public interface TrafficHttpStatisticDao {
|
||||
List<TrafficHttpStatistic> websiteList();
|
||||
|
||||
List<Map> getTypeBywebsite(@Param("webId") Integer webId);
|
||||
|
||||
Map websiteTypeOthers(@Param("webType") List webType,@Param("webId") Integer webId);
|
||||
|
||||
//获取域名分类之后属于的网站
|
||||
List<TrafficHttpStatistic> getDomainByWebsiteList();
|
||||
Integer preWebsiteListCount(@Param("webId") Integer webId);
|
||||
List<Map> getDomainByWebsiteServiceId(@Param("websiteServiceId") Integer websiteServiceId);
|
||||
Map websiteDomainOthers(@Param("webIdList") List webIdList,@Param("websiteServiceId") Integer websiteServiceId);
|
||||
|
||||
List<Map> getDomainByTopicList();
|
||||
|
||||
List<Map> getDomainByTopicId(@Param("topicId")Object TopicId);
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
<mapper namespace="com.nis.web.dao.dashboard.TrafficHttpStatisticDao">
|
||||
<resultMap id="BaseResultMap" type="com.nis.domain.restful.dashboard.TrafficHttpStatistic">
|
||||
<id column="stat_id" jdbcType="INTEGER" property="statId" />
|
||||
<result column="web_type" jdbcType="INTEGER" property="webType" />
|
||||
<result column="link_num" jdbcType="INTEGER" property="linkNum" />
|
||||
<result column="web_id" jdbcType="INTEGER" property="webId" />
|
||||
<result column="c2s_pkt_num" jdbcType="INTEGER" property="c2sPktNum" />
|
||||
<result column="s2c_pkt_num" jdbcType="INTEGER" property="s2cPktNum" />
|
||||
@@ -15,34 +15,64 @@
|
||||
stat_id, web_type, web_id, c2s_pkt_num, s2c_pkt_num, c2s_byte_len, s2c_byte_len,
|
||||
stat_time
|
||||
</sql>
|
||||
<!-- 根据服务网站将域名分类 网站列表-->
|
||||
<select id="getDomainByWebsiteList" resultType="com.nis.domain.restful.dashboard.TrafficHttpStatistic">
|
||||
SELECT SUM(link_num) count, IFNULL( website_service_id, 268435455 ) websiteServiceId ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen
|
||||
FROM galaxy.TRAFFIC_HTTP_STATISTIC t
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id = u.id
|
||||
and stat_time between DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_http_statistic),INTERVAL 10 MINUTE) and DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
GROUP BY u.website_service_id ORDER BY t.link_num limit 0,10
|
||||
</select>
|
||||
<!-- 根据主题将域名分类 主题列表 最近五分钟top10-->
|
||||
<select id="getDomainByTopicList" resultType="java.util.HashMap">
|
||||
SELECT SUM(link_num) count, IFNULL( topic_id, 268435455 ) topicId ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen
|
||||
FROM galaxy.TRAFFIC_HTTP_STATISTIC t
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id = u.id
|
||||
and t.stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_http_statistic),INTERVAL 5 MINUTE)
|
||||
GROUP BY u.topic_id ORDER BY t.link_num limit 0,10
|
||||
|
||||
</select>
|
||||
<!--获取上个时间段该网站站域名流量的数据量 -->
|
||||
<select id="preWebsiteListCount" resultType="java.lang.Integer">
|
||||
SELECT SUM(link_num) count FROM galaxy.traffic_http_statistic
|
||||
WHERE web_id=#{webId}
|
||||
and stat_time between DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_http_statistic),INTERVAL 10 MINUTE) and DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
</select>
|
||||
<select id="websiteList" resultMap="BaseResultMap">
|
||||
|
||||
<!--获取网站列表列表 -->
|
||||
<!-- <select id="websiteList" resultMap="BaseResultMap">
|
||||
SELECT web_id webId, (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_http_statistic
|
||||
WHERE web_id !=0 and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
GROUP BY web_id ORDER BY count DESC limit 0,10
|
||||
</select> -->
|
||||
<!-- 根据网站分组获取子域名 -->
|
||||
<select id="getDomainByWebsiteServiceId" parameterType="java.lang.Integer" resultType="java.util.HashMap">
|
||||
SELECT web_id webId,link_num count,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen
|
||||
FROM galaxy.traffic_http_statistic t
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id=u.id
|
||||
where u.website_service_id=#{websiteServiceId}
|
||||
and t.stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_http_statistic),INTERVAL 5 MINUTE)
|
||||
<!-- 根据网站分类 -->
|
||||
<select id="getTypeBywebsite" parameterType="java.lang.Integer" resultType="java.util.HashMap">
|
||||
SELECT web_type webType, (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_http_statistic
|
||||
WHERE web_type !=0 and web_id=#{webId} and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
GROUP BY web_type ORDER BY count limit 0,10
|
||||
</select>
|
||||
<!--获取上个时间段网站流量的数据量 -->
|
||||
<select id="preWebsiteListCount" resultType="java.lang.Integer">
|
||||
SELECT (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count FROM galaxy.traffic_http_statistic
|
||||
WHERE web_type !=0 and web_id=#{webId}
|
||||
and stat_time between DATE_SUB(NOW(),INTERVAL 10 MINUTE) and DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
GROUP BY t.web_id ORDER BY t.link_num limit 0,10
|
||||
</select>
|
||||
<!-- 根据主题分组获取子域名 -->
|
||||
<select id="getDomainByTopicId" resultType="java.util.HashMap">
|
||||
SELECT web_id webId,link_num count,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen
|
||||
FROM galaxy.traffic_http_statistic t
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id=u.id
|
||||
where u.topic_id=#{topicId}
|
||||
and t.stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_http_statistic),INTERVAL 5 MINUTE)
|
||||
GROUP BY t.web_id ORDER BY t.link_num limit 0,10
|
||||
</select>
|
||||
<select id="websiteTypeOthers" resultType="java.util.HashMap">
|
||||
SELECT (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_http_statistic
|
||||
WHERE web_type !=0 and web_id=#{webId}
|
||||
<if test="webType!=null and webType.size()>0">
|
||||
and bs_type not in
|
||||
<foreach collection="webType" item="singleType" index="index" open="(" close=")" separator=",">
|
||||
|
||||
<!-- 指定网站下的TOP10之外为others -->
|
||||
<select id="websiteDomainOthers" resultType="java.util.HashMap">
|
||||
SELECT SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_http_statistic t
|
||||
LEFT JOIN galaxy.ui_website_domain_topic u ON t.web_id=u.id
|
||||
where u.website_service_id=#{websiteServiceId}
|
||||
<if test="webIdList!=null and webIdList.size()>0">
|
||||
and t.web_id not in
|
||||
<foreach collection="webIdList" item="singleType" index="index" open="(" close=")" separator=",">
|
||||
#{singleType}
|
||||
and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
</foreach>
|
||||
</if>
|
||||
and stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_http_statistic),INTERVAL 5 MINUTE)
|
||||
@@ -26,7 +26,7 @@
|
||||
<!-- IP流量统计-->
|
||||
<select id="ipActiveChart" resultType="java.util.LinkedHashMap">
|
||||
SELECT ip_addr ipAddr, SUM(link_num) linkNum ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ip_active_statistic
|
||||
WHERE stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
WHERE stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ip_active_statistic),INTERVAL 5 MINUTE)
|
||||
GROUP BY ip_addr ORDER BY link_num DESC limit 0,10
|
||||
</select>
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.nis.web.dao.dashboard;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.nis.domain.restful.dashboard.TrafficPortActiveStatistic;
|
||||
import com.nis.web.dao.MyBatisDao;
|
||||
@MyBatisDao
|
||||
public interface TrafficPortActiveStatisticDao {
|
||||
|
||||
List<TrafficPortActiveStatistic> getPortActiveList();
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.nis.web.dao.dashboard.TrafficPortActiveStatisticDao">
|
||||
<resultMap id="BaseResultMap" type="com.nis.domain.restful.dashboard.TrafficPortActiveStatistic">
|
||||
<id column="stat_id" jdbcType="INTEGER" property="statId" />
|
||||
<result column="port" jdbcType="INTEGER" property="port" />
|
||||
<result column="sum" jdbcType="INTEGER" property="sum" />
|
||||
<result column="stat_time" jdbcType="TIMESTAMP" property="statTime" />
|
||||
</resultMap>
|
||||
|
||||
<select id="getPortActiveList" resultMap="BaseResultMap">
|
||||
SELECT port ,SUM(sum) sum from galaxy.traffic_port_active_statistic
|
||||
|
||||
WHERE stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_port_active_statistic),INTERVAL 5 MINUTE)
|
||||
GROUP BY port order by sum limit 0,10
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -16,6 +16,7 @@
|
||||
stat_time
|
||||
</sql>
|
||||
<select id="protocolChart" resultType="java.util.HashMap">
|
||||
SELECT proto_type protoType, ( SUM(c2s_pkt_num) + SUM(s2c_pkt_num) + SUM(c2s_byte_len) + SUM(s2c_byte_len)) count, ( SUM(c2s_pkt_num) + SUM(s2c_pkt_num)) pktNum, ( SUM(c2s_byte_len) + SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_protocol_statistic WHERE proto_type != 0 AND stat_time >= DATE_SUB(NOW(), INTERVAL 5 MINUTE) GROUP BY proto_type ORDER BY count DESC LIMIT 0, 10
|
||||
SELECT proto_type protoType, SUM(link_num) count, ( SUM(c2s_pkt_num) + SUM(s2c_pkt_num)) pktNum, ( SUM(c2s_byte_len) + SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_protocol_statistic WHERE proto_type != 0
|
||||
AND stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_protocol_statistic), INTERVAL 5 MINUTE) GROUP BY proto_type ORDER BY count DESC LIMIT 0, 10
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -18,25 +18,25 @@
|
||||
</sql>
|
||||
<!--获取操作系统列表TOP10 -->
|
||||
<select id="systemList" resultMap="BaseResultMap">
|
||||
SELECT os_type osType, (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
SELECT os_type osType, SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic),INTERVAL 5 MINUTE)
|
||||
GROUP BY os_type ORDER BY count DESC limit 0,10
|
||||
</select>
|
||||
<!--获取上个时间段操作系统的数据量 -->
|
||||
<select id="preSystemListCount" resultType="java.lang.Integer">
|
||||
SELECT (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count FROM galaxy.traffic_ua_statistic
|
||||
SELECT SUM(link_num) count FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and os_type=#{osType}
|
||||
and stat_time between DATE_SUB(NOW(),INTERVAL 10 MINUTE) and DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
and stat_time between DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic),INTERVAL 10 MINUTE) and DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic),INTERVAL 5 MINUTE)
|
||||
</select>
|
||||
<!-- 根据操作系统获取浏览器分类 -->
|
||||
<select id="getBrowserBySystem" parameterType="java.lang.Integer" resultType="java.util.HashMap">
|
||||
SELECT bs_type bsType, (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and os_type=#{osType} and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
SELECT bs_type bsType, SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and os_type=#{osType} and stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic),INTERVAL 5 MINUTE)
|
||||
GROUP BY bs_type ORDER BY count DESC limit 0,10
|
||||
</select>
|
||||
<!--浏览器TOP10后所有为others -->
|
||||
<select id="systemOthers" resultType="java.util.HashMap">
|
||||
SELECT (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
SELECT SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and os_type=#{osType}
|
||||
<if test="bsType!=null and bsType.size()>0">
|
||||
and os_type not in
|
||||
@@ -44,30 +44,30 @@
|
||||
#{singleType}
|
||||
</foreach>
|
||||
</if>
|
||||
and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
and stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic),INTERVAL 5 MINUTE)
|
||||
</select>
|
||||
|
||||
<!--获取浏览器列表TOP10 -->
|
||||
<select id="browserList" resultMap="BaseResultMap">
|
||||
SELECT bs_type bsType, (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
SELECT bs_type bsType, SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic),INTERVAL 5 MINUTE)
|
||||
GROUP BY bs_type ORDER BY count DESC limit 0,10
|
||||
</select>
|
||||
<!--获取上个时间段浏览器的数据量 -->
|
||||
<select id="preBrowserListCount" resultType="java.lang.Integer">
|
||||
SELECT (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count FROM galaxy.traffic_ua_statistic
|
||||
SELECT SUM(link_num) count FROM galaxy.traffic_ua_statistic
|
||||
WHERE bs_type !=0 and bs_type=#{bsType}
|
||||
and stat_time between DATE_SUB(NOW(),INTERVAL 10 MINUTE) and DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
and stat_time between DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic),INTERVAL 10 MINUTE) and DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic),INTERVAL 5 MINUTE)
|
||||
</select>
|
||||
<!-- 根据浏览器获取操作系统分类 -->
|
||||
<select id="getSystemBybrowser" parameterType="java.lang.Integer" resultType="java.util.HashMap">
|
||||
SELECT os_type osType, (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and bs_type=#{bsType} and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
SELECT os_type osType, SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and bs_type=#{bsType} and stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic),INTERVAL 5 MINUTE)
|
||||
GROUP BY os_type ORDER BY count DESC limit 0,10
|
||||
</select>
|
||||
<!--操作系统TOP10后所有为others -->
|
||||
<select id="browserOthers" parameterType="java.util.List" resultType="java.util.HashMap">
|
||||
SELECT (SUM(c2s_pkt_num)+SUM(s2c_pkt_num)+SUM(c2s_byte_len)+SUM(s2c_byte_len)) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
SELECT SUM(link_num) count ,(SUM(c2s_pkt_num)+SUM(s2c_pkt_num)) pktNum,(SUM(c2s_byte_len)+SUM(s2c_byte_len)) byteLen FROM galaxy.traffic_ua_statistic
|
||||
WHERE os_type !=0 and bs_type=#{bsType}
|
||||
<if test="osType!=null and osType.size()>0">
|
||||
and bs_type not in
|
||||
@@ -75,6 +75,6 @@
|
||||
#{singleType}
|
||||
</foreach>
|
||||
</if>
|
||||
and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE)
|
||||
and stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_ua_statistic),INTERVAL 5 MINUTE)
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -12,10 +12,13 @@ import org.springframework.stereotype.Service;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.restful.dashboard.TrafficHttpStatistic;
|
||||
import com.nis.domain.restful.dashboard.TrafficIpActiveStatistic;
|
||||
import com.nis.domain.restful.dashboard.TrafficPortActiveStatistic;
|
||||
import com.nis.domain.restful.dashboard.TrafficUaStatistic;
|
||||
import com.nis.web.dao.dashboard.NtcTotalReportDao;
|
||||
import com.nis.web.dao.dashboard.TrafficAppStatisticDao;
|
||||
import com.nis.web.dao.dashboard.TrafficHttpStatisticDao;
|
||||
import com.nis.web.dao.dashboard.TrafficIpActiveStatisticDao;
|
||||
import com.nis.web.dao.dashboard.TrafficPortActiveStatisticDao;
|
||||
import com.nis.web.dao.dashboard.TrafficProtocolStatisticDao;
|
||||
import com.nis.web.dao.dashboard.TrafficUaStatisticDao;
|
||||
import com.nis.web.service.BaseService;
|
||||
@@ -33,6 +36,25 @@ public class DashboardService extends BaseService{
|
||||
public TrafficUaStatisticDao trafficUaStatisticDao;
|
||||
@Autowired
|
||||
public TrafficHttpStatisticDao trafficHttpStatisticDao;
|
||||
@Autowired
|
||||
public NtcTotalReportDao ntcTotalReportDao;
|
||||
@Autowired
|
||||
public TrafficPortActiveStatisticDao trafficPortActiveStatisticDao;
|
||||
|
||||
/**
|
||||
* 流量统计 数据显示
|
||||
* @return Map
|
||||
*/
|
||||
public List<Map> getTotalReportList(){
|
||||
List<Map> totalReportList = ntcTotalReportDao.getTotalReportList();
|
||||
|
||||
return totalReportList;
|
||||
}
|
||||
public List<TrafficPortActiveStatistic> getPortActiveList(){
|
||||
List<TrafficPortActiveStatistic> portActiveList = trafficPortActiveStatisticDao.getPortActiveList();
|
||||
|
||||
return portActiveList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询活跃IPtop100
|
||||
@@ -108,19 +130,21 @@ public class DashboardService extends BaseService{
|
||||
List<Map> result = new ArrayList<Map>();
|
||||
List<TrafficUaStatistic> list = trafficUaStatisticDao.browserList();
|
||||
Integer preCount=0;
|
||||
for (TrafficUaStatistic ua : list) {
|
||||
Map map = new HashMap();
|
||||
map.put("bsType",ua.getBsType());
|
||||
map.put("count",ua.getCount());
|
||||
map.put("pktNum",ua.getPktNum());
|
||||
map.put("byteLen",ua.getByteLen());
|
||||
preCount = trafficUaStatisticDao.preBrowserListCount(ua.getBsType());//上个时段的量 用于与现在对比
|
||||
if(preCount!=null){
|
||||
map.put("preCount",preCount);
|
||||
}else{
|
||||
map.put("preCount",0);
|
||||
if(list!=null&&list.size()>0){
|
||||
for (TrafficUaStatistic ua : list) {
|
||||
Map map = new HashMap();
|
||||
map.put("bsType",ua.getBsType());
|
||||
map.put("count",ua.getCount());
|
||||
map.put("pktNum",ua.getPktNum());
|
||||
map.put("byteLen",ua.getByteLen());
|
||||
preCount = trafficUaStatisticDao.preBrowserListCount(ua.getBsType());//上个时段的量 用于与现在对比
|
||||
if(preCount!=null){
|
||||
map.put("preCount",preCount);
|
||||
}else{
|
||||
map.put("preCount",0);
|
||||
}
|
||||
result.add(map);
|
||||
}
|
||||
result.add(map);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@@ -145,37 +169,91 @@ public class DashboardService extends BaseService{
|
||||
List<Map> result = new ArrayList<Map>();
|
||||
List<TrafficHttpStatistic> list = trafficHttpStatisticDao.websiteList();
|
||||
Integer preCount=0;
|
||||
for (TrafficHttpStatistic website : list) {
|
||||
Map map = new HashMap();
|
||||
map.put("webId",website.getWebId());
|
||||
map.put("count",website.getCount());
|
||||
map.put("pktNum",website.getPktNum());
|
||||
map.put("byteLen",website.getByteLen());
|
||||
preCount = trafficHttpStatisticDao.preWebsiteListCount(website.getWebId());//上个时段的量 用于与现在对比
|
||||
if(preCount!=null){
|
||||
map.put("preCount",preCount);
|
||||
}else{
|
||||
map.put("preCount",0);
|
||||
if(list!=null&&list.size()>0){
|
||||
for (TrafficHttpStatistic website : list) {
|
||||
Map map = new HashMap();
|
||||
map.put("webId",website.getWebId());
|
||||
map.put("count",website.getCount());
|
||||
map.put("pktNum",website.getPktNum());
|
||||
map.put("byteLen",website.getByteLen());
|
||||
preCount = trafficHttpStatisticDao.preWebsiteListCount(website.getWebId());//上个时段的量 用于与现在对比
|
||||
if(preCount!=null){
|
||||
map.put("preCount",preCount);
|
||||
}else{
|
||||
map.put("preCount",0);
|
||||
}
|
||||
result.add(map);
|
||||
}
|
||||
result.add(map);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
public List<Map> getTypeBywebsite(Integer webId ){
|
||||
List<Map> list = trafficHttpStatisticDao.getTypeBywebsite(webId);
|
||||
List webType = new ArrayList();
|
||||
//查询固定网站下的除了TOP10以外的others分类
|
||||
/**
|
||||
* 根据网站服务查询子域名
|
||||
* @param websiteServiceId
|
||||
* @return list
|
||||
*/
|
||||
public List<Map> getDomainByWebsiteServiceId(Integer websiteServiceId ){
|
||||
List<Map> list = trafficHttpStatisticDao.getDomainByWebsiteServiceId(websiteServiceId);
|
||||
List webIdList = new ArrayList();
|
||||
//查询固定网站下的域名除了TOP10以外的others域名
|
||||
if(list!=null&& list.size()>0){
|
||||
for (Map map : list) {
|
||||
webType.add(map.get("webType"));
|
||||
webIdList.add(map.get("webId"));
|
||||
}
|
||||
Map others = new HashMap();
|
||||
others = trafficHttpStatisticDao.websiteTypeOthers(webType,webId);
|
||||
others = trafficHttpStatisticDao.websiteDomainOthers(webIdList,websiteServiceId);
|
||||
if(others!=null&&others.size()>0){
|
||||
others.put("webType", "-1");
|
||||
others.put("webId", "-1");
|
||||
list.add(others);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
获取网站列表
|
||||
* @return
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<Map> getDomainByWebsiteList(){
|
||||
List<TrafficHttpStatistic> websiteList = trafficHttpStatisticDao.getDomainByWebsiteList();
|
||||
List<Map> result = new ArrayList<Map>();
|
||||
if(websiteList!=null&&websiteList.size()>0){
|
||||
Integer preCount=0;
|
||||
for (TrafficHttpStatistic website : websiteList) {
|
||||
Map map = new HashMap();
|
||||
map.put("websiteServiceId",website.getWesiteServiceId());
|
||||
map.put("count",website.getCount());
|
||||
map.put("pktNum",website.getPktNum());
|
||||
map.put("byteLen",website.getByteLen());
|
||||
preCount = trafficHttpStatisticDao.preWebsiteListCount(website.getWebId());//上个时段的量 用于与现在对比
|
||||
if(preCount!=null){
|
||||
map.put("preCount",preCount);
|
||||
}else{
|
||||
map.put("preCount",0);
|
||||
}
|
||||
result.add(map);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
*主题网站分类,域名
|
||||
*
|
||||
* **/
|
||||
public List<Map> getTopicAndDomainList(){
|
||||
//按照主题分类 获得主题
|
||||
List<Map> topicList = trafficHttpStatisticDao.getDomainByTopicList();
|
||||
if(topicList!=null&&topicList.size()>0){
|
||||
for (Map m : topicList) {
|
||||
List<Map> domainList= new ArrayList<Map>();
|
||||
if(m!=null&&m.get("topicId")!=null){
|
||||
domainList = trafficHttpStatisticDao.getDomainByTopicId(m.get("topicId"));
|
||||
m.put("domainData", domainList);
|
||||
}
|
||||
}
|
||||
}
|
||||
return topicList;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user