diff --git a/src/main/java/com/nis/domain/restful/dashboard/NtcTotalReport.java b/src/main/java/com/nis/domain/restful/dashboard/NtcTotalReport.java new file mode 100644 index 0000000..7c637e1 --- /dev/null +++ b/src/main/java/com/nis/domain/restful/dashboard/NtcTotalReport.java @@ -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; + } + +} \ No newline at end of file diff --git a/src/main/java/com/nis/domain/restful/dashboard/TrafficHttpStatistic.java b/src/main/java/com/nis/domain/restful/dashboard/TrafficHttpStatistic.java index e928204..9fadebf 100644 --- a/src/main/java/com/nis/domain/restful/dashboard/TrafficHttpStatistic.java +++ b/src/main/java/com/nis/domain/restful/dashboard/TrafficHttpStatistic.java @@ -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; } diff --git a/src/main/java/com/nis/domain/restful/dashboard/TrafficPortActiveStatistic.java b/src/main/java/com/nis/domain/restful/dashboard/TrafficPortActiveStatistic.java new file mode 100644 index 0000000..98b3592 --- /dev/null +++ b/src/main/java/com/nis/domain/restful/dashboard/TrafficPortActiveStatistic.java @@ -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; + } + + +} diff --git a/src/main/java/com/nis/domain/restful/dashboard/WebsiteDomainTopic.java b/src/main/java/com/nis/domain/restful/dashboard/WebsiteDomainTopic.java new file mode 100644 index 0000000..03319b4 --- /dev/null +++ b/src/main/java/com/nis/domain/restful/dashboard/WebsiteDomainTopic.java @@ -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; + } + + +} diff --git a/src/main/java/com/nis/web/controller/restful/DashboardServiceController.java b/src/main/java/com/nis/web/controller/restful/DashboardServiceController.java index 78f371c..2c6ec57 100644 --- a/src/main/java/com/nis/web/controller/restful/DashboardServiceController.java +++ b/src/main/java/com/nis/web/controller/restful/DashboardServiceController.java @@ -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 ntcTotalReport(Model model, HttpServletRequest request, HttpServletResponse response) { + + long start = System.currentTimeMillis(); + AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null); + List list = new ArrayList(); + try { + List 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 trafficPortActive(Model model, HttpServletRequest request, HttpServletResponse response) { + + long start = System.currentTimeMillis(); + AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null); + List list = new ArrayList(); + try { + List 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 list = new ArrayList(); try { - List websiteChart = dashboardService.websiteList(); +// List websiteChart = dashboardService.websiteList(); + List 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 trafficWebTypeChart(Integer webId,Model model, HttpServletRequest request, HttpServletResponse response) { + public Map trafficWebTypeChart(Integer websiteServiceId,Model model, HttpServletRequest request, HttpServletResponse response) { long start = System.currentTimeMillis(); AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null); List list = new ArrayList(); try { - List websiteChart = dashboardService.getTypeBywebsite(webId); + List 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 trafficTopicAndDomainChart(Integer websiteServiceId,Model model, HttpServletRequest request, HttpServletResponse response) { + + long start = System.currentTimeMillis(); + AuditLogThread auditLogThread = super.saveRequestLog(servicesRequestLogService, Constants.OPACTION_GET, request, null); + List list = new ArrayList(); + try { + List 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); + } } diff --git a/src/main/java/com/nis/web/dao/dashboard/NtcTotalReportDao.java b/src/main/java/com/nis/web/dao/dashboard/NtcTotalReportDao.java new file mode 100644 index 0000000..052222e --- /dev/null +++ b/src/main/java/com/nis/web/dao/dashboard/NtcTotalReportDao.java @@ -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 getTotalReportList(); +} \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/dashboard/NtcTotalReportDao.xml b/src/main/java/com/nis/web/dao/dashboard/NtcTotalReportDao.xml new file mode 100644 index 0000000..d1db7af --- /dev/null +++ b/src/main/java/com/nis/web/dao/dashboard/NtcTotalReportDao.xml @@ -0,0 +1,24 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/dashboard/TrafficAppStatisticDao.xml b/src/main/java/com/nis/web/dao/dashboard/TrafficAppStatisticDao.xml index 5b9b810..58d7348 100644 --- a/src/main/java/com/nis/web/dao/dashboard/TrafficAppStatisticDao.xml +++ b/src/main/java/com/nis/web/dao/dashboard/TrafficAppStatisticDao.xml @@ -16,8 +16,9 @@ stat_time \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/dashboard/TrafficHttpStatisticDao.java b/src/main/java/com/nis/web/dao/dashboard/TrafficHttpStatisticDao.java index 7fca504..5d909e2 100644 --- a/src/main/java/com/nis/web/dao/dashboard/TrafficHttpStatisticDao.java +++ b/src/main/java/com/nis/web/dao/dashboard/TrafficHttpStatisticDao.java @@ -10,10 +10,14 @@ import com.nis.web.dao.MyBatisDao; @MyBatisDao public interface TrafficHttpStatisticDao { List websiteList(); - - List getTypeBywebsite(@Param("webId") Integer webId); - Map websiteTypeOthers(@Param("webType") List webType,@Param("webId") Integer webId); - + //获取域名分类之后属于的网站 + List getDomainByWebsiteList(); Integer preWebsiteListCount(@Param("webId") Integer webId); + List getDomainByWebsiteServiceId(@Param("websiteServiceId") Integer websiteServiceId); + Map websiteDomainOthers(@Param("webIdList") List webIdList,@Param("websiteServiceId") Integer websiteServiceId); + + List getDomainByTopicList(); + + List getDomainByTopicId(@Param("topicId")Object TopicId); } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/dashboard/TrafficHttpStatisticDao.xml b/src/main/java/com/nis/web/dao/dashboard/TrafficHttpStatisticDao.xml index a2db696..6d37288 100644 --- a/src/main/java/com/nis/web/dao/dashboard/TrafficHttpStatisticDao.xml +++ b/src/main/java/com/nis/web/dao/dashboard/TrafficHttpStatisticDao.xml @@ -3,7 +3,7 @@ - + @@ -15,34 +15,64 @@ stat_id, web_type, web_id, c2s_pkt_num, s2c_pkt_num, c2s_byte_len, s2c_byte_len, stat_time + + + + + - + 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) + GROUP BY t.web_id ORDER BY t.link_num limit 0,10 - - - - + 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 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} + + and t.web_id not in + #{singleType} - and stat_time >= DATE_SUB(NOW(),INTERVAL 5 MINUTE) + and stat_time >= DATE_SUB((SELECT MAX(stat_time) FROM galaxy.traffic_http_statistic),INTERVAL 5 MINUTE) \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/dashboard/TrafficIpActiveStatisticDao.xml b/src/main/java/com/nis/web/dao/dashboard/TrafficIpActiveStatisticDao.xml index 3c6e416..fc311f5 100644 --- a/src/main/java/com/nis/web/dao/dashboard/TrafficIpActiveStatisticDao.xml +++ b/src/main/java/com/nis/web/dao/dashboard/TrafficIpActiveStatisticDao.xml @@ -26,7 +26,7 @@ diff --git a/src/main/java/com/nis/web/dao/dashboard/TrafficPortActiveStatisticDao.java b/src/main/java/com/nis/web/dao/dashboard/TrafficPortActiveStatisticDao.java new file mode 100644 index 0000000..bf02dfe --- /dev/null +++ b/src/main/java/com/nis/web/dao/dashboard/TrafficPortActiveStatisticDao.java @@ -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 getPortActiveList(); +} \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/dashboard/TrafficPortActiveStatisticDao.xml b/src/main/java/com/nis/web/dao/dashboard/TrafficPortActiveStatisticDao.xml new file mode 100644 index 0000000..ef418ad --- /dev/null +++ b/src/main/java/com/nis/web/dao/dashboard/TrafficPortActiveStatisticDao.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/dashboard/TrafficProtocolStatisticDao.xml b/src/main/java/com/nis/web/dao/dashboard/TrafficProtocolStatisticDao.xml index f12e4ab..d30a2ec 100644 --- a/src/main/java/com/nis/web/dao/dashboard/TrafficProtocolStatisticDao.xml +++ b/src/main/java/com/nis/web/dao/dashboard/TrafficProtocolStatisticDao.xml @@ -16,6 +16,7 @@ stat_time \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/dashboard/TrafficUaStatisticDao.xml b/src/main/java/com/nis/web/dao/dashboard/TrafficUaStatisticDao.xml index ac8713b..2d6ffb2 100644 --- a/src/main/java/com/nis/web/dao/dashboard/TrafficUaStatisticDao.xml +++ b/src/main/java/com/nis/web/dao/dashboard/TrafficUaStatisticDao.xml @@ -18,25 +18,25 @@ \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/restful/DashboardService.java b/src/main/java/com/nis/web/service/restful/DashboardService.java index a84fe70..cdbf179 100644 --- a/src/main/java/com/nis/web/service/restful/DashboardService.java +++ b/src/main/java/com/nis/web/service/restful/DashboardService.java @@ -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 getTotalReportList(){ + List totalReportList = ntcTotalReportDao.getTotalReportList(); + + return totalReportList; + } + public List getPortActiveList(){ + List portActiveList = trafficPortActiveStatisticDao.getPortActiveList(); + + return portActiveList; + } /** * 分页查询活跃IPtop100 @@ -108,19 +130,21 @@ public class DashboardService extends BaseService{ List result = new ArrayList(); List 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 result = new ArrayList(); List 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 getTypeBywebsite(Integer webId ){ - List list = trafficHttpStatisticDao.getTypeBywebsite(webId); - List webType = new ArrayList(); - //查询固定网站下的除了TOP10以外的others分类 + /** + * 根据网站服务查询子域名 + * @param websiteServiceId + * @return list + */ + public List getDomainByWebsiteServiceId(Integer websiteServiceId ){ + List 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 getDomainByWebsiteList(){ + List websiteList = trafficHttpStatisticDao.getDomainByWebsiteList(); + List result = new ArrayList(); + 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 getTopicAndDomainList(){ + //按照主题分类 获得主题 + List topicList = trafficHttpStatisticDao.getDomainByTopicList(); + if(topicList!=null&&topicList.size()>0){ + for (Map m : topicList) { + List domainList= new ArrayList(); + if(m!=null&&m.get("topicId")!=null){ + domainList = trafficHttpStatisticDao.getDomainByTopicId(m.get("topicId")); + m.put("domainData", domainList); + } + } + } + return topicList; + } }