From 75e414b7e6b7a10c8d206c6cdd395d954cd6be06 Mon Sep 17 00:00:00 2001 From: zhangdongxu Date: Thu, 27 Dec 2018 17:18:47 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=AD=A3=E6=B5=81=E9=87=8F?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E4=BA=8C=E7=BA=A7=E9=A1=B5=E9=9D=A2=E8=B6=8B?= =?UTF-8?q?=E5=8A=BF=E5=9B=BE=E7=BB=9F=E8=AE=A1=E6=98=AF=E4=B8=AD=EF=BC=8C?= =?UTF-8?q?=E6=9C=80=E5=90=8E=E4=B8=80=E4=B8=AA=E7=82=B9=E8=A1=A50?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B=202=E3=80=81=E6=B5=81?= =?UTF-8?q?=E9=87=8F=E7=BB=9F=E8=AE=A1=E4=B8=AD=E5=9F=9F=E5=90=8D=E5=92=8C?= =?UTF-8?q?=E5=B0=81=E5=A0=B5=E3=80=81=E7=9B=91=E6=B5=8B=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E4=BA=8C=E7=BA=A7=E7=95=8C=E9=9D=A2=EF=BC=8C=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=AE=B5=E5=86=85=E6=97=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=9A=84=E7=9B=B4=E6=8E=A5=E8=BF=94=E5=9B=9E=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E6=8C=89=E6=97=B6=E9=97=B4=E8=A1=A50=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/service/restful/DashboardService.java | 195 +++++++++--------- 1 file changed, 100 insertions(+), 95 deletions(-) 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 7eb36af..814be38 100644 --- a/src/main/java/com/nis/web/service/restful/DashboardService.java +++ b/src/main/java/com/nis/web/service/restful/DashboardService.java @@ -395,67 +395,69 @@ public class DashboardService extends BaseService { entrance1 = ntcTotalReportDao.getActionTrans(begin, end, 1, sql); entrance2 = ntcTotalReportDao.getActionTrans(begin, end, 2, sql); - Map m = new HashMap(); - Date beginDate = DateUtils.parseDate(begin); - Date endDate = DateUtils.parseDate(end); - - List dateRangeList = new ArrayList(); - List strDateRangeList = new ArrayList(); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(beginDate); - SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm"); - while (calendar.getTime().compareTo(endDate) <= 0) { - dateRangeList.add(calendar.getTime()); - strDateRangeList.add(sdf.format(calendar.getTime())); - calendar.add(Calendar.MINUTE, 5); - } - // 存放每个时间点的总数 - Map> ipCountListMap = new HashMap>(); - int index = 0; - List sumList1 = new ArrayList(); - List sumList2 = new ArrayList(); - for (int i = 0; i < dateRangeList.size(); i++) { - // 存放一个时间点中总数 - Map ipCountMap = new HashMap(); - Date date = dateRangeList.get(i); - Long num1 = 0L; - Long num2 = 0L; - for (int j = index; j < entrance1.size(); j++) { - NtcEntranceReport ipInfo = entrance1.get(j); - if (ipInfo.getReportTime() != null) { - if (ipInfo.getReportTime().compareTo(date) >= 0 && (i + 1 < dateRangeList.size() - && ipInfo.getReportTime().compareTo(dateRangeList.get(i + 1)) < 0)) { - num1 = num1 + ipInfo.getSum(); - } else { - index = j; - break; + if(!StringUtil.isEmpty(entrance1)||!StringUtil.isEmpty(entrance2)){ + Map m = new HashMap(); + Date beginDate = DateUtils.parseDate(begin); + Date endDate = DateUtils.parseDate(end); + + List dateRangeList = new ArrayList(); + List strDateRangeList = new ArrayList(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(beginDate); + SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm"); + while (calendar.getTime().compareTo(endDate) < 0) { + dateRangeList.add(calendar.getTime()); + strDateRangeList.add(sdf.format(calendar.getTime())); + calendar.add(Calendar.MINUTE, 5); + } + // 存放每个时间点的总数 + Map> ipCountListMap = new HashMap>(); + int index = 0; + List sumList1 = new ArrayList(); + List sumList2 = new ArrayList(); + for (int i = 0; i < dateRangeList.size(); i++) { + // 存放一个时间点中总数 + Map ipCountMap = new HashMap(); + Date date = dateRangeList.get(i); + Long num1 = 0L; + Long num2 = 0L; + for (int j = index; j < entrance1.size(); j++) { + NtcEntranceReport ipInfo = entrance1.get(j); + if (ipInfo.getReportTime() != null) { + if (ipInfo.getReportTime().compareTo(date) >= 0 && (i + 1 < dateRangeList.size() + && ipInfo.getReportTime().compareTo(dateRangeList.get(i + 1)) < 0)) { + num1 = num1 + ipInfo.getSum(); + } else { + index = j; + break; + } } } - } - sumList1.add(num1); - for (int j = index; j < entrance2.size(); j++) { - NtcEntranceReport ipInfo = entrance2.get(j); - if (ipInfo.getReportTime() != null) { - if (ipInfo.getReportTime().compareTo(date) >= 0 && (i + 1 < dateRangeList.size() - && ipInfo.getReportTime().compareTo(dateRangeList.get(i + 1)) < 0)) { - num2 = num2 + ipInfo.getSum(); - } else { - index = j; - break; + sumList1.add(num1); + for (int j = index; j < entrance2.size(); j++) { + NtcEntranceReport ipInfo = entrance2.get(j); + if (ipInfo.getReportTime() != null) { + if (ipInfo.getReportTime().compareTo(date) >= 0 && (i + 1 < dateRangeList.size() + && ipInfo.getReportTime().compareTo(dateRangeList.get(i + 1)) < 0)) { + num2 = num2 + ipInfo.getSum(); + } else { + index = j; + break; + } } } + sumList2.add(num2); } - sumList2.add(num2); + // 整合 count time + m1.put("count", sumList1); + m1.put("statTime", strDateRangeList); + m1.put("entranceId", 1); + m2.put("count", sumList2);// + m2.put("statTime", strDateRangeList); + m2.put("entranceId", 2); + listMap.add(m1); + listMap.add(m2); } - // 整合 count time - m1.put("count", sumList1); - m1.put("statTime", strDateRangeList); - m1.put("entranceId", 1); - m2.put("count", sumList2);// - m2.put("statTime", strDateRangeList); - m2.put("entranceId", 2); - listMap.add(m1); - listMap.add(m2); return listMap; } @@ -542,7 +544,7 @@ public class DashboardService extends BaseService { Calendar calendar = Calendar.getInstance(); calendar.setTime(beginDate); SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm"); - while (calendar.getTime().compareTo(endDate) <= 0) { + while (calendar.getTime().compareTo(endDate) < 0) { dateRangeList.add(calendar.getTime()); strDateRangeList.add(sdf.format(calendar.getTime())); calendar.add(Calendar.MINUTE, 5); @@ -1264,7 +1266,7 @@ public class DashboardService extends BaseService { Calendar calendar = Calendar.getInstance(); calendar.setTime(startTime); - while (calendar.getTime().compareTo(endTime) <= 0) { + while (calendar.getTime().compareTo(endTime) < 0) { dateRangeList.add(calendar.getTime()); strDateRangeList.add(sdf2.format(calendar.getTime())); calendar.add(Calendar.MINUTE, 5); @@ -1400,47 +1402,50 @@ public class DashboardService extends BaseService { public List getDomainTrans2(String begin, String end, Integer domain, Integer entranceId) { List domainList = new ArrayList(); domainList = trafficHttpStatisticDao.getDomainTrans(entranceId, begin, end, domain); - Date beginDate = DateUtils.parseDate(begin); - Date endDate = DateUtils.parseDate(end); List listMap = new ArrayList(); - List dateRangeList = new ArrayList(); - List strDateRangeList = new ArrayList(); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(beginDate); - SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm"); - while (calendar.getTime().compareTo(endDate) <= 0) { - dateRangeList.add(calendar.getTime()); - strDateRangeList.add(sdf.format(calendar.getTime())); - calendar.add(Calendar.MINUTE, 5); - } - // 存放每个时间点的总数 - Map> ipCountListMap = new HashMap>(); - int index = 0; - List countList = new ArrayList(); - for (int i = 0; i < dateRangeList.size(); i++) { - // 存放一个时间点中总数 - Map ipCountMap = new HashMap(); - Date date = dateRangeList.get(i); - Long num = 0L; - for (int j = index; j < domainList.size(); j++) { - TrafficHttpFocusStatistic ipInfo = domainList.get(j); - if (ipInfo.getStatTime() != null) { - if (ipInfo.getStatTime().compareTo(date) >= 0 && (i + 1 < dateRangeList.size() - && ipInfo.getStatTime().compareTo(dateRangeList.get(i + 1)) < 0)) { - num = num + ipInfo.getCount(); - } else { - index = j; - break; + if(!StringUtil.isEmpty(domainList)){ + Date beginDate = DateUtils.parseDate(begin); + Date endDate = DateUtils.parseDate(end); + + List dateRangeList = new ArrayList(); + List strDateRangeList = new ArrayList(); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(beginDate); + SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm"); + while (calendar.getTime().compareTo(endDate) < 0) { + dateRangeList.add(calendar.getTime()); + strDateRangeList.add(sdf.format(calendar.getTime())); + calendar.add(Calendar.MINUTE, 5); + } + // 存放每个时间点的总数 + Map> ipCountListMap = new HashMap>(); + int index = 0; + List countList = new ArrayList(); + for (int i = 0; i < dateRangeList.size(); i++) { + // 存放一个时间点中总数 + Map ipCountMap = new HashMap(); + Date date = dateRangeList.get(i); + Long num = 0L; + for (int j = index; j < domainList.size(); j++) { + TrafficHttpFocusStatistic ipInfo = domainList.get(j); + if (ipInfo.getStatTime() != null) { + if (ipInfo.getStatTime().compareTo(date) >= 0 && (i + 1 < dateRangeList.size() + && ipInfo.getStatTime().compareTo(dateRangeList.get(i + 1)) < 0)) { + num = num + ipInfo.getCount(); + } else { + index = j; + break; + } } } + countList.add(num); } - countList.add(num); + // 整合 count time + HashMap ipTrafficMap = new HashMap(); + ipTrafficMap.put("count", countList); + ipTrafficMap.put("statTime", strDateRangeList); + listMap.add(ipTrafficMap); } - // 整合 count time - HashMap ipTrafficMap = new HashMap(); - ipTrafficMap.put("count", countList); - ipTrafficMap.put("statTime", strDateRangeList); - listMap.add(ipTrafficMap); return listMap; } @@ -1479,7 +1484,7 @@ public class DashboardService extends BaseService { Calendar calendar = Calendar.getInstance(); calendar.setTime(beginDate1); SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm"); - while (calendar.getTime().compareTo(endDate1) <= 0) { + while (calendar.getTime().compareTo(endDate1) < 0) { dateRangeList.add(calendar.getTime()); strDateRangeList.add(sdf.format(calendar.getTime())); calendar.add(Calendar.MINUTE, 5); @@ -1580,7 +1585,7 @@ public class DashboardService extends BaseService { Calendar calendar = Calendar.getInstance(); calendar.setTime(beginDate); SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm"); - while (calendar.getTime().compareTo(endDate)<=0) { + while (calendar.getTime().compareTo(endDate)<0) { dateRangeList.add(calendar.getTime()); strDateRangeList.add(sdf.format(calendar.getTime())); calendar.add(Calendar.MINUTE, 5);