diff --git a/src/main/java/com/nis/domain/restful/NtcRadiusReport.java b/src/main/java/com/nis/domain/restful/NtcRadiusReport.java index 9eeb38d..c992d44 100644 --- a/src/main/java/com/nis/domain/restful/NtcRadiusReport.java +++ b/src/main/java/com/nis/domain/restful/NtcRadiusReport.java @@ -1,10 +1,13 @@ package com.nis.domain.restful; import java.io.Serializable; +import java.util.Date; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.nis.util.JsonDateSerializer; import com.wordnik.swagger.annotations.ApiModelProperty; public class NtcRadiusReport implements Serializable{ @@ -21,7 +24,7 @@ public class NtcRadiusReport implements Serializable{ protected Long num; @JsonInclude(value = Include.NON_NULL) @ApiModelProperty(value = "统计时间", required = true) - protected String reportTime; + protected Date reportTime; /** * 业务类型:1:用户名和接口IP列表 2:根据用户,统计IP变化趋势 3:IP根据,统计用户变化趋势 @@ -59,12 +62,12 @@ public class NtcRadiusReport implements Serializable{ public void setNum(Long num) { this.num = num; } - - public String getReportTime() { + @JsonSerialize(using = JsonDateSerializer.class) + public Date getReportTime() { return reportTime; } - public void setReportTime(String reportTime) { + public void setReportTime(Date reportTime) { this.reportTime = reportTime; } diff --git a/src/main/java/com/nis/web/controller/restful/SingleDimensionReport.java b/src/main/java/com/nis/web/controller/restful/SingleDimensionReport.java index 0408102..e8b5cc6 100644 --- a/src/main/java/com/nis/web/controller/restful/SingleDimensionReport.java +++ b/src/main/java/com/nis/web/controller/restful/SingleDimensionReport.java @@ -369,7 +369,6 @@ public class SingleDimensionReport extends BaseRestController { ntcReportService.checkNtcRadiusReportCondition(saveLogThread, start, ntcRadiusReport); - setGroupType(ntcRadiusReport); dataList= ntcReportService.findNtcRadiusReport(ntcRadiusReport); } catch (Exception e) { saveLogThread.setExceptionInfo(e.getMessage() + " " + e.getCause()); @@ -421,25 +420,4 @@ public class SingleDimensionReport extends BaseRestController { entity.setSearchReportEndTime(map.get("endTime")); } } - - /** - * @Description: - * @author(zdx) - * @date 2018年10月31日 下午2:43:13 - * @param ntcRadiusReport - * @throws Exception - */ - public void setGroupType(NtcRadiusReport ntcRadiusReport) throws Exception { - String groupType ="hour"; - if (!(StringUtil.isEmpty(ntcRadiusReport.getSearchReportStartTime())&&StringUtil.isEmpty(ntcRadiusReport.getSearchReportEndTime()))) { - Long times = DateUtil.convertStringToTimestamp(ntcRadiusReport.getSearchReportEndTime(), DateUtil.YYYY_MM_DD_HH24_MM_SS)-DateUtil.convertStringToTimestamp(ntcRadiusReport.getSearchReportStartTime(), DateUtil.YYYY_MM_DD_HH24_MM_SS); - if (times>24*60*60L&×<=30*24*60*60L) { - groupType ="day"; - }else if(times>30*24*60*60L){ - groupType ="month"; - } - } - - ntcRadiusReport.setGroupType(groupType); - } } diff --git a/src/main/java/com/nis/web/dao/NtcReportDao.xml b/src/main/java/com/nis/web/dao/NtcReportDao.xml index de38634..575ddcb 100644 --- a/src/main/java/com/nis/web/dao/NtcReportDao.xml +++ b/src/main/java/com/nis/web/dao/NtcReportDao.xml @@ -645,20 +645,7 @@ \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/restful/NtcReportService.java b/src/main/java/com/nis/web/service/restful/NtcReportService.java index f957a9c..7cb2976 100644 --- a/src/main/java/com/nis/web/service/restful/NtcReportService.java +++ b/src/main/java/com/nis/web/service/restful/NtcReportService.java @@ -1,5 +1,7 @@ package com.nis.web.service.restful; +import java.beans.PropertyDescriptor; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -108,7 +110,6 @@ public class NtcReportService extends BaseLogService { public List findNtcRadiusReport(NtcRadiusReport entity) throws Exception { List resultList = null; - if ("1".equals(entity.getSearchBusinessType())) { resultList = new ArrayList(); Map> restMap = new HashMap>(); @@ -118,10 +119,33 @@ public class NtcReportService extends BaseLogService { restMap.put("nasIpList", nasIpList); resultList.add(restMap); }else{ - resultList = dao.findNtcRadiusReport(entity); + resultList = new ArrayList(); + List list = dao.findNtcRadiusReport(entity); + + String regionName = "nasIp"; + if ("3".equals(entity.getSearchBusinessType())) { + regionName="account"; + } + PropertyDescriptor pd= new PropertyDescriptor(regionName, NtcRadiusReport.class); + Method method = pd.getReadMethod(); + NtcRadiusReport temp = null; + Object tempVal =null; + for (int i = 0; i < list.size(); i++) { + if (i>0) { + NtcRadiusReport obj = list.get(i); + Object objVal = method.invoke(obj); + if (objVal!=null && tempVal!=null && !objVal.toString().equals(tempVal.toString())) { + temp = obj; + tempVal = method.invoke(temp); + resultList.add(obj); + } + }else{ + temp = list.get(i); + tempVal = method.invoke(temp); + resultList.add(list.get(i)); + } + } } - return resultList; - } }