diff --git a/src/main/java/com/nis/domain/restful/dashboard/AppConnRecordStatistic.java b/src/main/java/com/nis/domain/restful/dashboard/AppConnRecordStatistic.java index 12055e0..3c4a59b 100644 --- a/src/main/java/com/nis/domain/restful/dashboard/AppConnRecordStatistic.java +++ b/src/main/java/com/nis/domain/restful/dashboard/AppConnRecordStatistic.java @@ -13,6 +13,10 @@ public class AppConnRecordStatistic extends AppTrendEntity{ protected String logPercent; protected String searchQuota="1"; //统计指标 1:连接数 2:包数 3:字节数 + private String searchIspCode;// 运营商 + private String ispName;// 运营商 + private String ispNum;// device_id ,entrance_id 拼接 + public AppConnRecordStatistic() { super(); // TODO Auto-generated constructor stub @@ -20,7 +24,7 @@ public class AppConnRecordStatistic extends AppTrendEntity{ public AppConnRecordStatistic(String ipAddr, Double pktNum, String pktPercent, Double byteNum, String bytePercent, - Double logNum, String logPercent) { + Double logNum, String logPercent,String ispName) { super(); this.ipAddr = ipAddr; this.pktNum = pktNum; @@ -29,6 +33,7 @@ public class AppConnRecordStatistic extends AppTrendEntity{ this.bytePercent = bytePercent; this.logNum = logNum; this.logPercent = logPercent; + this.ispName = ispName; } public String getIpAddr() { @@ -94,5 +99,29 @@ public class AppConnRecordStatistic extends AppTrendEntity{ public void setSearchQuota(String searchQuota) { this.searchQuota = searchQuota; } - + + public String getSearchIspCode() { + return searchIspCode; + } + @JsonIgnore + public void setSearchIspCode(String searchIspCode) { + this.searchIspCode = searchIspCode; + } + @JsonIgnore + public String getIspNum() { + return ispNum; + } + + public void setIspNum(String ispNum) { + this.ispNum = ispNum; + } + + public String getIspName() { + return ispName; + } + + public void setIspName(String ispName) { + this.ispName = ispName; + } + } diff --git a/src/main/java/com/nis/domain/restful/dashboard/SysDeviceInfo.java b/src/main/java/com/nis/domain/restful/dashboard/SysDeviceInfo.java new file mode 100644 index 0000000..7fe7cfc --- /dev/null +++ b/src/main/java/com/nis/domain/restful/dashboard/SysDeviceInfo.java @@ -0,0 +1,92 @@ +package com.nis.domain.restful.dashboard; + +import java.io.Serializable; +import java.util.Date; + +public class SysDeviceInfo implements Serializable { + + /** + * + */ + private static final long serialVersionUID = 2642565275696732948L; + private Long id; + private String deviceType;// '设备类型', + private String ipAddr;// 通信运营商编码, + private Integer deviceId;//'设备ID,相同设备可对应多个运营商', + private Integer linkId;//'链路号索引', + private Integer isp;//'运营商编码,例如ktel-mxpe:1001', + private Integer entranceId;// '地域 1-astana 2-alamty', + private Integer status;// '0-未接入 1-接入 2-部分接入', + private Date createTime; + + private String ispNum; + private String ispName;//'运营商', + + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + public String getDeviceType() { + return deviceType; + } + public void setDeviceType(String deviceType) { + this.deviceType = deviceType; + } + public String getIpAddr() { + return ipAddr; + } + public void setIpAddr(String ipAddr) { + this.ipAddr = ipAddr; + } + public Integer getDeviceId() { + return deviceId; + } + public void setDeviceId(Integer deviceId) { + this.deviceId = deviceId; + } + public Integer getLinkId() { + return linkId; + } + public void setLinkId(Integer linkId) { + this.linkId = linkId; + } + public Integer getIsp() { + return isp; + } + public void setIsp(Integer isp) { + this.isp = isp; + } + public Integer getEntranceId() { + return entranceId; + } + public void setEntranceId(Integer entranceId) { + this.entranceId = entranceId; + } + public Integer getStatus() { + return status; + } + public void setStatus(Integer status) { + this.status = status; + } + public Date getCreateTime() { + return createTime; + } + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + public String getIspNum() { + return ispNum; + } + public void setIspNum(String ispNum) { + this.ispNum = ispNum; + } + public String getIspName() { + return ispName; + } + public void setIspName(String ispName) { + this.ispName = ispName; + } + +} diff --git a/src/main/java/com/nis/domain/restful/dashboard/TrafficAppFocusStatistic.java b/src/main/java/com/nis/domain/restful/dashboard/TrafficAppFocusStatistic.java index b388952..f1b12c5 100644 --- a/src/main/java/com/nis/domain/restful/dashboard/TrafficAppFocusStatistic.java +++ b/src/main/java/com/nis/domain/restful/dashboard/TrafficAppFocusStatistic.java @@ -2,11 +2,16 @@ package com.nis.domain.restful.dashboard; import java.util.Date; +import com.fasterxml.jackson.annotation.JsonIgnore; + public class TrafficAppFocusStatistic extends AppTrendEntity{ private Date time; private Long sipNum; private Long dipNum; + + private String searchIspCode;// 运营商 + private String ispNum;// device_id ,entrance_id 拼接 public Date getTime() { return time; @@ -26,4 +31,18 @@ public class TrafficAppFocusStatistic extends AppTrendEntity{ public void setDipNum(Long dipNum) { this.dipNum = dipNum; } + public String getSearchIspCode() { + return searchIspCode; + } + public void setSearchIspCode(String searchIspCode) { + this.searchIspCode = searchIspCode; + } + @JsonIgnore + public String getIspNum() { + return ispNum; + } + public void setIspNum(String ispNum) { + this.ispNum = ispNum; + } + } 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 72d616d..837d7fb 100644 --- a/src/main/java/com/nis/web/controller/restful/DashboardServiceController.java +++ b/src/main/java/com/nis/web/controller/restful/DashboardServiceController.java @@ -26,6 +26,7 @@ import com.nis.domain.restful.NtcConnNumReport; import com.nis.domain.restful.NtcRadiusReport; import com.nis.domain.restful.dashboard.AppConnRecordStatistic; import com.nis.domain.restful.dashboard.AppTrendEntity; +import com.nis.domain.restful.dashboard.SysDeviceInfo; import com.nis.domain.restful.dashboard.TrafficAppFocusStatistic; import com.nis.domain.restful.dashboard.TrafficAsnStatistic; import com.nis.restful.RestBusinessCode; @@ -1018,6 +1019,10 @@ public class DashboardServiceController extends BaseRestController { entity.setSearchStartTime(map.get("startTime")); entity.setSearchEndTime(map.get("endTime")); } + if(StringUtils.isNotBlank(entity.getSearchIspCode())){ + String ispNum = dashboardService.getIspNum(entity.getSearchIspCode()); + entity.setIspNum(ispNum); + } //将数据源切换到本地clickhouse CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_B); resultMap = dashboardService.getAppTrend(entity); @@ -1070,9 +1075,28 @@ public class DashboardServiceController extends BaseRestController { entity.setSearchStartTime(map.get("startTime")); entity.setSearchEndTime(map.get("endTime")); } + // 查询运营商编码所对应的设备号跟出入口编号 + String ispNum=""; + if(StringUtils.isNotBlank(entity.getSearchIspCode())){ + ispNum = dashboardService.getIspNum(entity.getSearchIspCode()); + entity.setIspNum(ispNum); + } + List sysDeviceInfo =dashboardService.getIspListByIspNum(ispNum); CustomerContextHolder.setCustomerType(CustomerContextHolder.DATA_SOURCE_B); list = dashboardService.appConnRecordTop100(entity); + // 设置运营商编码 + if(list!=null&&list.size()>0&&sysDeviceInfo!=null&&sysDeviceInfo.size()>0){ + for (AppConnRecordStatistic app : list) { + for (SysDeviceInfo device : sysDeviceInfo) { + if((app.getIspNum().trim()).equals(device.getIspNum().trim())){ + app.setIspName(device.getIspName()); + break; + } + } + } + } CustomerContextHolder.clearCustomerType(); + } catch (Exception e) { auditLogThread.setExceptionInfo("App通联关系Top100数据检索失败:" + e.getMessage()); logger.error("App通联关系Top100检索失败:" + ExceptionUtil.getExceptionMsg(e)); diff --git a/src/main/java/com/nis/web/dao/IspInfoDao.java b/src/main/java/com/nis/web/dao/IspInfoDao.java index bcc1e14..92ea0ae 100644 --- a/src/main/java/com/nis/web/dao/IspInfoDao.java +++ b/src/main/java/com/nis/web/dao/IspInfoDao.java @@ -4,6 +4,8 @@ import java.util.List; import org.apache.ibatis.annotations.Param; +import com.nis.domain.restful.dashboard.SysDeviceInfo; + /** * * @ClassName:IspInfoDao @@ -16,4 +18,6 @@ import org.apache.ibatis.annotations.Param; public interface IspInfoDao { List getIspNum(@Param("ispCode") String ispCode); + + List getIspListByIspNum(@Param("ispNum")String ispNum); } diff --git a/src/main/java/com/nis/web/dao/IspInfoDao.xml b/src/main/java/com/nis/web/dao/IspInfoDao.xml index 1eff3b8..38bb040 100644 --- a/src/main/java/com/nis/web/dao/IspInfoDao.xml +++ b/src/main/java/com/nis/web/dao/IspInfoDao.xml @@ -3,6 +3,15 @@ + \ 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 0863917..1f279ff 100644 --- a/src/main/java/com/nis/web/dao/dashboard/TrafficAppStatisticDao.xml +++ b/src/main/java/com/nis/web/dao/dashboard/TrafficAppStatisticDao.xml @@ -53,19 +53,25 @@ + + + group by stat_time order by stat_time