流量统计app趋势跟apptop100增加isp运营商查询条件
This commit is contained in:
@@ -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> 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));
|
||||
|
||||
@@ -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<String> getIspNum(@Param("ispCode") String ispCode);
|
||||
|
||||
List<SysDeviceInfo> getIspListByIspNum(@Param("ispNum")String ispNum);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,15 @@
|
||||
<mapper namespace="com.nis.web.dao.IspInfoDao">
|
||||
<select id="getIspNum" resultType="java.lang.String">
|
||||
select distinct concat(entrance_id,device_id) as ispNum from ui_sys_device_info where
|
||||
isp=#{ispCode}
|
||||
isp in (${ispCode})
|
||||
</select>
|
||||
<select id="getIspListByIspNum" resultType="com.nis.domain.restful.dashboard.SysDeviceInfo">
|
||||
select distinct d.isp isp ,concat(d.entrance_id,d.device_id) ispNum,isp_key_name ispName from ui_sys_device_info d
|
||||
left join ui_sys_isp_info s on d.isp=s.isp_key_code
|
||||
<where>
|
||||
<if test="ispNum!=null and ispNum!=''">
|
||||
concat(entrance_id,device_id) in (${ispNum})
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -53,19 +53,25 @@
|
||||
<if test="searchEntranceId !=null and searchEntranceId != ''">
|
||||
<![CDATA[and entrance_id=toInt64(#{searchEntranceId}) ]]>
|
||||
</if>
|
||||
<if test="ispNum !=null and ispNum != ''">
|
||||
<![CDATA[and concat(toString(entrance_id),toString(device_id)) in (${ispNum})]]>
|
||||
</if>
|
||||
group by stat_time
|
||||
order by stat_time
|
||||
</select>
|
||||
<!-- App 活跃IP Top100 -->
|
||||
<select id="appConnRecordTop100" parameterType="com.nis.domain.restful.dashboard.AppConnRecordStatistic" resultType="com.nis.domain.restful.dashboard.AppConnRecordStatistic">
|
||||
select s_ip ipAddr, sum(c2s_byte_num + s2c_byte_num) byteNum, sum(c2s_pkt_num + s2c_pkt_num) pktNum, count(s_ip) logNum
|
||||
select s_ip ipAddr,concat(toString(entrance_id),toString(device_id)) ispNum, sum(c2s_byte_num + s2c_byte_num) byteNum, sum(c2s_pkt_num + s2c_pkt_num) pktNum, count(s_ip) logNum
|
||||
from tbs_ods_ntc_conn_record_log t where
|
||||
<![CDATA[ found_time>= toDateTime(#{searchStartTime}) and found_time< toDateTime(#{searchEndTime})
|
||||
and app_id=toInt64(#{searchAppId}) ]]>
|
||||
<if test="searchEntranceId !=null and searchEntranceId != ''">
|
||||
<![CDATA[and entrance_id=toInt64(#{searchEntranceId}) ]]>
|
||||
</if>
|
||||
group by s_ip
|
||||
<if test="ispNum !=null and ispNum != ''">
|
||||
<![CDATA[and concat(toString(entrance_id),toString(device_id)) in (${ispNum})]]>
|
||||
</if>
|
||||
group by s_ip,entrance_id,device_id
|
||||
order by
|
||||
<choose>
|
||||
<when test="searchQuota !=null and searchQuota != '' and searchQuota == 2 ">
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.nis.domain.restful.NtcConnNumReport;
|
||||
import com.nis.domain.restful.NtcEntranceReport;
|
||||
import com.nis.domain.restful.dashboard.AppConnRecordStatistic;
|
||||
import com.nis.domain.restful.dashboard.NtcTotalReport;
|
||||
import com.nis.domain.restful.dashboard.SysDeviceInfo;
|
||||
import com.nis.domain.restful.dashboard.TrafficAppFocusStatistic;
|
||||
import com.nis.domain.restful.dashboard.TrafficAppStatistic;
|
||||
import com.nis.domain.restful.dashboard.TrafficAsnStatistic;
|
||||
@@ -41,6 +42,7 @@ import com.nis.restful.RestServiceException;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DateUtils;
|
||||
import com.nis.util.StringUtils;
|
||||
import com.nis.web.dao.IspInfoDao;
|
||||
import com.nis.web.dao.dashboard.NtcTotalReportDao;
|
||||
import com.nis.web.dao.dashboard.TrafficAppStatisticDao;
|
||||
import com.nis.web.dao.dashboard.TrafficAsnStatisticDao;
|
||||
@@ -71,6 +73,8 @@ public class DashboardService extends BaseService {
|
||||
public TrafficAsnStatisticDao trafficAsnStatisticDao;
|
||||
@Autowired
|
||||
public TrafficPortActiveStatisticDao trafficPortActiveStatisticDao;
|
||||
@Autowired
|
||||
private IspInfoDao ispInfoDao;
|
||||
//ip地址类型
|
||||
private final String[] addrTypes = {"4","6"} ;
|
||||
//tcp udp
|
||||
@@ -1773,4 +1777,29 @@ public class DashboardService extends BaseService {
|
||||
ntcAsnRecord.setPage(page);
|
||||
page.setList(trafficAsnStatisticDao.getTrafficAsnStatisticList(ntcAsnRecord));
|
||||
}
|
||||
/**
|
||||
* 根据ispcode获取当前运营商下所有的entrance_id,device_id,link_id组合
|
||||
*
|
||||
* @param ispCode
|
||||
* @return
|
||||
*/
|
||||
public String getIspNum(String ispCode) {
|
||||
List<String> ispNum = ispInfoDao.getIspNum(ispCode);
|
||||
if (ispNum != null && ispNum.size() > 0) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
for (String ispNumStr : ispNum) {
|
||||
sb.append("'");
|
||||
sb.append(ispNumStr);
|
||||
sb.append("'");
|
||||
sb.append(",");
|
||||
}
|
||||
return sb.substring(0, sb.length() - 1);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<SysDeviceInfo> getIspListByIspNum(String ispNum) {
|
||||
|
||||
return ispInfoDao.getIspListByIspNum(ispNum);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user