Merge branch 'develop' of http://192.168.10.125/k18_web/NFS.git into develop
This commit is contained in:
@@ -37,7 +37,6 @@ import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
|
||||
import org.apache.http.util.EntityUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.Encodes;
|
||||
@@ -69,10 +68,9 @@ public class HttpClientUtil {
|
||||
URIBuilder uriBuilder = new URIBuilder(destUrl);
|
||||
System.err.println(uriBuilder);
|
||||
url=uriBuilder.toString();
|
||||
logger.info("流量统计数据请求路径:"+url);
|
||||
logger.debug("流量统计数据请求路径:"+url);
|
||||
//创建连接
|
||||
WebTarget wt = ClientUtil.getWebTarger(url);
|
||||
logger.info("getMsg url:"+url);
|
||||
//获取响应结果
|
||||
Builder header = wt.request(MediaType.APPLICATION_JSON).header("Content-Type", MediaType.APPLICATION_JSON);
|
||||
response= header.get();
|
||||
@@ -80,10 +78,10 @@ public class HttpClientUtil {
|
||||
if (status == HttpStatus.SC_OK) {
|
||||
result= response.readEntity(String.class);
|
||||
//调用处理数据方法
|
||||
logger.info("获取消息成功,相应内容如下: " + result);
|
||||
logger.debug("获取消息成功,相应内容如下: " + result);
|
||||
} else {
|
||||
logger.error("获取消息失败,相应内容如下: " + result);
|
||||
throw new ConnectException("流量统计服务接口连接错误"+result);
|
||||
logger.error("获取消息失败,相应内容如下: " + response);
|
||||
throw new ConnectException("流量统计服务接口连接错误"+response);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw e;
|
||||
@@ -276,9 +274,9 @@ public class HttpClientUtil {
|
||||
//调用处理数据方法
|
||||
result = galaxyMessageFormat(result);
|
||||
if(!StringUtil.isEmpty(result) && result.length() > 501) {
|
||||
logger.info("获取消息成功,相应内容如下: " + result.substring(0, 500));
|
||||
logger.debug("获取消息成功,相应内容如下: " + result.substring(0, 500));
|
||||
}else {
|
||||
logger.info("获取消息成功,相应内容如下: " + result);
|
||||
logger.debug("获取消息成功,相应内容如下: " + result);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
@@ -71,7 +71,7 @@ public class DashboardController extends BaseController{
|
||||
Gson gson = new GsonBuilder().create();
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
|
||||
list = (ArrayList) fromJsonList.get("data");
|
||||
logger.info("活跃端口数据"+fromJsonList);
|
||||
logger.debug("活跃端口数据"+fromJsonList);
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -92,7 +92,7 @@ public class DashboardController extends BaseController{
|
||||
String string = HttpClientUtil.get(Constants.DASHBOARD_URL+Constants.TRAFFIC_IPACTIVE);
|
||||
Gson gson = new GsonBuilder().create();
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
|
||||
logger.info("活跃IP数据"+fromJsonList);
|
||||
logger.debug("活跃IP数据"+fromJsonList);
|
||||
list = (ArrayList) fromJsonList.get("data");
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
@@ -114,7 +114,7 @@ public class DashboardController extends BaseController{
|
||||
String string = HttpClientUtil.get(Constants.DASHBOARD_URL+Constants.TRAFFIC_IPACTIVE_FIVEMINUTE);
|
||||
Gson gson = new GsonBuilder().create();
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
|
||||
logger.info("活跃IP1小时,间隔5分钟数据"+fromJsonList);
|
||||
logger.debug("活跃IP1小时,间隔5分钟数据"+fromJsonList);
|
||||
list = (ArrayList) fromJsonList.get("data");
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
@@ -163,7 +163,7 @@ public class DashboardController extends BaseController{
|
||||
|
||||
Gson gson = getIntGson();
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map<String, Object>>(){}.getType());
|
||||
logger.info("活跃IP1小时"+fromJsonList);
|
||||
logger.debug("活跃IP1小时"+fromJsonList);
|
||||
ipActiveList = gson.fromJson(fromJsonList.get("data").toString(), new TypeToken<List<TrafficIpActiveStatistic>>() {}.getType()) ;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -246,7 +246,7 @@ public class DashboardController extends BaseController{
|
||||
}
|
||||
resultList.add(map);
|
||||
}
|
||||
logger.info("协议统计"+fromJsonList);
|
||||
logger.debug("协议统计"+fromJsonList);
|
||||
return resultList;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
@@ -285,7 +285,7 @@ public class DashboardController extends BaseController{
|
||||
}
|
||||
resultList.add(map);
|
||||
}
|
||||
logger.info("app流量分析"+fromJsonList);
|
||||
logger.debug("app流量分析"+fromJsonList);
|
||||
return resultList;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
@@ -324,7 +324,7 @@ public class DashboardController extends BaseController{
|
||||
}
|
||||
resultList.add(map);
|
||||
}
|
||||
logger.info("终端用户-获取操作系统列表"+fromJsonList);
|
||||
logger.debug("终端用户-获取操作系统列表"+fromJsonList);
|
||||
return resultList;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
@@ -382,7 +382,7 @@ public class DashboardController extends BaseController{
|
||||
resultList.add(map);
|
||||
}
|
||||
}
|
||||
logger.info("终端用户-获取操作系统下浏览器类型"+fromJsonList);
|
||||
logger.debug("终端用户-获取操作系统下浏览器类型"+fromJsonList);
|
||||
return resultList;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -421,7 +421,7 @@ public class DashboardController extends BaseController{
|
||||
resultList.add(map);
|
||||
}
|
||||
}
|
||||
logger.info("终端用户-获取浏览器列表"+fromJsonList);
|
||||
logger.debug("终端用户-获取浏览器列表"+fromJsonList);
|
||||
return resultList;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -478,7 +478,7 @@ public class DashboardController extends BaseController{
|
||||
resultList.add(map);
|
||||
}
|
||||
}
|
||||
logger.info("终端用户-获取浏览器下操作系统类型"+fromJsonList);
|
||||
logger.debug("终端用户-获取浏览器下操作系统类型"+fromJsonList);
|
||||
return resultList;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -523,7 +523,7 @@ public class DashboardController extends BaseController{
|
||||
resultList.add(map);
|
||||
}
|
||||
}
|
||||
logger.info("http网站流量分析数据:"+fromJsonList);
|
||||
logger.debug("http网站流量分析数据:"+fromJsonList);
|
||||
return resultList;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -573,7 +573,7 @@ public class DashboardController extends BaseController{
|
||||
}
|
||||
}
|
||||
|
||||
logger.info("http某个网站子域名流量统计"+fromJsonList);
|
||||
logger.debug("http某个网站子域名流量统计"+fromJsonList);
|
||||
return resultList;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -640,7 +640,7 @@ public class DashboardController extends BaseController{
|
||||
resultList.add(map);
|
||||
}
|
||||
}
|
||||
logger.info("http网站主题流量分析数据:"+fromJsonList);
|
||||
logger.debug("http网站主题流量分析数据:"+fromJsonList);
|
||||
return resultList;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
package com.nis.web.controller.dashboard;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.net.URLEncoder;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -31,6 +35,7 @@ import com.google.gson.reflect.TypeToken;
|
||||
import com.nis.domain.PageLog;
|
||||
import com.nis.domain.dashboard.TrafficIpActiveStatistic;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DateUtil;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.util.httpclient.HttpClientUtil;
|
||||
import com.nis.web.controller.BaseController;
|
||||
@@ -93,7 +98,7 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
m.put("inoctetsNum", inoctetsNum);
|
||||
m.put("outoctetsNum", outoctetsNum);
|
||||
|
||||
logger.info("统计流量信息数据"+fromJsonList);
|
||||
logger.debug("统计流量信息数据"+fromJsonList);
|
||||
return m;
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -103,7 +108,14 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
}
|
||||
|
||||
@RequestMapping(value="bandwidthList")
|
||||
public String bandwidthList( HttpServletRequest request, HttpServletResponse response, Model model){
|
||||
public String bandwidthList(Model model){
|
||||
Calendar cal = Calendar. getInstance ();
|
||||
cal.setTime(new Date());
|
||||
String now = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间
|
||||
cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1);
|
||||
String oneHoursAgo = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());
|
||||
model.addAttribute("beginDate", oneHoursAgo);
|
||||
model.addAttribute("endDate", now);
|
||||
return "/dashboard/trafficBandwidthList";
|
||||
}
|
||||
/**
|
||||
@@ -128,7 +140,7 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
String string = HttpClientUtil.get(url);
|
||||
Gson gson = new GsonBuilder().create();
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
|
||||
logger.info(searchAction+"动作间隔5分钟数据"+fromJsonList);
|
||||
logger.debug(searchAction+"动作间隔5分钟数据"+fromJsonList);
|
||||
resultList = (ArrayList) fromJsonList.get("data");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@@ -156,7 +168,7 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
String string = HttpClientUtil.get(url);
|
||||
Gson gson = new GsonBuilder().create();
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
|
||||
logger.info("带宽1小时,间隔5分钟数据"+fromJsonList);
|
||||
logger.debug("带宽1小时,间隔5分钟数据"+fromJsonList);
|
||||
List list = (ArrayList) fromJsonList.get("data");
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
map=(Map) list.get(0);
|
||||
@@ -180,15 +192,20 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
*/
|
||||
@RequestMapping(value="protocolList")
|
||||
@ResponseBody
|
||||
public List protocolList(){
|
||||
public List protocolList(Model model,@RequestParam(required=false)String searchFoundStartTime,@RequestParam(required=false)String searchFoundEndTime){
|
||||
Map<String, Object> fromJsonList = new HashMap<String, Object>();
|
||||
List list = new ArrayList();
|
||||
String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_PROTOCOL_LIST;
|
||||
try {
|
||||
if(!StringUtil.isBlank(searchFoundStartTime)&&!StringUtil.isBlank(searchFoundEndTime)){
|
||||
searchFoundStartTime=URLEncoder.encode(searchFoundStartTime, "UTF-8");
|
||||
searchFoundEndTime=URLEncoder.encode(searchFoundEndTime, "UTF-8");
|
||||
url+="?searchFoundStartTime="+searchFoundStartTime+"&searchFoundEndTime="+searchFoundEndTime;
|
||||
}
|
||||
String string = HttpClientUtil.get(url);
|
||||
Gson gson = new GsonBuilder().create();
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
|
||||
logger.info("协议详情5分钟数据"+fromJsonList);
|
||||
logger.debug("协议详情5分钟数据"+fromJsonList);
|
||||
list = (ArrayList) fromJsonList.get("data");
|
||||
Long totalLink=0l;
|
||||
Long totalPackets=0l;
|
||||
@@ -229,19 +246,24 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
return "/dashboard/trafficAppTypeList";
|
||||
}
|
||||
/**
|
||||
* 协议详情统计图跟表
|
||||
* App详情统计图跟表
|
||||
*/
|
||||
@RequestMapping(value="appList")
|
||||
@ResponseBody
|
||||
public List appList(){
|
||||
public List appList(@RequestParam(value="searchFoundStartTime",required=false)String searchFoundStartTime,@RequestParam(value="searchFoundEndTime",required=false)String searchFoundEndTime){
|
||||
Map<String, Object> fromJsonList = new HashMap<String, Object>();
|
||||
List list = new ArrayList();
|
||||
String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_APP_LIST;
|
||||
try {
|
||||
if(!StringUtil.isBlank(searchFoundStartTime)&&!StringUtil.isBlank(searchFoundEndTime)){
|
||||
searchFoundStartTime=URLEncoder.encode(searchFoundStartTime, "UTF-8");
|
||||
searchFoundEndTime=URLEncoder.encode(searchFoundEndTime, "UTF-8");
|
||||
url+="?searchFoundStartTime="+searchFoundStartTime+"&searchFoundEndTime="+searchFoundEndTime;
|
||||
}
|
||||
String string = HttpClientUtil.get(url);
|
||||
Gson gson = new GsonBuilder().create();
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType());
|
||||
logger.info("app详情5分钟数据"+fromJsonList);
|
||||
logger.debug("app详情5分钟数据"+fromJsonList);
|
||||
list = (ArrayList) fromJsonList.get("data");
|
||||
Long totalLink=0l;
|
||||
Long totalPackets=0l;
|
||||
|
||||
@@ -31,8 +31,12 @@ public interface CommonPolicyDao {
|
||||
public void deleteComplexStringCfg(CfgIndexInfo entity);
|
||||
public void updateCfgValid(BaseCfg entity);
|
||||
public void auditCfg(BaseCfg entity);
|
||||
public List<CfgIndexInfo> getHttpUrlCfgBySourceCompileId(@Param("compileIds")List compileIds);
|
||||
public void auditCfgBatch(@Param("tableName")String tableName,
|
||||
@Param("entity")BaseCfg baseCfg,
|
||||
@Param("compileIds")List compileIds,
|
||||
@Param("requestId")Integer requestId);
|
||||
public void deleteHttpUrlCfg(@Param("tableName")String tableName,
|
||||
@Param("entity")BaseCfg baseCfg,
|
||||
@Param("compileIds")List compileIds);
|
||||
}
|
||||
|
||||
@@ -784,4 +784,27 @@
|
||||
</where>
|
||||
</if>
|
||||
</update>
|
||||
<update id="deleteHttpUrlCfg">
|
||||
update ${tableName} set is_valid =-1,is_audit = 0,
|
||||
editor_id = #{entity.auditorId,jdbcType=INTEGER},
|
||||
edit_time = #{entity.auditTime,jdbcType=TIMESTAMP}
|
||||
<where>
|
||||
and compile_id in
|
||||
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">
|
||||
#{compileId}
|
||||
</foreach>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
<select id="getHttpUrlCfgBySourceCompileId" resultMap="CfgIndexInfoMap">
|
||||
SELECT
|
||||
<include refid="ConfigIndex_Column" />
|
||||
FROM cfg_index_info a
|
||||
<where>
|
||||
and source_compile_id in
|
||||
<foreach collection="compileIds" index="index" item="compileId" open="(" separator="," close=")">
|
||||
#{compileId}
|
||||
</foreach>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -100,6 +100,37 @@ public class CommonPolicyService extends CrudService<WebsiteCfgDao, CfgIndexInfo
|
||||
}
|
||||
|
||||
if(!StringUtil.isEmpty(compileIds) && !StringUtil.isEmpty(entity.getTableName())) {
|
||||
List auditHttpCompileIds= new ArrayList();
|
||||
List deleteHttpCompileIds= new ArrayList();
|
||||
//http关键字配置失效,获取与其匹配的http url配置
|
||||
if(entity.getServiceId().equals(152) || entity.getServiceId().equals(40)) {
|
||||
List<CfgIndexInfo> httpUrlCfgs=commonPolicyDao.getHttpUrlCfgBySourceCompileId(compileIds);
|
||||
if(!StringUtil.isEmpty(httpUrlCfgs)) {
|
||||
for (CfgIndexInfo httpUrlCfg: httpUrlCfgs) {
|
||||
//审核通过的
|
||||
if(httpUrlCfg.getIsValid().equals(1) && httpUrlCfg.getIsAudit().equals(1)) {
|
||||
auditHttpCompileIds.add(httpUrlCfg.getCompileId());
|
||||
maatCfg = new MaatCfg();
|
||||
maatCfg.setCompileId(httpUrlCfg.getCompileId());
|
||||
maatCfg.setServiceId(httpUrlCfg.getServiceId());
|
||||
maatCfg.setIsValid(0);//无效
|
||||
configCompileList.add(maatCfg);
|
||||
}
|
||||
//未审核或者审核未通过的
|
||||
if(httpUrlCfg.getIsValid().equals(0) && (httpUrlCfg.getIsAudit().equals(0) || httpUrlCfg.getIsAudit().equals(2))) {
|
||||
deleteHttpCompileIds.add(httpUrlCfg.getCompileId());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(!StringUtil.isEmpty(auditHttpCompileIds)) {
|
||||
commonPolicyDao.auditCfgBatch("cfg_index_info", entity,auditHttpCompileIds,null);
|
||||
commonPolicyDao.auditCfgBatch("http_url_cfg", entity,auditHttpCompileIds,null);
|
||||
}
|
||||
if(!StringUtil.isEmpty(deleteHttpCompileIds)) {
|
||||
commonPolicyDao.deleteHttpUrlCfg("cfg_index_info", entity,deleteHttpCompileIds);
|
||||
commonPolicyDao.deleteHttpUrlCfg("http_url_cfg", entity,deleteHttpCompileIds);
|
||||
}
|
||||
commonPolicyDao.auditCfgBatch( entity.getTableName(), entity,compileIds,null);
|
||||
}
|
||||
|
||||
|
||||
@@ -1351,8 +1351,8 @@ traffic=Traffic
|
||||
ip_info=IP Info
|
||||
original_dest_ip=Original destination address
|
||||
original_dest_port=Original destination port
|
||||
translated_dest_ip=Post-translational destination address
|
||||
translated_dest_port=Post-translational destination port
|
||||
translated_dest_ip=Translated destination address
|
||||
translated_dest_port=Translated destination port
|
||||
show_ips=View all IP
|
||||
show_available_ips=View available IP
|
||||
log_search_http_monit=HTTP Monitor
|
||||
|
||||
@@ -1344,19 +1344,22 @@ crl_file=\u0424\u0430\u0439\u043B Crl
|
||||
equal_password=\u041D\u0435\u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u043F\u0430\u0440\u043E\u043B\u0438!
|
||||
cgi_failed=CGL \u0441\u0435\u0440\u0432\u0435\u0440
|
||||
ip_check=\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0439 IP-\u0430\u0434\u0440\u0435\u0441
|
||||
user_type=User Type
|
||||
policy_vpn_user=VPN access user name
|
||||
policy_sipv4_user=Three tier access to IP(IPv4)
|
||||
policy_sipv6_user=Three tier access to IP(IPv6)
|
||||
user_type=\u0422\u0438\u043F \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439
|
||||
policy_vpn_user=\u0418\u043C\u044F \u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F VPN \u0414\u043E\u0441\u0442\u0443\u043F\u0430
|
||||
policy_sipv4_user=\u0422\u0440\u0435\u0445\u0443\u0440\u043E\u0432\u043D\u0435\u0432\u044B\u0439 \u0414\u043E\u0441\u0442\u0443\u043F \u043A IP (IPv4)
|
||||
policy_sipv6_user=\u0422\u0440\u0435\u0445\u0443\u0440\u043E\u0432\u043D\u0435\u0432\u044B\u0439 \u0414\u043E\u0441\u0442\u0443\u043F \u043A IP (IPv6)
|
||||
creat_time=\u0412\u0440\u0435\u043C\u044F \u0421\u043E\u0437\u0434\u0430\u043D\u0438\u044F
|
||||
close_time=\u0412\u0440\u0435\u043C\u044F \u041E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F
|
||||
nat_ip=\u041F\u043E\u0432\u0442\u043E\u0440\u043D\u044B\u0439 \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u043C\u044B\u0439 IP-\u0430\u0434\u0440\u0435\u0441
|
||||
traffic=\u0422\u0440\u0430\u0444\u0438\u043A
|
||||
ip_info=IP Info
|
||||
original_dest_ip=Original destination address
|
||||
original_dest_port=Original destination port
|
||||
translated_dest_ip=Post-translational destination address
|
||||
translated_dest_port=Post-translational destination port
|
||||
show_ips=View all IP
|
||||
show_available_ips=View available IP
|
||||
log_search_http_monit=HTTP Monitor
|
||||
log_search_http_reject=HTTP Block
|
||||
log_search_keyword_monit=Keyword Monitor
|
||||
log_search_keyword_reject=Keyword Block
|
||||
ip_info=IP \u0418\u043D\u0444\u043E
|
||||
original_dest_ip=\u041E\u0440\u0438\u0433\u0438\u043D\u0430\u043B\u044C\u043D\u044B\u0439 \u0410\u0434\u0440\u0435\u0441 \u041D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F
|
||||
original_dest_port=\u041E\u0440\u0438\u0433\u0438\u043D\u0430\u043B\u044C\u043D\u044B\u0439 \u041F\u043E\u0440\u0442 \u041D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F
|
||||
translated_dest_ip=\u041F\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043D\u043D\u044B\u0439 \u0410\u0434\u0440\u0435\u0441 \u041D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F
|
||||
translated_dest_port=\u041F\u0435\u0440\u0435\u0432\u0435\u0434\u0435\u043D\u043D\u044B\u0439 \u041F\u043E\u0440\u0442 \u041D\u0430\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F
|
||||
show_ips=\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0412\u0441\u0435 IP
|
||||
show_available_ips=\u041F\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u0442\u044C \u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0439 IP
|
||||
log_search_http_monit=HTTP \u041C\u043E\u043D\u0438\u0442\u043E\u0440\u0438\u043D\u0433
|
||||
log_search_http_reject=HTTP \u0411\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435
|
||||
log_search_keyword_monit=\u041C\u043E\u043D\u0438\u0442\u043E\u0440\u0438\u043D\u0433 \u041A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u0421\u043B\u043E\u0432
|
||||
log_search_keyword_reject=\u0411\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435 \u041A\u043B\u044E\u0447\u0435\u0432\u044B\u0445 \u0421\u043B\u043E\u0432
|
||||
@@ -0,0 +1,156 @@
|
||||
/*
|
||||
Navicat MySQL Data Transfer
|
||||
|
||||
Source Server : 192.168.10.204_3306
|
||||
Source Server Version : 50505
|
||||
Source Host : 192.168.10.204:3306
|
||||
Source Database : gwall_dev
|
||||
|
||||
Target Server Type : MYSQL
|
||||
Target Server Version : 50505
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 2018-12-09 19:38:47
|
||||
*/
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for code_protocol_type_dic
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `code_protocol_type_dic`;
|
||||
CREATE TABLE `code_protocol_type_dic` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`protocol_type` varchar(255) DEFAULT '',
|
||||
`view_code` varchar(255) DEFAULT NULL,
|
||||
`service_id` int(11) DEFAULT NULL,
|
||||
`remarks` varchar(255) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=124 DEFAULT CHARSET=utf8;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of code_protocol_type_dic
|
||||
-- ----------------------------
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('1', '超出协议范筹', '0', null, '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('2', 'TCP', '10001', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('3', 'UDP', '10002', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('4', 'DNS', '10003', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('5', 'FTP', '10004', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('6', 'FTPS', '10005', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('7', 'GRE', '10006', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('8', 'HTTP', '10007', '104', '行为(见行为类型sheet):\nHTTP Streaming\nMobile_HTTP_Streaming\nHTTP_File_Transfer\nHTTP_Browsing\nMobile_HTTP_Browsing\nHTTP DownloadManager\nHTTP_Audio\nMobile_HTTP_DownloadManager HTTP TUNNEL');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('9', 'HTTPS', '10008', '104', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('10', 'ICMP', '10009', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('11', 'IKE', '10010', '102', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('12', 'IMAP', '10011', '106', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('13', 'IMAPS', '10012', '106', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('14', 'IPSEC', '10013', '102', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('15', 'XMPP', '10014', '101', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('16', 'L2TP', '10015', '103', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('17', 'NTP', '10016', '112', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('18', 'POP3', '10017', '106', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('19', 'POP3 SSL', '10018', '106', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('20', 'PPTP', '10019', '103', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('21', 'Quic', '10020', '104', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('22', 'SIP', '10021', '101', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('23', 'smb', '10022', '112', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('24', 'SMTP', '10023', '106', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('25', 'SMTPS', '10024', '106', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('26', 'SPDY', '10025', '104', 'google tcp');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('27', 'SSH', '10028', '109', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('28', 'SSL', '10029', '104', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('29', 'SOCKS', '10030', '108', 'procy');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('30', 'BITTORRENT', '10031', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('31', 'RTSP', '10032', '110', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('32', 'TELNET', '10033', '109', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('33', 'UTP', '10034', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('34', 'FASTTRACK', '10035', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('35', 'SKINNY', '10036', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('36', 'IAX', '10037', '114', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('37', 'MGCP', '10038', '114', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('38', 'RTCP', '10039', '114', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('39', 'RTP', '10040', '114', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('40', 'VNC', '10041', '109', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('41', 'XDMCP', '10042', '109', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('42', 'RDP', '10043', '109', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('43', 'AIMINI', '10044', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('44', 'IPP', '10045', '112', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('45', 'NFS', '10046', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('46', 'TFTP', '10047', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('47', 'BGP', '10048', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('48', 'DHCP', '10049', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('49', 'DHCPV6', '10050', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('50', 'FINGER', '10051', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('51', 'KERBEROS', '10052', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('52', 'LDAP', '10053', '112', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('53', 'MDNS', '10054', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('54', 'NNTP', '10055', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('55', 'SNMP', '10056', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('56', 'SSDP', '10057', '112', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('57', 'SYSLOG', '10058', '112', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('58', 'WHOIS', '10059', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('59', 'RADIUS', '10060', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('60', 'OPENVPN', '10061', '113', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('61', 'STUN', '10062', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('62', 'TEREDO', '10063', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('63', 'GTP', '10064', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('64', 'RTMP', '10065', '110', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('65', 'chargen_tcp_udp', '10066', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('66', 'llmnr_udp', '10067', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('67', 'nbns_udp', '10068', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('68', 'NETBIOS', '10069', '112', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('69', 'DirectDownloadLink', '10070', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('70', 'I23V5', '10071', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('71', 'DirectConnect', '10072', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('72', 'OFF', '10073', null, '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('73', 'OGG', '10074', '110', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('74', 'MPEG', '10075', '110', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('75', 'IRC', '10076', '101', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('76', 'Jabber', '10077', '101', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('77', 'VRRP', '10078', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('78', 'IGMP', '10079', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('79', 'EGP', '10080', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('80', 'SCTP', '10081', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('81', 'OSPF', '10082', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('82', 'IP in IP', '10083', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('83', 'ICMPv6', '10084', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('84', 'DCE RPC', '10085', '109', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('85', 'NetFlow_IPFIX', '10086', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('86', 'sFlow', '10087', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('87', 'HTTP Connect (SSL over HTTP)', '10088', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('88', 'SAP', '10089', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('89', 'UPnP', '10090', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('90', 'H323', '10091', '114', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('91', 'Megaco', '10092', '114', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('92', 'bacnet', '10094', '109', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('93', 'bjnp', '10096', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('94', 'cgp', '10097', '109', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('95', 'dahua', '10098', '116', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('96', 'dcc', '10099', '101', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('97', 'kademlia', '10100', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('98', 'lansync', '10101', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('99', 'ldap_ad', '10102', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('100', 'llp2p', '10103', '110', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('101', 'mfnp', '10104', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('102', 'mp2p', '10105', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('103', 'msn_cache', '10106', '101', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('104', 'msn_video', '10107', '101', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('105', 'msnc', '10108', '105', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('106', 'netflow', '10109', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('107', 'notes_rpc', '10110', '13', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('108', 'esp', '10111', '113', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('109', 'fbcdn_ssl', '10112', '113', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('110', 'forticlient_sslvpn', '10113', '113', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('111', 'rfb', '10114', '109', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('112', 'rtmfp', '10115', '101', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('113', 'slp', '10117', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('114', 'steam_inhomebroadcast', '10118', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('115', 'steam_localbroadcast', '10119', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('116', 'tpkt', '10120', '114', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('117', 'xmpps', '10121', '101', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('118', 'S7COMM', '10122', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('119', 'CitrixCGP', '10123', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('120', 'ID_Protocol', '10124', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('121', 'SMTP_Secure', '10125', '106', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('122', 'NAT-PMP', '10126', '107', '');
|
||||
INSERT INTO `code_protocol_type_dic` VALUES ('123', 'Unspecified', '268435455', null, '');
|
||||
@@ -0,0 +1 @@
|
||||
update specific_service_cfg set is_valid=0 where cfg_type=2 and is_Valid=1 and is_leaf = 0 and spec_service_code not in(10015,10019,10061,10013);
|
||||
@@ -50,73 +50,72 @@ $(function () {
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(1).attr("title",urls[i]);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(1)
|
||||
.append(url);
|
||||
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(2).append(
|
||||
$("select[name='service']").clone()
|
||||
$("#http_url_modal").find("select[name='service']").clone()
|
||||
.attr("name",prefixName+"action")
|
||||
.removeClass("hidden")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(2).append(
|
||||
$("input[name='serviceId']").clone()
|
||||
$("#http_url_modal").find("input[name='serviceId']").clone()
|
||||
.attr("name",prefixName+"serviceId")
|
||||
.attr("value","6")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(2).append(
|
||||
$("input[name='cfgType']").clone()
|
||||
$("#http_url_modal").find("input[name='cfgType']").clone()
|
||||
.attr("name",prefixName+"cfgType")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(2).append(
|
||||
$("input[name='cfgRegionCode']").clone()
|
||||
$("#http_url_modal").find("input[name='cfgRegionCode']").clone()
|
||||
.attr("name",prefixName+"cfgRegionCode")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(2).append(
|
||||
$("input[name='serviceId']").clone()
|
||||
$("#http_url_modal").find("input[name='serviceId']").clone()
|
||||
.attr("name",prefixName+"functionId")
|
||||
.attr("value","6")
|
||||
);
|
||||
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(3).append(
|
||||
$("select[name='doLog']").clone()
|
||||
$("#http_url_modal").find("select[name='doLog']").clone()
|
||||
.attr("name",prefixName+"doLog")
|
||||
.removeClass("hidden")
|
||||
);
|
||||
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(4).append(
|
||||
$("select[name='exprType']").clone()
|
||||
$("#http_url_modal").find("select[name='exprType']").clone()
|
||||
.attr("name",prefixName+"exprType")
|
||||
.removeClass("hidden")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(5).append(
|
||||
$("select[name='matchMethod']").clone()
|
||||
$("#http_url_modal").find("select[name='matchMethod']").clone()
|
||||
.attr("name",prefixName+"matchMethod")
|
||||
.removeClass("hidden")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(6).append(
|
||||
$("input[name='isHexbin']").clone()
|
||||
$("#http_url_modal").find("input[name='isHexbin']").clone()
|
||||
.attr("name",prefixName+"isHexbin")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(7).append(
|
||||
$("input[name='requestId']").clone()
|
||||
$("#http_url_modal").find("input[name='requestId']").clone()
|
||||
.attr("name",prefixName+"requestId")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(7).append(
|
||||
$("input[name='classify']").clone()
|
||||
$("#http_url_modal").find("input[name='classify']").clone()
|
||||
.attr("name",prefixName+"classify")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(7).append(
|
||||
$("input[name='attribute']").clone()
|
||||
$("#http_url_modal").find("input[name='attribute']").clone()
|
||||
.attr("name",prefixName+"attribute")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(7).append(
|
||||
$("input[name='lable']").clone()
|
||||
$("#http_url_modal").find("input[name='lable']").clone()
|
||||
.attr("name",prefixName+"lable")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(8).append(
|
||||
$("input[name='isAreaEffective']").clone()
|
||||
$("#http_url_modal").find("input[name='isAreaEffective']").clone()
|
||||
.attr("name",prefixName+"isAreaEffective")
|
||||
);
|
||||
$("#httpUrl tbody tr").eq(i).find("td").eq(9).append(
|
||||
$("input[name='sourceCompileId']").clone()
|
||||
$("#http_url_modal").find("input[name='sourceCompileId']").clone()
|
||||
.attr("name",prefixName+"sourceCompileId")
|
||||
.attr("value",compileIds[i])
|
||||
);
|
||||
@@ -128,9 +127,9 @@ $(function () {
|
||||
});
|
||||
}
|
||||
|
||||
$("select").selectpicker("refresh");
|
||||
$("#http_url_modal").find("select").selectpicker("refresh");
|
||||
|
||||
$("select[name$='.action']").each(function(){
|
||||
$("#http_url_modal").find("select[name$='.action']").each(function(){
|
||||
var action=$(this).val();
|
||||
var objNamePrefix=$(this).attr("name").split("action")[0];
|
||||
$(this).on("change", function() {
|
||||
@@ -142,7 +141,7 @@ $(function () {
|
||||
$("input[name='"+objNamePrefix+"cfgType']").attr("value",$("#httpUrlRegion").val());
|
||||
$("input[name='"+objNamePrefix+"cfgRegionCode']").attr("value",$("#httpUrlRegion").attr("cfgRegionCode"));
|
||||
}
|
||||
if(action == 1){ //白名单
|
||||
if(action == 1){
|
||||
$("select[name='"+objNamePrefix+"doLog']").attr("value",1);
|
||||
$("select[name='"+objNamePrefix+"doLog']").attr("disabled",true);
|
||||
$("select[name='"+objNamePrefix+"doLog']").selectpicker("refresh");
|
||||
@@ -159,7 +158,7 @@ $(function () {
|
||||
$("input[name='"+objNamePrefix+"cfgType']").attr("value",$("#httpUrlRegion").val());
|
||||
$("input[name='"+objNamePrefix+"cfgRegionCode']").attr("value",$("#httpUrlRegion").attr("cfgRegionCode"));
|
||||
}
|
||||
if(action == 1){ //白名单
|
||||
if(action == 1){
|
||||
$("select[name='"+objNamePrefix+"doLog']").attr("value",1);
|
||||
$("select[name='"+objNamePrefix+"doLog']").attr("disabled",true);
|
||||
$("select[name='"+objNamePrefix+"doLog']").selectpicker("refresh");
|
||||
|
||||
@@ -419,7 +419,7 @@ function ajaxinfo(){
|
||||
url:'${ctx}/dashboard/traffic/info',
|
||||
type : "get" ,
|
||||
dataType:'json',
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
success:function (data){
|
||||
var loopConnNum =loopConnNum= data.loopConnNum;
|
||||
var rejectNum =data.rejectNum;
|
||||
@@ -545,7 +545,7 @@ function protocolList(){
|
||||
url: '${ctx}/dashboard/protocol',
|
||||
type : "get" ,
|
||||
dataType:"json",
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
success:function (rs) {
|
||||
if(rs!=null&&rs.length>0&&rs[0].error!=null){
|
||||
top.$.jBox.tip("<spring:message code='request_service_failed'/>", "<spring:message code='info'/>");
|
||||
@@ -568,7 +568,7 @@ function ipActiveList(){
|
||||
url: '${ctx}/dashboard/ipActive',
|
||||
type : "get" ,
|
||||
dataType:"json",
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
success:function (rs) {
|
||||
if(rs!=null&&rs.length>0&&rs[0].error!=null){
|
||||
top.$.jBox.tip("<spring:message code='request_service_failed'/>", "<spring:message code='info'/>");
|
||||
@@ -591,7 +591,7 @@ function portActiveList(){
|
||||
url: '${ctx}/dashboard/portActive',
|
||||
type : "get" ,
|
||||
dataType:"json",
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
beforeSend: function () {
|
||||
|
||||
var msg = "OnLoading...";
|
||||
@@ -651,7 +651,7 @@ function appTypeList(){
|
||||
url: '${ctx}/dashboard/app',
|
||||
type : "get" ,
|
||||
dataType:"json",
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
success:function (rs) {
|
||||
if(rs!=null&&rs.length>0&&rs[0].error!=null){
|
||||
top.$.jBox.tip("<spring:message code='request_service_failed'/>", "<spring:message code='info'/>");
|
||||
@@ -674,7 +674,7 @@ function systemList(){
|
||||
url: '${ctx}/dashboard/osList',
|
||||
type : "get" ,
|
||||
dataType:"json",
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
beforeSend: function () {
|
||||
|
||||
var msg = "OnLoading...";
|
||||
@@ -749,7 +749,7 @@ function osClick(osType,obj){
|
||||
type : "get" ,
|
||||
data:{"osType":osType},
|
||||
dataType:"json",
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
success:function (rs) {
|
||||
echart_5(rs);
|
||||
|
||||
@@ -770,7 +770,7 @@ function bsClick(bsType,obj){
|
||||
type : "get" ,
|
||||
data:{"bsType":bsType},
|
||||
dataType:"json",
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
success:function (rs) {
|
||||
echart_2(rs);
|
||||
|
||||
@@ -790,7 +790,7 @@ function browserList() {
|
||||
url: '${ctx}/dashboard/bsList',
|
||||
type : "get" ,
|
||||
dataType:"json",
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
beforeSend: function () {
|
||||
var msg = "OnLoading...";
|
||||
var trLen = $("#tbodyData1 tr").length;
|
||||
@@ -854,7 +854,7 @@ function websiteList() {
|
||||
url: '${ctx}/dashboard/websiteList',
|
||||
type : "get" ,
|
||||
dataType:"json",
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
beforeSend: function () {
|
||||
var msg = "OnLoading...";
|
||||
var trLen = $("#tbodyData2 tr").length;
|
||||
@@ -923,7 +923,7 @@ function webClick(websiteServiceId,obj){
|
||||
type : "get" ,
|
||||
data:{"websiteServiceId":websiteServiceId},
|
||||
dataType:"json",
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
success:function (rs) {
|
||||
echart_6(rs);
|
||||
closeTip();
|
||||
@@ -940,7 +940,7 @@ function topicAndDomainList(){
|
||||
url: '${ctx}/dashboard/topicAndDomainList',
|
||||
type : "get" ,
|
||||
dataType:"json",
|
||||
cache:false,async:true,timeout:10000,//超时时间设置,查询接口时间过长超时
|
||||
cache:false,async:true,timeout:60000,//超时时间设置,查询接口时间过长超时
|
||||
success:function (rs) {
|
||||
//主题域名流量统计图
|
||||
echart_topic_domain(rs);
|
||||
|
||||
@@ -1,393 +1,393 @@
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
//筛选功能
|
||||
filterActionInit();
|
||||
//reset
|
||||
$("#resetBtn").on("click",function(){
|
||||
$("select.selectpicker").each(function(){
|
||||
$(this).selectpicker('val',$(this).find('option:first').val());
|
||||
$(this).find("option").attr("selected",false);
|
||||
$(this).find("option:first").attr("selected",true);
|
||||
});
|
||||
$(".Wdate").attr("value",'');
|
||||
$(':input','#searchForm')
|
||||
.not(':button,:submit,:reset,:hidden')
|
||||
.attr("value",'');
|
||||
$("#searchForm")[0].reset();
|
||||
});
|
||||
//异步获取voip相关信息
|
||||
$("span[id^=open]").click(function(){
|
||||
var openId=$(this).attr("id");
|
||||
var closeId=$(this).attr("id").replace("open","close");
|
||||
var index=$(this).attr("id").replace("open","");
|
||||
$("#"+openId).hide();
|
||||
$("#"+closeId).show();
|
||||
var compileId=$(this).attr("compileId");
|
||||
// var cfgId=$(this).attr("cfgId");
|
||||
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
|
||||
$("#"+openId).parent().parent().next("tr").show();
|
||||
}else{
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
url:'${ctx}/ntc/av/ajaxVoipIpInfo',
|
||||
data:{"compileId":compileId,"index":index},
|
||||
dataType:"html",
|
||||
success:function(data){
|
||||
var subTab="<tr class='child'>"+
|
||||
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
|
||||
var html="";
|
||||
html+="<div class='row'>";
|
||||
html = html+data;
|
||||
subTab=subTab+html;
|
||||
subTab+="</td>";
|
||||
subTab+="</tr>";
|
||||
$("#"+openId).parent().parent().after(subTab);
|
||||
$("div[name='tabTitle"+index+"']").eq(0).click();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$("span[id^=close]").on("click",function(){
|
||||
var closeId=$(this).attr("id");
|
||||
var openId=$(this).attr("id").replace("close","open");
|
||||
$("#"+closeId).hide();
|
||||
$("#"+openId).show();
|
||||
$("#"+closeId).parent().parent().next("tr").hide();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
</div>
|
||||
<h3 class="page-title">
|
||||
<spring:message code="av_voip_control"/>
|
||||
</h3>
|
||||
|
||||
<h5 class="page-header"></h5>
|
||||
<div class="col-md-12">
|
||||
<div class="portlet">
|
||||
<div class="portlet-body">
|
||||
<div class="row" >
|
||||
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmVoipIpLogs" method="post" class="form-search">
|
||||
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
||||
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
|
||||
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
|
||||
<input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
|
||||
<!-- 筛选按钮展开状态-->
|
||||
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
|
||||
|
||||
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
|
||||
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
<div class="pull-left">
|
||||
<form:select path="service" class="selectpicker select2 input-small">
|
||||
<form:option value=""><spring:message code="action"/></form:option>
|
||||
<c:forEach items="${serviceList}" var="service"
|
||||
varStatus="satus">
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
|
||||
<form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
|
||||
</div>
|
||||
<input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
|
||||
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
|
||||
</div>
|
||||
<input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
|
||||
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pull-left">
|
||||
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
|
||||
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
|
||||
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
|
||||
</div>
|
||||
|
||||
<div class="pull-right">
|
||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
||||
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||
<i class="icon-wrench"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 筛选搜索内容栏默认隐藏-->
|
||||
<div class="col-md-12 filter-action-select-panle hide" >
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="transport_layer_protocol"/>:</label>
|
||||
<c:set var="select"><spring:message code='select'/></c:set>
|
||||
<form:select path="transProto" class="selectpicker form-control" >
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
|
||||
<form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%-- <div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="direction"/>:</label>
|
||||
<form:select path="direction" class="selectpicker select2 form-control">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
|
||||
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div> --%>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="entrance"/>:</label>
|
||||
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
|
||||
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="clj_ip"/>:</label>
|
||||
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="clientip"/>:</label>
|
||||
<input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="serverip"/>:</label>
|
||||
<input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<label><spring:message code="cfg_id"></spring:message>:</label>
|
||||
<input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /筛选搜索内容栏 结束-->
|
||||
</form:form>
|
||||
</div>
|
||||
<sys:message content="${message}"/>
|
||||
<div class="table-responsive">
|
||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><spring:message code="log"/></th>
|
||||
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
|
||||
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
|
||||
<th class="sort-column found_time"><spring:message code="found_time"/></th>
|
||||
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
|
||||
|
||||
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
|
||||
|
||||
<th class="sort-column duation"><spring:message code='duation'/></th>
|
||||
<th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th>
|
||||
<th class="sort-column calling_account"><spring:message code='calling_account'/></th>
|
||||
<th class="sort-column called_account"><spring:message code='called_account'/></th>
|
||||
<th class="sort-column calling_number" isVisible="false"><spring:message code='calling_number'/></th>
|
||||
<th class="sort-column called_number" isVisible="false"><spring:message code='called_number'/></th>
|
||||
<th><spring:message code='from_to_store_ip'/></th>
|
||||
<th><spring:message code='from_to_store_url'/></th>
|
||||
<th><spring:message code='to_from_store_ip'/></th>
|
||||
<th><spring:message code='to_from_store_url'/></th>
|
||||
<th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
|
||||
<th class="sort-column log_uri"><spring:message code='log_uri'/></th>
|
||||
<th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
|
||||
<th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
|
||||
|
||||
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
|
||||
<th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
|
||||
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
|
||||
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
|
||||
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
|
||||
<th class="sort-column d_port"><spring:message code="server_port"/></th>
|
||||
<th class="sort-column s_port"><spring:message code="client_port"/></th>
|
||||
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
|
||||
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
|
||||
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
|
||||
<%-- <th class="sort-column direction"><spring:message code="direction"/></th> --%>
|
||||
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
|
||||
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
|
||||
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
|
||||
|
||||
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
|
||||
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
|
||||
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
|
||||
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
|
||||
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
|
||||
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
|
||||
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
|
||||
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="log" items="${page.list }" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
|
||||
--%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
|
||||
</td>
|
||||
<td>${log.cfgId }</td>
|
||||
<td>
|
||||
<c:set var="actions">${log.action }</c:set>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
|
||||
<c:if test="${dict.itemCode eq log.action}">
|
||||
<c:set var="actions">${dict.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${actions}"/>
|
||||
</td>
|
||||
<td>${log.foundTime }</td>
|
||||
<td>${log.recvTime }</td>
|
||||
|
||||
<td>
|
||||
<c:set var="entrances">${log.entranceId }</c:set>
|
||||
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
|
||||
<c:if test="${dic.itemCode eq log.entranceId}">
|
||||
<c:set var="entrances">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${entrances}"/>
|
||||
</td>
|
||||
<td>${log.duation}</td>
|
||||
<td>${log.voipProtocol}</td>
|
||||
<td>${log.callingAccount }</td>
|
||||
<td>${log.calledAccount }</td>
|
||||
<td>${log.callingNumber}</td>
|
||||
<td>${log.calledNumber}</td>
|
||||
<td>${log.fromToStoreIp}</td>
|
||||
<td>${log.fromToStoreUrl}</td>
|
||||
<td>${log.toFromStoreIp}</td>
|
||||
<td>${log.toFromStoreUrl}</td>
|
||||
<td>${log.pid}</td>
|
||||
<td>
|
||||
<c:if test="${fn:startsWith(log.logUri, 'http')}">
|
||||
<a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
|
||||
class="tooltips" data-flag="false" data-html="true" data-placement="top">
|
||||
${fn:substring(log.logUri,0,20) }
|
||||
</a>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
|
||||
<a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
|
||||
class="tooltips" data-flag="false" data-html="true" data-placement="top">
|
||||
http://${fn:substring(log.logUri,0,20) }
|
||||
</a>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>${log.level}</td>
|
||||
<!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
|
||||
<td>
|
||||
<c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
|
||||
<c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
|
||||
<c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
|
||||
</td>
|
||||
<td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
|
||||
<td>
|
||||
<c:set var="transProtos">${log.transProto }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
|
||||
<c:if test="${dic.itemCode eq log.transProto}">
|
||||
<c:set var="transProtos">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${transProtos}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="addrTypes">${log.addrType }</c:set>
|
||||
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
|
||||
<c:if test="${log.addrType==dic.itemCode}">
|
||||
<c:set var="addrTypes">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${addrTypes}"/>
|
||||
</td>
|
||||
<td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
|
||||
<td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
|
||||
<td>${log.dPort }</td>
|
||||
<td>${log.sPort }</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('DEVICE')}" var="device">
|
||||
<c:if test="${device.itemCode eq log.deviceId}"><spring:message code="${device.itemValue}"/></c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('LINK')}" var="link">
|
||||
<c:if test="${link.itemCode eq log.linkId}"><spring:message code="${link.itemValue}"/></c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
|
||||
<c:if test="${encapType.itemCode eq log.encapType}"><spring:message code="${encapType.itemValue}"/></c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
<%-- <td>
|
||||
<c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
|
||||
<c:if test="${direction.itemCode eq log.direction}"><spring:message code="${direction.itemValue}"/></c:if>
|
||||
</c:forEach>
|
||||
</td> --%>
|
||||
<td>${log.innerSmac }</td>
|
||||
<td>${log.innerDmac }</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
|
||||
<c:if test="${streamType.itemCode eq log.streamDir}">${streamType.itemValue}</c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
<td>${log.addrList }</td>
|
||||
<td>${log.serverLocate}</td>
|
||||
<td>${log.clientLocate}</td>
|
||||
<td>${log.sAsn}</td>
|
||||
<td>${log.dAsn}</td>
|
||||
<td>${log.sSubscribeId}</td>
|
||||
<td>${log.dSubscribeId}</td>
|
||||
<td>${log.userRegion}</td>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
//筛选功能
|
||||
filterActionInit();
|
||||
//reset
|
||||
$("#resetBtn").on("click",function(){
|
||||
$("select.selectpicker").each(function(){
|
||||
$(this).selectpicker('val',$(this).find('option:first').val());
|
||||
$(this).find("option").attr("selected",false);
|
||||
$(this).find("option:first").attr("selected",true);
|
||||
});
|
||||
$(".Wdate").attr("value",'');
|
||||
$(':input','#searchForm')
|
||||
.not(':button,:submit,:reset,:hidden')
|
||||
.attr("value",'');
|
||||
$("#searchForm")[0].reset();
|
||||
});
|
||||
//异步获取voip相关信息
|
||||
$("span[id^=open]").click(function(){
|
||||
var openId=$(this).attr("id");
|
||||
var closeId=$(this).attr("id").replace("open","close");
|
||||
var index=$(this).attr("id").replace("open","");
|
||||
$("#"+openId).hide();
|
||||
$("#"+closeId).show();
|
||||
var compileId=$(this).attr("compileId");
|
||||
// var cfgId=$(this).attr("cfgId");
|
||||
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
|
||||
$("#"+openId).parent().parent().next("tr").show();
|
||||
}else{
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
url:'${ctx}/ntc/av/ajaxVoipIpInfo',
|
||||
data:{"compileId":compileId,"index":index},
|
||||
dataType:"html",
|
||||
success:function(data){
|
||||
var subTab="<tr class='child'>"+
|
||||
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
|
||||
var html="";
|
||||
html+="<div class='row'>";
|
||||
html = html+data;
|
||||
subTab=subTab+html;
|
||||
subTab+="</td>";
|
||||
subTab+="</tr>";
|
||||
$("#"+openId).parent().parent().after(subTab);
|
||||
$("div[name='tabTitle"+index+"']").eq(0).click();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$("span[id^=close]").on("click",function(){
|
||||
var closeId=$(this).attr("id");
|
||||
var openId=$(this).attr("id").replace("close","open");
|
||||
$("#"+closeId).hide();
|
||||
$("#"+openId).show();
|
||||
$("#"+closeId).parent().parent().next("tr").hide();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
</div>
|
||||
<h3 class="page-title">
|
||||
<spring:message code="av_voip_control"/>
|
||||
</h3>
|
||||
|
||||
<h5 class="page-header"></h5>
|
||||
<div class="col-md-12">
|
||||
<div class="portlet">
|
||||
<div class="portlet-body">
|
||||
<div class="row" >
|
||||
<form:form id="searchForm" modelAttribute="log" action="${ctx}/log/ntc/mmVoipIpLogs" method="post" class="form-search">
|
||||
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
||||
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
|
||||
<input id="functionId" name="functionId" type="hidden" value="${log.functionId}"/>
|
||||
<input id="isLogTotalSearch" name="isLogTotalSearch" type="hidden" value="${log.isLogTotalSearch}"/>
|
||||
<!-- 筛选按钮展开状态-->
|
||||
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
|
||||
|
||||
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" callback="page();"/>
|
||||
|
||||
<!-- 搜索内容与操作按钮栏 -->
|
||||
<div class="col-md-12">
|
||||
<div class="pull-left">
|
||||
<form:select path="service" class="selectpicker select2 input-small">
|
||||
<form:option value=""><spring:message code="action"/></form:option>
|
||||
<c:forEach items="${serviceList}" var="service"
|
||||
varStatus="satus">
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||
<c:if test="${(dict.itemCode eq service.action) && (service.action ne 128) && (service.action ne 32) && (service.action ne 96) }">
|
||||
<form:option value="${service.serviceId}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
|
||||
</div>
|
||||
<input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
|
||||
value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pull-left">
|
||||
<div class="input-group">
|
||||
<div class="input-group-btn">
|
||||
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
|
||||
</div>
|
||||
<input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" class="form-control input-medium Wdate "
|
||||
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pull-left">
|
||||
<button type="button" class="btn blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>
|
||||
<button type="button" class="btn btn-default" id="resetBtn"> <i class="fa fa-refresh"></i> <spring:message code="reset"/> </button>
|
||||
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"></spring:message> <i class="fa fa-angle-double-down"></i></button>
|
||||
</div>
|
||||
|
||||
<div class="pull-right">
|
||||
<a class="btn btn-icon-only btn-default setfields tooltips"
|
||||
data-container="body" data-placement="top" data-original-title=<spring:message code="custom_columns"/> href="javascript:;">
|
||||
<i class="icon-wrench"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 筛选搜索内容栏默认隐藏-->
|
||||
<div class="col-md-12 filter-action-select-panle hide" >
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="transport_layer_protocol"/>:</label>
|
||||
<c:set var="select"><spring:message code='select'/></c:set>
|
||||
<form:select path="transProto" class="selectpicker form-control" >
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dict">
|
||||
<form:option value="${dict.itemCode}" ><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%-- <div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="direction"/>:</label>
|
||||
<form:select path="direction" class="selectpicker select2 form-control">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="dict">
|
||||
<form:option value="${dict.itemCode}"><spring:message code="${dict.itemValue}"/></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div> --%>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="entrance"/>:</label>
|
||||
<form:select path="entranceId" class="selectpicker form-control" data-live-search="true" data-live-search-placeholder="search">
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="entrance" >
|
||||
<form:option value="${entrance.itemCode}"><spring:message code="${entrance.itemValue}"></spring:message></form:option>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="clj_ip"/>:</label>
|
||||
<input name="capIp" type="text" class="form-control" value="${log.capIp}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="clientip"/>:</label>
|
||||
<input id="sIp" name="sIp" class="form-control" type="text" value="${log.sIp}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="serverip"/>:</label>
|
||||
<input id="dIp" name="dIp" class="form-control" type="text" value="${log.dIp}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2">
|
||||
<label><spring:message code="cfg_id"></spring:message>:</label>
|
||||
<input name="cfgId" type="text" class="form-control logCfgId number" value="${log.cfgId }"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /筛选搜索内容栏 结束-->
|
||||
</form:form>
|
||||
</div>
|
||||
<sys:message content="${message}"/>
|
||||
<div class="table-responsive">
|
||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap logTb">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><spring:message code="log"/></th>
|
||||
<th class="sort-column cfg_id " isVisible="false" ><spring:message code="cfg_id"/></th>
|
||||
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th>
|
||||
<th class="sort-column found_time"><spring:message code="found_time"/></th>
|
||||
<th class="sort-column recv_time" isVisible="false"><spring:message code="recv_time"/></th>
|
||||
|
||||
<th class="sort-column entrance_id" isVisible="false"><spring:message code="entrance_id"/></th>
|
||||
|
||||
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column duation"><spring:message code='duation'/></th></c:if>
|
||||
<th class="sort-column voip_protocol"><spring:message code='voip_protocol'/></th>
|
||||
<th class="sort-column calling_account"><spring:message code='calling_account'/></th>
|
||||
<th class="sort-column called_account"><spring:message code='called_account'/></th>
|
||||
<th class="sort-column calling_number" isVisible="false"><spring:message code='calling_number'/></th>
|
||||
<th class="sort-column called_number" isVisible="false"><spring:message code='called_number'/></th>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><th><spring:message code='from_to_store_ip'/></th>
|
||||
<th><spring:message code='from_to_store_url'/></th>
|
||||
<th><spring:message code='to_from_store_ip'/></th>
|
||||
<th><spring:message code='to_from_store_url'/></th></c:if>
|
||||
<th class="sort-column pid" isVisible="false"><spring:message code='pid'/></th>
|
||||
<%-- <th class="sort-column log_uri"><spring:message code='log_uri'/></th> --%>
|
||||
<th class="sort-column level" isVisible="false"><spring:message code='harm_level'/></th>
|
||||
<th class="sort-column fd_type" isVisible="false"><spring:message code='fd_type'/></th>
|
||||
|
||||
<th class="sort-column cap_ip" isVisible="false"><spring:message code="clj_ip"/></th>
|
||||
<th class="sort-column trans_proto"><spring:message code="protocol_type"/></th>
|
||||
<th class="sort-column addr_type"><spring:message code='addr_type'/></th>
|
||||
<th class="sort-column d_ip"><spring:message code="server_ip"/></th>
|
||||
<th class="sort-column s_ip"><spring:message code="client_ip"/></th>
|
||||
<th class="sort-column d_port"><spring:message code="server_port"/></th>
|
||||
<th class="sort-column s_port"><spring:message code="client_port"/></th>
|
||||
<th class="sort-column device_id" isVisible="false"><spring:message code="deviceid"/></th>
|
||||
<th class="sort-column link_id" isVisible="false"><spring:message code="link_id"/></th>
|
||||
<th class="sort-column encap_type"><spring:message code="encap_type"/></th>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column direction"><spring:message code="direction"/></th></c:if>
|
||||
<th class="sort-column inner_smac"><spring:message code="inner_smac"/></th>
|
||||
<th class="sort-column inner_dmac"><spring:message code="inner_dmac"/></th>
|
||||
<th class="sort-column stream_dir"><spring:message code="stream_type"/></th>
|
||||
|
||||
<th class="sort-column addr_list"><spring:message code="nest_addr_list"/></th>
|
||||
<th class="sort-column server_locate"><spring:message code='server_locate'/></th>
|
||||
<th class="sort-column client_locate"><spring:message code='client_locate'/></th>
|
||||
<th class="sort-column s_asn" isVisible="false"><spring:message code='s_asn'/></th>
|
||||
<th class="sort-column d_asn" isVisible="false"><spring:message code='d_asn'/></th>
|
||||
<th class="sort-column s_subscribe_id" isVisible="false"><spring:message code='s_subscribe_id'/></th>
|
||||
<th class="sort-column d_subscribe_id" isVisible="false"><spring:message code='d_subscribe_id'/></th>
|
||||
<th class="sort-column user_region" isVisible="false"><spring:message code='user_region'/></th>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><th class="sort-column scene_file"><spring:message code='scene_file'/></th></c:if>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="log" items="${page.list }" varStatus="status">
|
||||
<tr>
|
||||
<td>
|
||||
<%-- <span id="open${status.index}" class="log-open-cfg" compileId="${log.cfgId }"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
|
||||
--%> <a href="javascript:void(0)" name="viewLogInfo"><i class="icon-book-open"></i></a>
|
||||
</td>
|
||||
<td>${log.cfgId }</td>
|
||||
<td>
|
||||
<c:set var="actions">${log.action }</c:set>
|
||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION')}" var="dict">
|
||||
<c:if test="${dict.itemCode eq log.action}">
|
||||
<c:set var="actions">${dict.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${actions}"/>
|
||||
</td>
|
||||
<td>${log.foundTime }</td>
|
||||
<td>${log.recvTime }</td>
|
||||
|
||||
<td>
|
||||
<c:set var="entrances">${log.entranceId }</c:set>
|
||||
<c:forEach items="${fns:getDictList('ENTRANCE')}" var="dic">
|
||||
<c:if test="${dic.itemCode eq log.entranceId}">
|
||||
<c:set var="entrances">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${entrances}"/>
|
||||
</td>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><td>${log.duation}</td></c:if>
|
||||
<td>${log.voipProtocol}</td>
|
||||
<td>${log.callingAccount }</td>
|
||||
<td>${log.calledAccount }</td>
|
||||
<td>${log.callingNumber}</td>
|
||||
<td>${log.calledNumber}</td>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><td>${log.fromToStoreIp}</td>
|
||||
<td>${log.fromToStoreUrl}</td>
|
||||
<td>${log.toFromStoreIp}</td>
|
||||
<td>${log.toFromStoreUrl}</td></c:if>
|
||||
<td>${log.pid}</td>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><td>
|
||||
<c:if test="${fn:startsWith(log.logUri, 'http')}">
|
||||
<a href="${log.logUri}" data-original-title="${log.logUri}" target="_blank"
|
||||
class="tooltips" data-flag="false" data-html="true" data-placement="top">
|
||||
${fn:substring(log.logUri,0,20) }
|
||||
</a>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${!fn:startsWith(log.logUri, 'http') and !empty log.logUri}">
|
||||
<a href="http://${log.logUri}" data-original-title="http://${log.logUri}" target="_blank"
|
||||
class="tooltips" data-flag="false" data-html="true" data-placement="top">
|
||||
http://${fn:substring(log.logUri,0,20) }
|
||||
</a>
|
||||
</c:if>
|
||||
</td></c:if>
|
||||
<td>${log.level}</td>
|
||||
<!--0:动态黑名单FD;1:静态配置FD;2:首次分析命中 -->
|
||||
<td>
|
||||
<c:if test="${log.fdType eq 0 }"><spring:message code="black_block_list"/></c:if>
|
||||
<c:if test="${log.fdType eq 1 }"><spring:message code="static_cfg_block"/></c:if>
|
||||
<c:if test="${log.fdType eq 2 }"><spring:message code="first_hit"/></c:if>
|
||||
</td>
|
||||
<td title="${log.capIp }">${fns:abbr(log.capIp, 42)}</td>
|
||||
<td>
|
||||
<c:set var="transProtos">${log.transProto }</c:set>
|
||||
<c:forEach items="${fns:getDictList('LOG_PROTOCOL')}" var="dic">
|
||||
<c:if test="${dic.itemCode eq log.transProto}">
|
||||
<c:set var="transProtos">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${transProtos}"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:set var="addrTypes">${log.addrType }</c:set>
|
||||
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="dic">
|
||||
<c:if test="${log.addrType==dic.itemCode}">
|
||||
<c:set var="addrTypes">${dic.itemValue}</c:set>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<spring:message code="${addrTypes}"/>
|
||||
</td>
|
||||
<td title="${log.dIp }">${fns:abbr(log.dIp, 42)}</td>
|
||||
<td title="${log.sIp }">${fns:abbr(log.sIp, 42)}</td>
|
||||
<td>${log.dPort }</td>
|
||||
<td>${log.sPort }</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('DEVICE')}" var="device">
|
||||
<c:if test="${device.itemCode eq log.deviceId}"><spring:message code="${device.itemValue}"/></c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('LINK')}" var="link">
|
||||
<c:if test="${link.itemCode eq log.linkId}"><spring:message code="${link.itemValue}"/></c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('ENCAP_TYPE')}" var="encapType">
|
||||
<c:if test="${encapType.itemCode eq log.encapType}"><spring:message code="${encapType.itemValue}"/></c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><td>
|
||||
<c:forEach items="${fns:getDictList('LOG_DIRECTION')}" var="direction">
|
||||
<c:if test="${direction.itemCode eq log.direction}"><spring:message code="${direction.itemValue}"/></c:if>
|
||||
</c:forEach>
|
||||
</td></c:if>
|
||||
<td>${log.innerSmac }</td>
|
||||
<td>${log.innerDmac }</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('LOG_STREAM_TYPE')}" var="streamType">
|
||||
<c:if test="${streamType.itemCode eq log.streamDir}">${streamType.itemValue}</c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
<td>${log.addrList }</td>
|
||||
<td>${log.serverLocate}</td>
|
||||
<td>${log.clientLocate}</td>
|
||||
<td>${log.sAsn}</td>
|
||||
<td>${log.dAsn}</td>
|
||||
<td>${log.sSubscribeId}</td>
|
||||
<td>${log.dSubscribeId}</td>
|
||||
<td>${log.userRegion}</td>
|
||||
<c:if test="${fns:getUser().isAdmin()}"><td>${log.sceneFile}</td></c:if>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="page">${page}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user