Merge branch 'develop' of https://git.mesalab.cn/K18_NTCS_WEB/NTC.git into develop

This commit is contained in:
leijun
2019-01-18 09:51:38 +08:00
23 changed files with 215 additions and 115 deletions

View File

@@ -199,7 +199,7 @@ public class BaseCfg<T> extends BaseEntity<T> implements Cloneable{
/** /**
* 来函 * 来函
*/ */
@ExcelField(title="letter",sort=58) @ExcelField(title="letter",sort=60)
protected String requestName; protected String requestName;
/** /**
* 是否区域gk * 是否区域gk
@@ -209,7 +209,7 @@ public class BaseCfg<T> extends BaseEntity<T> implements Cloneable{
/** /**
* 分类 * 分类
*/ */
@ExcelField(title="classification",dictType="type",sort=60) @ExcelField(title="classification",dictType="type",sort=62)
protected String classify; protected String classify;
/** /**
* 性质 * 性质

View File

@@ -43,24 +43,24 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
*/ */
@Expose @Expose
@SerializedName("ipType") @SerializedName("ipType")
@ExcelField(title="ip_type",dictType="IP_TYPE",sort=44) @ExcelField(title="ip_type",dictType="IP_TYPE",sort=50)
protected Integer ipType; protected Integer ipType;
@ExcelField(title="ip_pattern",dictType="IP_PATTERN",sort=45) @ExcelField(title="ip_pattern",dictType="IP_PATTERN",sort=51)
protected Integer ipPattern; protected Integer ipPattern;
@ExcelField(title="client_ip",sort=47) @ExcelField(title="client_ip",sort=53)
protected String srcIpAddress; protected String srcIpAddress;
@ExcelField(title="server_ip",sort=46) @ExcelField(title="server_ip",sort=52)
protected String destIpAddress; protected String destIpAddress;
@ExcelField(title="port_pattern",dictType="PORT_PATTERN",sort=48) @ExcelField(title="port_pattern",dictType="PORT_PATTERN",sort=54)
protected Integer portPattern; protected Integer portPattern;
@ExcelField(title="client_port",sort=49) @ExcelField(title="client_port",sort=55)
protected String srcPort; protected String srcPort;
@ExcelField(title="server_port",sort=50) @ExcelField(title="server_port",sort=56)
protected String destPort; protected String destPort;
protected Integer dnsStrategyId; protected Integer dnsStrategyId;
@ExcelField(title="ir_type",dictType="IR_TYPE",sort=51) @ExcelField(title="ir_type",dictType="IR_TYPE",sort=57)
protected Integer irType; protected Integer irType;
@ExcelField(title="group_name",sort=52) @ExcelField(title="group_name",sort=58)
protected String groupName; protected String groupName;
private List<NtcSubscribeIdCfg> ntcSubscribeIdCfgList; private List<NtcSubscribeIdCfg> ntcSubscribeIdCfgList;
@@ -75,7 +75,7 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
protected String organization; //仅用于copy属性使用 protected String organization; //仅用于copy属性使用
protected String country; //仅用于copy属性使用 protected String country; //仅用于copy属性使用
protected String detail; //仅用于copy属性使用 protected String detail; //仅用于copy属性使用
@ExcelField(title="log_total",sort=31) @ExcelField(title="log_total",sort=42)
private Long totalLogs; private Long totalLogs;
public String getOrganization() { public String getOrganization() {
@@ -177,14 +177,14 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
*/ */
@Expose @Expose
@SerializedName("direction") @SerializedName("direction")
@ExcelField(title="direction",dictType="DIRECTION",sort=53) @ExcelField(title="direction",dictType="DIRECTION",sort=58)
protected Integer direction ; protected Integer direction ;
/** /**
* 协议 * 协议
*/ */
@Expose @Expose
@SerializedName("protocol") @SerializedName("protocol")
@ExcelField(title="protocol",dictType="PROTOCOL",sort=54) @ExcelField(title="protocol",dictType="PROTOCOL",sort=59)
protected Integer protocol ; protected Integer protocol ;
/** /**
* 协议ID * 协议ID

View File

@@ -23,29 +23,13 @@ public class DdosIpCfg extends BaseIpCfg {
*/ */
private static final long serialVersionUID = -5446903784736960824L; private static final long serialVersionUID = -5446903784736960824L;
private String indexTable="ddos_ip_cfg"; private String indexTable="ddos_ip_cfg";
@ExcelField(title="antiddos_protocol",sort=41) @ExcelField(title="antiddos_protocol",sort=46)
private String antiddosProtocol;//目前支持TCP_SYN, DNS, NTP private String antiddosProtocol;//目前支持TCP_SYN, DNS, NTP
@ExcelField(title="bps_threadshold",sort=42) @ExcelField(title="bps_threadshold",sort=47)
private Long bpsThreadshold;// 即DDoS攻击保护动作触发阈值每秒Bit数和每秒包数 private Long bpsThreadshold;// 即DDoS攻击保护动作触发阈值每秒Bit数和每秒包数
@ExcelField(title="pps_threadshold",sort=43) @ExcelField(title="pps_threadshold",sort=48)
private Long ppsThreadshold; private Long ppsThreadshold;
@ExcelField(title="log_total",sort=32)
private Long totalLogs;
@ExcelField(title="is_audit",dictType="AUDIT_STATUS",sort=20)
private Integer isAudit;
public Integer getIsAudit() {
return isAudit;
}
public void setIsAudit(Integer isAudit) {
this.isAudit = isAudit;
}
public Long getTotalLogs() {
return totalLogs;
}
public void setTotalLogs(Long totalLogs) {
this.totalLogs = totalLogs;
}
public String getAntiddosProtocol() { public String getAntiddosProtocol() {
return antiddosProtocol; return antiddosProtocol;
} }

View File

@@ -24,6 +24,8 @@ public class TrafficIpActiveStatistic{
String statTime; String statTime;
private String _byte; private String _byte;
private String _packet; private String _packet;
private String avgByte;
private String avgPacket;
@ExcelField(title="Byte",sort=51,type=1) @ExcelField(title="Byte",sort=51,type=1)
public String get_byte() { public String get_byte() {
return BigInteger.valueOf(this.getC2sByteLen()).add(BigInteger.valueOf(this.getS2cByteLen())).toString(); return BigInteger.valueOf(this.getC2sByteLen()).add(BigInteger.valueOf(this.getS2cByteLen())).toString();
@@ -95,5 +97,16 @@ public class TrafficIpActiveStatistic{
public void setS2cByteLen(Long s2cByteLen) { public void setS2cByteLen(Long s2cByteLen) {
this.s2cByteLen = s2cByteLen; this.s2cByteLen = s2cByteLen;
} }
public String getAvgByte() {
return avgByte;
}
public void setAvgByte(String avgByte) {
this.avgByte = avgByte;
}
public String getAvgPacket() {
return avgPacket;
}
public void setAvgPacket(String avgPacket) {
this.avgPacket = avgPacket;
}
} }

View File

@@ -188,6 +188,20 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
long afterTime = after.getTime(); long afterTime = after.getTime();
return (afterTime - beforeTime) / (1000 * 60 * 60 * 24); return (afterTime - beforeTime) / (1000 * 60 * 60 * 24);
} }
/**
* 获取两个日期之间的秒数
*
* @param before
* @param after
* @return
*/
public static double getSecondsOfTwoDate(Date before, Date after) {
long beforeTime = before.getTime();
long afterTime = after.getTime();
return (afterTime - beforeTime) / (1000);
}
/** /**
* *
* *

View File

@@ -3,6 +3,7 @@ package com.nis.web.controller.dashboard;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
@@ -248,7 +249,7 @@ public class DashboardController extends BaseController{
@ResponseBody @ResponseBody
public List ajaxIpActiveList(String beginDate,String endDate,Integer entranceId){ public List ajaxIpActiveList(String beginDate,String endDate,Integer entranceId){
Map<String, Object> fromJsonList = new HashMap<String, Object>(); Map<String, Object> fromJsonList = new HashMap<String, Object>();
List list = new ArrayList(); List<TrafficIpActiveStatistic> list = new ArrayList<TrafficIpActiveStatistic>();
try { try {
String url=Constants.DASHBOARD_URL+Constants.TRAFFIC_IPACTIVE_ONEHOUR; String url=Constants.DASHBOARD_URL+Constants.TRAFFIC_IPACTIVE_ONEHOUR;
url=urlAddDate(url, beginDate, endDate); url=urlAddDate(url, beginDate, endDate);
@@ -260,6 +261,16 @@ public class DashboardController extends BaseController{
fromJsonList = gson.fromJson(string, new TypeToken<Map<String, Object>>(){}.getType()); fromJsonList = gson.fromJson(string, new TypeToken<Map<String, Object>>(){}.getType());
logger.debug("活跃IP1小时"+fromJsonList); logger.debug("活跃IP1小时"+fromJsonList);
list = gson.fromJson(fromJsonList.get("data").toString(), new TypeToken<List<TrafficIpActiveStatistic>>() {}.getType()) ; list = gson.fromJson(fromJsonList.get("data").toString(), new TypeToken<List<TrafficIpActiveStatistic>>() {}.getType()) ;
if(list.size()>0) {
DecimalFormat lf = new DecimalFormat("0");
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//两个时间段之间的秒数
double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate));
for(TrafficIpActiveStatistic data:list) {
data.setAvgByte(lf.format(Integer.parseInt(data.get_byte())*8/allSeconds));
data.setAvgPacket(lf.format(Integer.parseInt(data.get_packet())/allSeconds));
}
}
Collections.sort(list, new Comparator<TrafficIpActiveStatistic>() { Collections.sort(list, new Comparator<TrafficIpActiveStatistic>() {
@Override @Override
@@ -282,7 +293,7 @@ public class DashboardController extends BaseController{
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.error("活跃IP数据获取错误"+e); logger.error("活跃IP数据获取错误"+e);
list.add(Maps.newHashMap("error","request_service_failed")); //list.add(Maps.newHashMap("error","request_service_failed"));
} }
return list; return list;
} }

View File

@@ -44,6 +44,7 @@ import com.nis.domain.dashboard.TrafficIpActiveStatistic;
import com.nis.util.CodeDicUtils; import com.nis.util.CodeDicUtils;
import com.nis.util.Constants; import com.nis.util.Constants;
import com.nis.util.DateUtil; import com.nis.util.DateUtil;
import com.nis.util.DateUtils;
import com.nis.util.DictUtils; import com.nis.util.DictUtils;
import com.nis.util.StringUtil; import com.nis.util.StringUtil;
import com.nis.util.httpclient.HttpClientUtil; import com.nis.util.httpclient.HttpClientUtil;
@@ -301,6 +302,7 @@ public class TrafficStatisticsInfoController extends BaseController {
@RequestMapping(value="protocolList") @RequestMapping(value="protocolList")
@ResponseBody @ResponseBody
public List protocolList(Model model,Integer entranceId,Integer[] protoType,@RequestParam(required=false)String beginDate,@RequestParam(required=false)String endDate){ public List protocolList(Model model,Integer entranceId,Integer[] protoType,@RequestParam(required=false)String beginDate,@RequestParam(required=false)String endDate){
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Map<String, Object> fromJsonList = new HashMap<String, Object>(); Map<String, Object> fromJsonList = new HashMap<String, Object>();
List list = new ArrayList(); List list = new ArrayList();
String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_PROTOCOL_LIST; String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_PROTOCOL_LIST;
@@ -327,6 +329,8 @@ public class TrafficStatisticsInfoController extends BaseController {
DecimalFormat lf = new DecimalFormat("0"); DecimalFormat lf = new DecimalFormat("0");
DecimalFormat df = new DecimalFormat("0.0000000000"); DecimalFormat df = new DecimalFormat("0.0000000000");
List<CodeResult> appCodeList = CodeDicUtils.getCodeList("appCode"); List<CodeResult> appCodeList = CodeDicUtils.getCodeList("appCode");
//两个时间段之间的秒数
double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate));
if(!StringUtil.isEmpty(list)){ if(!StringUtil.isEmpty(list)){
for (Object object : list) { for (Object object : list) {
Map m=(Map) object; Map m=(Map) object;
@@ -336,6 +340,10 @@ public class TrafficStatisticsInfoController extends BaseController {
m.put("GByte", df.format(m.get("GByte"))); m.put("GByte", df.format(m.get("GByte")));
m.put("packets", lf.format(m.get("packets"))); m.put("packets", lf.format(m.get("packets")));
m.put("linkNum", lf.format(m.get("linkNum"))); m.put("linkNum", lf.format(m.get("linkNum")));
double avgPacket=Double.parseDouble(m.get("packets").toString())/allSeconds;
m.put("pps",lf.format(avgPacket));
double avgByte=Double.parseDouble(m.get("GByte").toString())*1024*1024*1024*8/allSeconds;
m.put("bps",lf.format(avgByte));
totalLink+=Long.parseLong( m.get("linkNum").toString()); totalLink+=Long.parseLong( m.get("linkNum").toString());
totalPackets+=Long.parseLong(m.get("packets").toString()); totalPackets+=Long.parseLong(m.get("packets").toString());
// 协议没匹配的匹配app码表 // 协议没匹配的匹配app码表
@@ -407,6 +415,9 @@ public class TrafficStatisticsInfoController extends BaseController {
Double totalGByte=0d; Double totalGByte=0d;
DecimalFormat lf = new DecimalFormat("0"); DecimalFormat lf = new DecimalFormat("0");
DecimalFormat df = new DecimalFormat("0.0000000000"); DecimalFormat df = new DecimalFormat("0.0000000000");
//两个时间段之间的秒数
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate));
if(!StringUtil.isEmpty(list)){ if(!StringUtil.isEmpty(list)){
for (Object object : list) { for (Object object : list) {
Map m=(Map) object; Map m=(Map) object;
@@ -417,6 +428,11 @@ public class TrafficStatisticsInfoController extends BaseController {
m.put("linkNum", lf.format(m.get("linkNum"))); m.put("linkNum", lf.format(m.get("linkNum")));
totalLink+=Long.parseLong( m.get("linkNum").toString()); totalLink+=Long.parseLong( m.get("linkNum").toString());
totalPackets+=Long.parseLong(m.get("packets").toString()); totalPackets+=Long.parseLong(m.get("packets").toString());
double avgPacket=Double.parseDouble(m.get("packets").toString())/allSeconds;
m.put("pps",lf.format(avgPacket));
double avgByte=Double.parseDouble(m.get("GByte").toString())*1024*1024*1024*8/allSeconds;
m.put("bps",lf.format(avgByte));
} }
for (Object object : list) { for (Object object : list) {
Map m=(Map) object; Map m=(Map) object;
@@ -485,7 +501,7 @@ public class TrafficStatisticsInfoController extends BaseController {
@ResponseBody @ResponseBody
public List ajaxAppTopList(String beginDate,String endDate,Integer appType,Integer entranceId,Integer searchQuota,Model model){ public List ajaxAppTopList(String beginDate,String endDate,Integer appType,Integer entranceId,Integer searchQuota,Model model){
Map<String, Object> fromJsonList = new HashMap<String, Object>(); Map<String, Object> fromJsonList = new HashMap<String, Object>();
List list = new ArrayList(); List<Map> list = new ArrayList<Map>();
try { try {
String url=Constants.DASHBOARD_URL+Constants.APPCONN_RECORD_TOP100; String url=Constants.DASHBOARD_URL+Constants.APPCONN_RECORD_TOP100;
URIBuilder uriBuilder = new URIBuilder(url); URIBuilder uriBuilder = new URIBuilder(url);
@@ -508,7 +524,18 @@ public class TrafficStatisticsInfoController extends BaseController {
fromJsonList = gson.fromJson(string, new TypeToken<Map<String, Object>>(){}.getType()); fromJsonList = gson.fromJson(string, new TypeToken<Map<String, Object>>(){}.getType());
logger.debug("app列表Top100"+fromJsonList); logger.debug("app列表Top100"+fromJsonList);
list = (ArrayList) fromJsonList.get("data"); list = (ArrayList) fromJsonList.get("data");
if(list.size()>0) {
//两个时间段之间的秒数
DecimalFormat dl = new DecimalFormat("0");
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate));
for(Map m:list) {
double avgPacket=Double.parseDouble(m.get("pktNum").toString())/allSeconds;
m.put("pps",dl.format(avgPacket));
double avgByte=Double.parseDouble(m.get("byteNum").toString())*8/allSeconds;
m.put("bps",dl.format(avgByte));
}
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
logger.error("app列表Top100"+e); logger.error("app列表Top100"+e);
@@ -610,6 +637,9 @@ public class TrafficStatisticsInfoController extends BaseController {
// Double totalLink=0d; // Double totalLink=0d;
Double totalGbyte=0d; Double totalGbyte=0d;
Double totalPackets=0d; Double totalPackets=0d;
//两个时间段之间的秒数
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate));
for (Object object : list) { for (Object object : list) {
Map m=(Map)object; Map m=(Map)object;
Double count=(Double)m.get("byteCount"); Double count=(Double)m.get("byteCount");
@@ -618,6 +648,11 @@ public class TrafficStatisticsInfoController extends BaseController {
totalPackets+=(Double)m.get("pktCount"); totalPackets+=(Double)m.get("pktCount");
String format = df.format(count/1024/1024/1024); String format = df.format(count/1024/1024/1024);
m.put("Gbyte", format); m.put("Gbyte", format);
double avgPacket=Double.parseDouble(m.get("pktCount").toString())/allSeconds;
m.put("pps",dl.format(avgPacket));
double avgByte=Double.parseDouble(m.get("byteCount").toString())*8/allSeconds;
m.put("bps",dl.format(avgByte));
} }
List<WebsiteDomainTopic> codeList = appCfgService.getDomainDict(new WebsiteDomainTopic()); List<WebsiteDomainTopic> codeList = appCfgService.getDomainDict(new WebsiteDomainTopic());
Map<Long, String> map = new HashMap<Long,String>(); Map<Long, String> map = new HashMap<Long,String>();
@@ -687,12 +722,19 @@ public class TrafficStatisticsInfoController extends BaseController {
Long totalPackets=0l; Long totalPackets=0l;
Double totalGByte=0d; Double totalGByte=0d;
DecimalFormat lf = new DecimalFormat("0"); DecimalFormat lf = new DecimalFormat("0");
//两个时间段之间的秒数
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate));
if(!StringUtil.isEmpty(list)){ if(!StringUtil.isEmpty(list)){
for (Object object : list) { for (Object object : list) {
Map m=(Map) object; Map m=(Map) object;
totalLink+=Long.parseLong(lf.format(m.get("linkNum"))); totalLink+=Long.parseLong(lf.format(m.get("linkNum")));
totalPackets+=Long.parseLong(lf.format(m.get("packets"))); totalPackets+=Long.parseLong(lf.format(m.get("packets")));
totalGByte+=Double.parseDouble(lf.format(m.get("count"))); totalGByte+=Double.parseDouble(lf.format(m.get("count")));
double avgPacket=Double.parseDouble(m.get("packets").toString())/allSeconds;
m.put("pps",lf.format(avgPacket));
double avgByte=Double.parseDouble(m.get("count").toString())*8/allSeconds;
m.put("bps",lf.format(avgByte));
m.remove("domainData"); m.remove("domainData");
Double value1=0d; Double value1=0d;
if(StringUtil.isBlank(m.get("topicId").toString())){ if(StringUtil.isBlank(m.get("topicId").toString())){

View File

@@ -87,11 +87,11 @@ public class TrafficStatisticsReportController extends BaseController {
// statTime=DateUtils.getDate()+" 00:00:00"; // 默认今天 // statTime=DateUtils.getDate()+" 00:00:00"; // 默认今天
// endTime=DateUtils.getDateTime(); // endTime=DateUtils.getDateTime();
Calendar cal = Calendar.getInstance(); Calendar time = Calendar.getInstance();
cal.setTime(new Date()); endTime = DateUtils.formatDateTimeByParm(time.getTime(),"yyyy-MM-dd HH")+":00:00";
endTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cal.getTime());// 获取到完整的时间 time.add(Calendar.HOUR_OF_DAY, -1);
cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1); statTime = DateUtils.formatDateTimeByParm(time.getTime(),"yyyy-MM-dd HH")+":00:00";;
statTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cal.getTime());
bean.setSearchFoundStartTime(statTime); bean.setSearchFoundStartTime(statTime);
bean.setSearchFoundEndTime(endTime); bean.setSearchFoundEndTime(endTime);
statTime = URLEncoder.encode(statTime, "UTF-8"); statTime = URLEncoder.encode(statTime, "UTF-8");

View File

@@ -1361,7 +1361,7 @@ nas_ip=NAS IP Address
framed_ip=Framed IP Address framed_ip=Framed IP Address
log_user_name=User Name log_user_name=User Name
av_tips=The system does not support the index information of audio and video coding in the tail of the audio and video files. The system does not support video with resolution greater than 1080P. av_tips=The system does not support the index information of audio and video coding in the tail of the audio and video files. The system does not support video with resolution greater than 1080P.
asn_ip_group_delete=\uFF08IP configuration under this ASN group will also be deleted.) asn_ip_group_delete=\uff08IP configuration under this ASN group will also be deleted.)
keyword_log_tips=Deduplicate http body keywords log,for the control status of http body keywords is not ideal, configure the http url of the hit keyword as URL control configuration. keyword_log_tips=Deduplicate http body keywords log,for the control status of http body keywords is not ideal, configure the http url of the hit keyword as URL control configuration.
conn_record=Connection Records conn_record=Connection Records
bps=Gbps bps=Gbps
@@ -1475,3 +1475,4 @@ block_drop=Block(Drop)
mail_record=Mail Records mail_record=Mail Records
ssl_record=SSL Records ssl_record=SSL Records
http_record=HTTP Records http_record=HTTP Records
second_bps=bps

View File

@@ -44,6 +44,7 @@ domain_control=\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043
dns_control=DNS dns_control=DNS
basic_configuration=\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f basic_configuration=\u0411\u0430\u0437\u043e\u0432\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f
Request_from=\u041f\u0438\u0441\u044c\u043c\u0435\u043d\u043d\u044b\u0439 \u043e\u0444\u0438\u0441 Request_from=\u041f\u0438\u0441\u044c\u043c\u0435\u043d\u043d\u044b\u0439 \u043e\u0444\u0438\u0441
second_bps=bps
classification_manage=\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f classification_manage=\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f
area_manage=\u0420\u0435\u0433\u0438\u043e\u043d area_manage=\u0420\u0435\u0433\u0438\u043e\u043d
feature_scope_manage=\u041e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432 feature_scope_manage=\u041e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u043e\u0432
@@ -342,10 +343,10 @@ expression_type=\u0422\u0438\u043f \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0
null_expression=\u041d\u0435\u0442 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f null_expression=\u041d\u0435\u0442 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f
and_expression=& and_expression=&
match_method=\u041c\u0435\u0442\u043e\u0434\u044b \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 match_method=\u041c\u0435\u0442\u043e\u0434\u044b \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435
substring_match=\u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435 \u041F\u043E\u0434\u0441\u0442\u0440\u043E\u043A\u043E\u0439 substring_match=\u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u041f\u043e\u0434\u0441\u0442\u0440\u043e\u043a\u043e\u0439
right_match= \u0421\u0443\u0444\u0444\u0438\u043A\u0441 \u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435 right_match= \u0421\u0443\u0444\u0444\u0438\u043a\u0441 \u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435
left_match=\u041F\u0440\u0435\u0444\u0438\u043A\u0441 \u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435 left_match=\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435
exactly_match=\u0422\u043E\u0447\u043D\u043E\u0441\u0442\u044C\u044E \u0421\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u0438\u0435 exactly_match=\u0422\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0421\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435
whether_hexbinary=\u041d\u0435\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443 \u0438\u043b\u0438 \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0438\u043b\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 HEX whether_hexbinary=\u041d\u0435\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443 \u0438\u043b\u0438 \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0438\u043b\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 HEX
hex_binary=HEX \u0444\u043e\u0440\u043c\u0430\u0442 hex_binary=HEX \u0444\u043e\u0440\u043c\u0430\u0442
case_insensitive_nohex=\u041d\u0435\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u0435\u043d \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443, \u0438 \u043d\u0435 HEX case_insensitive_nohex=\u041d\u0435\u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u0435\u043d \u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0443, \u0438 \u043d\u0435 HEX
@@ -1018,7 +1019,7 @@ domain_intercepter_ratelimit=\u041f\u0435\u0440\u0435\u0445\u0432\u0430\u0442 \u
app_built_in_features_config=\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f app_built_in_features_config=\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f
PXY_INTERCEPT_PKT_BIN=\u041f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 PXY_INTERCEPT_PKT_BIN=\u041f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432
certificate=\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 certificate=\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442
do_log=\u041D\u0430\u0434\u043E \u043B\u0438 \u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0436\u0443\u0440\u043D\u0430\u043B do_log=\u041d\u0430\u0434\u043e \u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0436\u0443\u0440\u043d\u0430\u043b
file_strategy=\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 file_strategy=\u041f\u043e\u043b\u0438\u0442\u0438\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432
file_desc=\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 file_desc=\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432
content_type=\u0422\u0438\u043f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f content_type=\u0422\u0438\u043f \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f
@@ -1045,7 +1046,7 @@ keyring_name=\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0430\u0440
keyring_type=\u0422\u0438\u043f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 keyring_type=\u0422\u0438\u043f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430
private_key_file=\u0424\u0430\u0439\u043b \u0441 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u043c \u043a\u043b\u044e\u0447\u043e\u043c private_key_file=\u0424\u0430\u0439\u043b \u0441 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u043c \u043a\u043b\u044e\u0447\u043e\u043c
public_key_file=\u0424\u0430\u0439\u043b \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u043a\u043b\u044e\u0447\u043e\u043c public_key_file=\u0424\u0430\u0439\u043b \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u043a\u043b\u044e\u0447\u043e\u043c
expire_after=\u0418\u0441\u0442\u0435\u043a\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435(\u0414\u043D\u0438) expire_after=\u0418\u0441\u0442\u0435\u043a\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435(\u0414\u043d\u0438)
issuer=\u042d\u043c\u0438\u0442\u0435\u043d\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 issuer=\u042d\u043c\u0438\u0442\u0435\u043d\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430
certificate_subject=\u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 certificate_subject=\u041f\u0440\u0435\u0434\u043c\u0435\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430
not_before_time=\u0412\u0440\u0435\u043c\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430 not_before_time=\u0412\u0440\u0435\u043c\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430
@@ -1406,11 +1407,11 @@ APP_TCP_SESSION_BYTE=\u0421\u0435\u0430\u043d\u0441
ip_count=Uniq-IP ip_count=Uniq-IP
counnection_count=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 counnection_count=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439
asn=ASN asn=ASN
Unique_num=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u041A\u043B\u0438\u0435\u043D\u0442\u0430 IP Unique_num=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u041a\u043b\u0438\u0435\u043d\u0442\u0430 IP
ip=IP ip=IP
country=\u0421\u0442\u0440\u0430\u043d\u0430 country=\u0421\u0442\u0440\u0430\u043d\u0430
desc=Desc desc=Desc
unique_num=\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E \u041A\u043B\u0438\u0435\u043D\u0442\u0430 IP unique_num=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u041a\u043b\u0438\u0435\u043d\u0442\u0430 IP
import_limit_is=The maximum import size is import_limit_is=The maximum import size is
upload_limit_is=The limitation of file uplaod is upload_limit_is=The limitation of file uplaod is
count=Count count=Count
@@ -1472,10 +1473,10 @@ not_exist=not exist
real_time=Real Time real_time=Real Time
history=History history=History
all_columns_hidden=All columns are hidden! all_columns_hidden=All columns are hidden!
no_log=\u041D\u0435\u0442 \u0416\u0443\u0440\u043D\u0430\u043B\u043E\u0432 no_log=\u041d\u0435\u0442 \u0416\u0443\u0440\u043d\u0430\u043b\u043e\u0432
all_log=\u0421\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0416\u0443\u0440\u043D\u0430\u043B \u0438 \u0416\u0443\u0440\u043D\u0430\u043B-\u0444\u0430\u0439\u043B all_log=\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0416\u0443\u0440\u043d\u0430\u043b \u0438 \u0416\u0443\u0440\u043d\u0430\u043b-\u0444\u0430\u0439\u043b
framework_log=\u0421\u0442\u0440\u0443\u043A\u0442\u0443\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0416\u0443\u0440\u043D\u0430\u043B framework_log=\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0416\u0443\u0440\u043d\u0430\u043b
block_drop=\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435(\u041f\u0430\u0434\u0435\u043d\u0438\u0435) block_drop=\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435(\u041f\u0430\u0434\u0435\u043d\u0438\u0435)
mail_record=\u0417\u0430\u043F\u0438\u0441\u0438 \u041F\u043E\u0447\u0442\u044B mail_record=\u0417\u0430\u043f\u0438\u0441\u0438 \u041f\u043e\u0447\u0442\u044b
ssl_record=SSL \u0417\u0430\u043F\u0438\u0441\u0438 ssl_record=SSL \u0417\u0430\u043f\u0438\u0441\u0438
http_record=HTTP \u0417\u0430\u043F\u0438\u0441\u0438 http_record=HTTP \u0417\u0430\u043f\u0438\u0441\u0438

View File

@@ -1017,7 +1017,7 @@ domain_intercepter_ratelimit=\u57df\u540d\u62e6\u622a\u9650\u901f
app_built_in_features_config=APP\u5185\u7f6e\u7279\u5f81\u7ef4\u62a4 app_built_in_features_config=APP\u5185\u7f6e\u7279\u5f81\u7ef4\u62a4
PXY_INTERCEPT_PKT_BIN=\u5305\u8f7d\u8377 PXY_INTERCEPT_PKT_BIN=\u5305\u8f7d\u8377
certificate=\u8bc1\u4e66 certificate=\u8bc1\u4e66
do_log=\u662F\u5426\u8BB0\u5F55\u65E5\u5FD7 do_log=\u662f\u5426\u8bb0\u5f55\u65e5\u5fd7
file_strategy=\u6587\u4ef6\u7b56\u7565 file_strategy=\u6587\u4ef6\u7b56\u7565
file_desc=\u6587\u4ef6\u63cf\u8ff0\t file_desc=\u6587\u4ef6\u63cf\u8ff0\t
content_type=\u5185\u5bb9\u7c7b\u578b content_type=\u5185\u5bb9\u7c7b\u578b
@@ -1468,10 +1468,11 @@ not_exist=\u4e0d\u5b58\u5728
real_time=\u5b9e\u65f6 real_time=\u5b9e\u65f6
history=\u5386\u53f2 history=\u5386\u53f2
all_columns_hidden=\u6240\u6709\u7684\u5217\u90fd\u9690\u85cf\u4e86\uff01 all_columns_hidden=\u6240\u6709\u7684\u5217\u90fd\u9690\u85cf\u4e86\uff01
no_log=\u4E0D\u8BB0\u5F55 no_log=\u4e0d\u8bb0\u5f55
all_log=\u8BB0\u5F55\u6240\u6709\u65E5\u5FD7 all_log=\u8bb0\u5f55\u6240\u6709\u65e5\u5fd7
framework_log=\u53EA\u8BB0\u5F55\u7ED3\u6784\u5316\u65E5\u5FD7 framework_log=\u53ea\u8bb0\u5f55\u7ed3\u6784\u5316\u65e5\u5fd7
block_drop=\u5C01\u5835(\u4E22\u5F03) block_drop=\u5c01\u5835(\u4e22\u5f03)
mail_record=\u90AE\u4EF6\u6CDB\u6536 mail_record=\u90ae\u4ef6\u6cdb\u6536
ssl_record=SSL\u6CDB\u6536 ssl_record=SSL\u6cdb\u6536
http_record=HTTP\u6CDB\u6536 http_record=HTTP\u6cdb\u6536
second_bps=bps

View File

@@ -283,9 +283,9 @@
<th><spring:message code="classification"/></th> <th><spring:message code="classification"/></th>
<th><spring:message code="attribute"/></th> <th><spring:message code="attribute"/></th>
<th><spring:message code="label"/></th> --%> <th><spring:message code="label"/></th> --%>
<th column="valid_identifier" ><spring:message code="valid_identifier"/></th>
<th><spring:message code="is_audit"/></th> <th><spring:message code="is_audit"/></th>
<%-- <th><spring:message code="log_total"/></th> --%> <%-- <th><spring:message code="log_total"/></th> --%>
<th column="valid_identifier" ><spring:message code="valid_identifier"/></th>
<th column="creator" ><spring:message code="creator"/></th> <th column="creator" ><spring:message code="creator"/></th>
<th column="config_time" class="sort-column r.create_time"><spring:message code="config_time"/></th> <th column="config_time" class="sort-column r.create_time"><spring:message code="config_time"/></th>
<th column="editor" ><spring:message code="editor"/></th> <th column="editor" ><spring:message code="editor"/></th>
@@ -389,11 +389,6 @@
</a> </a>
</td> --%> </td> --%>
<%-- <td>${cfg.areaEffectiveIds }</td> --%> <%-- <td>${cfg.areaEffectiveIds }</td> --%>
<td>
<c:if test="${cfg.isValid==0}"><spring:message code="no"/></c:if>
<c:if test="${cfg.isValid==1}"><spring:message code="yes"/></c:if>
<c:if test="${cfg.isValid==-1}"><spring:message code="deleted"/></c:if>
</td>
<td> <td>
<c:choose> <c:choose>
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when> <c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
@@ -412,6 +407,11 @@
</c:choose> --%> </c:choose> --%>
</td> </td>
<%-- <td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}"><div class="loading-total"></div></td> --%> <%-- <td audit="${cfg.isAudit}" functionId="${cfg.functionId}" compileId="${cfg.compileId}" action="${cfg.action}"><div class="loading-total"></div></td> --%>
<td>
<c:if test="${cfg.isValid==0}"><spring:message code="no"/></c:if>
<c:if test="${cfg.isValid==1}"><spring:message code="yes"/></c:if>
<c:if test="${cfg.isValid==-1}"><spring:message code="deleted"/></c:if>
</td>
<td>${cfg.creatorName }</td> <td>${cfg.creatorName }</td>
<td><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td> <td><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${cfg.editorName }</td> <td>${cfg.editorName }</td>

View File

@@ -402,7 +402,6 @@
<th column="ip_total" class="sort-column r.ip_total"><spring:message code="ip_total"/></th> <th column="ip_total" class="sort-column r.ip_total"><spring:message code="ip_total"/></th>
<th column="available_ip_total" ><spring:message code="available_ip_total"/></th> <th column="available_ip_total" ><spring:message code="available_ip_total"/></th>
<%-- <th column="user_name" ><spring:message code="block_type"/></th> --%> <%-- <th column="user_name" ><spring:message code="block_type"/></th> --%>
<th column="valid_identifier" class="sort-column r.is_valid"><spring:message code="valid_identifier"/></th>
<th column="is_audit" ><spring:message code="is_audit"/></th> <th column="is_audit" ><spring:message code="is_audit"/></th>
<%-- <th column="whether_area_block" ><spring:message code="whether_area_block"/></th> --%> <%-- <th column="whether_area_block" ><spring:message code="whether_area_block"/></th> --%>
<th column="operation" ><spring:message code="operation"/></th> <th column="operation" ><spring:message code="operation"/></th>
@@ -410,6 +409,7 @@
<th column="classification" ><spring:message code="classification"/></th> <th column="classification" ><spring:message code="classification"/></th>
<th column="attribute" ><spring:message code="attribute"/></th> <th column="attribute" ><spring:message code="attribute"/></th>
<th column="label" ><spring:message code="label"/></th> <th column="label" ><spring:message code="label"/></th>
<th column="valid_identifier" class="sort-column r.is_valid"><spring:message code="valid_identifier"/></th>
<th column="creator" ><spring:message code="creator"/></th> <th column="creator" ><spring:message code="creator"/></th>
<th column="config_time" class="sort-column r.create_time"><spring:message code="config_time"/></th> <th column="config_time" class="sort-column r.create_time"><spring:message code="config_time"/></th>
<th column="editor" ><spring:message code="editor"/></th> <th column="editor" ><spring:message code="editor"/></th>
@@ -439,11 +439,6 @@
</c:if> </c:if>
</c:forEach> </c:forEach>
</td> --%> </td> --%>
<td>
<c:if test="${cfg.isValid==0}"><spring:message code="no"/></c:if>
<c:if test="${cfg.isValid==1}"><spring:message code="yes"/></c:if>
<c:if test="${cfg.isValid==-1}"><spring:message code="deleted"/></c:if>
</td>
<td> <td>
<c:choose> <c:choose>
<c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when> <c:when test="${cfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
@@ -524,6 +519,11 @@
${fns:abbr(lableInfo,20)} ${fns:abbr(lableInfo,20)}
</a> </a>
</td> </td>
<td>
<c:if test="${cfg.isValid==0}"><spring:message code="no"/></c:if>
<c:if test="${cfg.isValid==1}"><spring:message code="yes"/></c:if>
<c:if test="${cfg.isValid==-1}"><spring:message code="deleted"/></c:if>
</td>
<td>${cfg.creatorName }</td> <td>${cfg.creatorName }</td>
<td><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td> <td><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${cfg.editorName }</td> <td>${cfg.editorName }</td>

View File

@@ -354,17 +354,16 @@
<th column="protocol" ><spring:message code="protocol"/></th> <th column="protocol" ><spring:message code="protocol"/></th>
<th column="user_type"><spring:message code="user_type"/></th> <th column="user_type"><spring:message code="user_type"/></th>
<th column="user"><spring:message code="user"/></th> <th column="user"><spring:message code="user"/></th>
<th column="log_total" ><spring:message code="log_total"/></th>
<th column="valid_identifier" class="sort-column a.is_valid"><spring:message code="valid_identifier"/></th>
<th column="is_audit" ><spring:message code="is_audit"/></th> <th column="is_audit" ><spring:message code="is_audit"/></th>
<%-- <th column="do_log" ><spring:message code="do_log"/></th> --%> <%-- <th column="do_log" ><spring:message code="do_log"/></th> --%>
<th column="log_total" ><spring:message code="log_total"/></th>
<%-- <th column="log_total" ><spring:message code="log_total"/></th> --%>
<%-- <th column="whether_area_block" ><spring:message code="whether_area_block"/></th> --%> <%-- <th column="whether_area_block" ><spring:message code="whether_area_block"/></th> --%>
<th column="letter" ><spring:message code="letter"/></th> <th column="letter" ><spring:message code="letter"/></th>
<th column="classification" ><spring:message code="classification"/></th> <th column="classification" ><spring:message code="classification"/></th>
<th column="attribute" ><spring:message code="attribute"/></th> <th column="attribute" ><spring:message code="attribute"/></th>
<th column="label" ><spring:message code="label"/></th> <th column="label" ><spring:message code="label"/></th>
<%-- <th column="log_total" ><spring:message code="log_total"/></th> --%> <th column="valid_identifier" class="sort-column a.is_valid"><spring:message code="valid_identifier"/></th>
<th column="creator" ><spring:message code="creator"/></th> <th column="creator" ><spring:message code="creator"/></th>
<th column="config_time" class="sort-column a.create_time"><spring:message code="config_time"/></th> <th column="config_time" class="sort-column a.create_time"><spring:message code="config_time"/></th>
<th column="editor" ><spring:message code="editor"/></th> <th column="editor" ><spring:message code="editor"/></th>
@@ -418,8 +417,6 @@
</c:forEach> </c:forEach>
</td> </td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>
<%-- <td> <%-- <td>
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict"> <c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
<c:if test="${dict.itemCode eq indexCfg.doLog }"> <c:if test="${dict.itemCode eq indexCfg.doLog }">
@@ -435,11 +432,6 @@
</a> </a>
</c:if> </c:if>
</td> --%> </td> --%>
<td>
<c:if test="${indexCfg.isValid==0}"><spring:message code="no"/></c:if>
<c:if test="${indexCfg.isValid==1}"><spring:message code="yes"/></c:if>
<c:if test="${indexCfg.isValid==-1}"><spring:message code="deleted"/></c:if>
</td>
<td> <td>
<c:choose> <c:choose>
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when> <c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
@@ -448,6 +440,8 @@
<c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when> <c:when test="${indexCfg.isAudit eq '3'}"><span indexTable="${indexCfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon="&#xe01e;"> <spring:message code="cancel_approved"/></span></c:when>
</c:choose> </c:choose>
</td> </td>
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>
<%-- <td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}"><div class="loading-total"></div></td> --%>
<td>${indexCfg.requestName }</td> <td>${indexCfg.requestName }</td>
<td> <td>
<c:set var="classify"></c:set> <c:set var="classify"></c:set>
@@ -507,7 +501,11 @@
${fns:abbr(lableInfo,20)} ${fns:abbr(lableInfo,20)}
</a> </a>
</td> </td>
<%-- <td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}"><div class="loading-total"></div></td> --%> <td>
<c:if test="${indexCfg.isValid==0}"><spring:message code="no"/></c:if>
<c:if test="${indexCfg.isValid==1}"><spring:message code="yes"/></c:if>
<c:if test="${indexCfg.isValid==-1}"><spring:message code="deleted"/></c:if>
</td>
<td>${indexCfg.creatorName }</td> <td>${indexCfg.creatorName }</td>
<td><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td> <td><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${indexCfg.editorName }</td> <td>${indexCfg.editorName }</td>

View File

@@ -332,7 +332,6 @@
<%-- <th column="ip"><spring:message code="ip"/></th> --%> <%-- <th column="ip"><spring:message code="ip"/></th> --%>
<th column="log_total"><spring:message code="log_total"/></th> <th column="log_total"><spring:message code="log_total"/></th>
<%-- <th column="block_type" class="sort-column a.action"><spring:message code="block_type"/></th> --%> <%-- <th column="block_type" class="sort-column a.action"><spring:message code="block_type"/></th> --%>
<th column="valid_identifier" class="sort-column r.is_valid"><spring:message code="valid_identifier"/></th>
<th column="is_audit"><spring:message code="is_audit"/></th> <th column="is_audit"><spring:message code="is_audit"/></th>
<%-- <th column="do_log"><spring:message code="do_log"/></th> --%> <%-- <th column="do_log"><spring:message code="do_log"/></th> --%>
<%-- <th column="whether_area_block"><spring:message code="whether_area_block"/></th> --%> <%-- <th column="whether_area_block"><spring:message code="whether_area_block"/></th> --%>
@@ -340,6 +339,7 @@
<th column="classification"><spring:message code="classification"/></th> <th column="classification"><spring:message code="classification"/></th>
<th column="attribute"><spring:message code="attribute"/></th> <th column="attribute"><spring:message code="attribute"/></th>
<th column="label"><spring:message code="label"/></th> <th column="label"><spring:message code="label"/></th>
<th column="valid_identifier" class="sort-column r.is_valid"><spring:message code="valid_identifier"/></th>
<th column="creator"><spring:message code="creator"/></th> <th column="creator"><spring:message code="creator"/></th>
<th column="config_time" class="sort-column r.create_time"><spring:message code="config_time"/></th> <th column="config_time" class="sort-column r.create_time"><spring:message code="config_time"/></th>
<th column="editor"><spring:message code="editor"/></th> <th column="editor"><spring:message code="editor"/></th>
@@ -391,11 +391,6 @@
</c:if> </c:if>
</c:forEach> </c:forEach>
</td> --%> </td> --%>
<td>
<c:if test="${indexCfg.isValid==0}"><spring:message code="no"/></c:if>
<c:if test="${indexCfg.isValid==1}"><spring:message code="yes"/></c:if>
<c:if test="${indexCfg.isValid==-1}"><spring:message code="deleted"/></c:if>
</td>
<td> <td>
<c:choose> <c:choose>
<c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when> <c:when test="${indexCfg.isAudit eq '0'}"><span class="label label-danger"><spring:message code="created"></spring:message></span></c:when>
@@ -478,6 +473,11 @@
${fns:abbr(lableInfo,20)} ${fns:abbr(lableInfo,20)}
</a> </a>
</td> </td>
<td>
<c:if test="${indexCfg.isValid==0}"><spring:message code="no"/></c:if>
<c:if test="${indexCfg.isValid==1}"><spring:message code="yes"/></c:if>
<c:if test="${indexCfg.isValid==-1}"><spring:message code="deleted"/></c:if>
</td>
<td>${indexCfg.creatorName }</td> <td>${indexCfg.creatorName }</td>
<td><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td> <td><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
<td>${indexCfg.editorName }</td> <td>${indexCfg.editorName }</td>

View File

@@ -79,7 +79,7 @@ body {
<!-- 网络带宽 --><spring:message code="traffic"/> <!-- 网络带宽 --><spring:message code="traffic"/>
</label> </label>
</p> </p>
<a href="${ctx}/dashboard/traffic/bandwidthList"><p class="csNum">c2s <span class="c2sNum">0</span> | s2c <span class="s2cNum">0</span> </p> <a href="${ctx}/dashboard/traffic/bandwidthList"><p class="csNum">in <span class="c2sNum">0</span> | out <span class="s2cNum">0</span> </p>
<span class="numberRun4">0</span > <span class="numberRun4-unit">bps</span></a> <span class="numberRun4">0</span > <span class="numberRun4-unit">bps</span></a>
</div> </div>
</div> </div>

View File

@@ -162,6 +162,8 @@
<th><spring:message code="percentage"/> (<spring:message code="packets"/>)</th> <th><spring:message code="percentage"/> (<spring:message code="packets"/>)</th>
<th><spring:message code="bytes"/></th> <th><spring:message code="bytes"/></th>
<th><spring:message code="percentage"/> (<spring:message code="bytes"/>)</th> <th><spring:message code="percentage"/> (<spring:message code="bytes"/>)</th>
<th><spring:message code="pps"/></th>
<th><spring:message code="second_bps"/></th>
</tr> </tr>
</thead> </thead>
<tbody id="tableData"></tbody> <tbody id="tableData"></tbody>
@@ -317,6 +319,8 @@
html += "<td class='tc'>" + data.pktPercent + " %</td>"; html += "<td class='tc'>" + data.pktPercent + " %</td>";
html += "<td class='tc'>" + Math.round(data.byteNum*100)/100 + "</td>"; html += "<td class='tc'>" + Math.round(data.byteNum*100)/100 + "</td>";
html += "<td class='tc'>" + data.bytePercent + " %</td>"; html += "<td class='tc'>" + data.bytePercent + " %</td>";
html += "<td class='tc'>" + data.pps + "</td>";
html += "<td class='tc'>" + data.bps + "</td>";
html += "</tr>" html += "</tr>"
if(index==fileDataS.length-1){ if(index==fileDataS.length-1){
html+="<tr class='tr-total hidden'>" html+="<tr class='tr-total hidden'>"
@@ -327,6 +331,8 @@
html+= "<td class='tc'>"+"--"+"</td>"; html+= "<td class='tc'>"+"--"+"</td>";
html+= "<td class='tc'>"+totalbyte+"</td>"; html+= "<td class='tc'>"+totalbyte+"</td>";
html+= "<td class='tc'>"+"--"+"</td>"; html+= "<td class='tc'>"+"--"+"</td>";
html+= "<td class='tc'>"+"--"+"</td>";
html+= "<td class='tc'>"+"--"+"</td>";
html+="</tr>" html+="</tr>"
} }
} }

View File

@@ -120,6 +120,8 @@
<th class="tl"><spring:message code="percentage"/> (<spring:message code="packets"/>)</th> <th class="tl"><spring:message code="percentage"/> (<spring:message code="packets"/>)</th>
<th class="tl"><spring:message code="GByte"/></th> <th class="tl"><spring:message code="GByte"/></th>
<th class="tl"><spring:message code="percentage"/> (<spring:message code="GByte"/>)</th> <th class="tl"><spring:message code="percentage"/> (<spring:message code="GByte"/>)</th>
<th class="tl"><spring:message code="pps"/></th>
<th class="tl"><spring:message code="second_bps"/></th>
</tr> </tr>
</thead> </thead>
<tbody id="tableData"></tbody> <tbody id="tableData"></tbody>
@@ -353,6 +355,8 @@ function htmlData(fileDataS){
html+= "<td class='tc'>"+packper+"%"+"</td>"; html+= "<td class='tc'>"+packper+"%"+"</td>";
html+= "<td class='tc'>"+Math.round(data.GByte*100)/100+"</td>"; html+= "<td class='tc'>"+Math.round(data.GByte*100)/100+"</td>";
html+= "<td class='tc'>"+gbytper+"%"+"</td>"; html+= "<td class='tc'>"+gbytper+"%"+"</td>";
html+= "<td class='tc'>"+data.pps+"</td>";
html+= "<td class='tc'>"+data.bps+"</td>";
html+="</tr>" html+="</tr>"
if(index==fileDataS.length-1){ if(index==fileDataS.length-1){
html+="<tr class='tr-total hidden'>" html+="<tr class='tr-total hidden'>"
@@ -364,6 +368,8 @@ function htmlData(fileDataS){
html+= "<td class='tc'>"+"100%"+"</td>"; html+= "<td class='tc'>"+"100%"+"</td>";
html+= "<td class='tc'>"+Math.round(totalGByte*100)/100+"</td>"; html+= "<td class='tc'>"+Math.round(totalGByte*100)/100+"</td>";
html+= "<td class='tc'>"+"100%"+"</td>"; html+= "<td class='tc'>"+"100%"+"</td>";
html+= "<td class='tc'>"+"--"+"</td>";
html+= "<td class='tc'>"+"--"+"</td>";
html+="</tr>" html+="</tr>"
} }
} }

View File

@@ -82,6 +82,8 @@
<th class="tl"><spring:message code="percentage"/> (<spring:message code="packets"/>)</th> <th class="tl"><spring:message code="percentage"/> (<spring:message code="packets"/>)</th>
<th class="tl"><spring:message code="GByte"/></th> <th class="tl"><spring:message code="GByte"/></th>
<th class="tl"><spring:message code="percentage"/> (<spring:message code="GByte"/>)</th> <th class="tl"><spring:message code="percentage"/> (<spring:message code="GByte"/>)</th>
<th class="tl"><spring:message code="pps"/></th>
<th class="tl"><spring:message code="second_bps"/></th>
</tr> </tr>
</thead> </thead>
<tbody id="tableData"></tbody> <tbody id="tableData"></tbody>
@@ -298,6 +300,8 @@ function htmlData(fileDataS){
html+= "<td class='tc'>"+(data.packets/data.allPackets*100).toFixed(2)+"%"+"</td>"; html+= "<td class='tc'>"+(data.packets/data.allPackets*100).toFixed(2)+"%"+"</td>";
html+= "<td class='tc'>"+(data.count/1073741824).toFixed(2)+"</td>"; html+= "<td class='tc'>"+(data.count/1073741824).toFixed(2)+"</td>";
html+= "<td class='tc'>"+(data.count/data.allGByte*100).toFixed(2)+"%"+"</td>"; html+= "<td class='tc'>"+(data.count/data.allGByte*100).toFixed(2)+"%"+"</td>";
html+= "<td class='tc'>"+data.pps+"</td>";
html+= "<td class='tc'>"+data.bps+"</td>";
html+="</tr>" html+="</tr>"
if(index==fileDataS.length-1){ if(index==fileDataS.length-1){
html+="<tr class='tr-total hidden'>" html+="<tr class='tr-total hidden'>"
@@ -308,6 +312,8 @@ function htmlData(fileDataS){
html+= "<td class='tc'>"+"100%"+"</td>"; html+= "<td class='tc'>"+"100%"+"</td>";
html+= "<td class='tc'>"+(data.allGByte/1073741824).toFixed(2)+"</td>"; html+= "<td class='tc'>"+(data.allGByte/1073741824).toFixed(2)+"</td>";
html+= "<td class='tc'>"+"100%"+"</td>"; html+= "<td class='tc'>"+"100%"+"</td>";
html+= "<td class='tc'>"+"--"+"</td>";
html+= "<td class='tc'>"+"--"+"</td>";
html+="</tr>" html+="</tr>"
} }
} }

View File

@@ -100,6 +100,8 @@
<th><spring:message code="s2c_pkt_num"/></th> <th><spring:message code="s2c_pkt_num"/></th>
<th><spring:message code="packet"/></th> <th><spring:message code="packet"/></th>
<th><spring:message code="stat_time"/></th> <th><spring:message code="stat_time"/></th>
<th><spring:message code="pps"/></th>
<th><spring:message code="second_bps"/></th>
</tr> </tr>
</thead> </thead>
<tbody id="tbodyData"> <tbody id="tbodyData">
@@ -422,6 +424,8 @@ function showIpActiveChart(xData,series){
html+= "<td class='tc'>"+rs.s2cPktNum+"</td>"; html+= "<td class='tc'>"+rs.s2cPktNum+"</td>";
html+= "<td class='tc'>"+packetNum+"</td>"; html+= "<td class='tc'>"+packetNum+"</td>";
html+= "<td class='tc'>"+rs.statTime+"</td>"; html+= "<td class='tc'>"+rs.statTime+"</td>";
html+= "<td class='tc'>"+rs.avgPacket+"</td>";
html+= "<td class='tc'>"+rs.avgByte+"</td>";
html+="</tr>" html+="</tr>"
if(i==data.length-1){ if(i==data.length-1){
@@ -435,6 +439,8 @@ function showIpActiveChart(xData,series){
html+= "<td class='tc'>"+totalc2sPkt+"</td>"; html+= "<td class='tc'>"+totalc2sPkt+"</td>";
html+= "<td class='tc'>"+totals2cPkt+"</td>"; html+= "<td class='tc'>"+totals2cPkt+"</td>";
html+= "<td class='tc'>"+totalpacket+"</td>"; html+= "<td class='tc'>"+totalpacket+"</td>";
html+= "<td class='tc'>"+"--"+"</td>";
html+= "<td class='tc'>"+"--"+"</td>";
html+= "<td class='tc'>"+"--"+"</td>"; html+= "<td class='tc'>"+"--"+"</td>";
html+="</tr>" html+="</tr>"
} }

View File

@@ -107,6 +107,8 @@
<th class="tl"><spring:message code="percentage"/> (<spring:message code="packets"/>)</th> <th class="tl"><spring:message code="percentage"/> (<spring:message code="packets"/>)</th>
<th class="tl"><spring:message code="GByte"/></th> <th class="tl"><spring:message code="GByte"/></th>
<th class="tl"><spring:message code="percentage"/> (<spring:message code="GByte"/>)</th> <th class="tl"><spring:message code="percentage"/> (<spring:message code="GByte"/>)</th>
<th class="tl"><spring:message code="pps"/></th>
<th class="tl"><spring:message code="second_bps"/></th>
</tr> </tr>
</thead> </thead>
<tbody id="tableData"></tbody> <tbody id="tableData"></tbody>
@@ -343,6 +345,8 @@ function htmlData(fileDataS){
html+= "<td class='tc'>"+packper+"%"+"</td>"; html+= "<td class='tc'>"+packper+"%"+"</td>";
html+= "<td class='tc'>"+Math.round(data.GByte*100)/100+"</td>"; html+= "<td class='tc'>"+Math.round(data.GByte*100)/100+"</td>";
html+= "<td class='tc'>"+gbytper+"%"+"</td>"; html+= "<td class='tc'>"+gbytper+"%"+"</td>";
html+= "<td class='tc'>"+data.pps+"</td>";
html+= "<td class='tc'>"+data.bps+"</td>";
html+="</tr>" html+="</tr>"
if(index==fileDataS.length-1){ if(index==fileDataS.length-1){
html+="<tr class='tr-total hidden'>" html+="<tr class='tr-total hidden'>"
@@ -353,6 +357,8 @@ function htmlData(fileDataS){
html+= "<td class='tc'>"+"100%"+"</td>"; html+= "<td class='tc'>"+"100%"+"</td>";
html+= "<td class='tc'>"+Math.round(totalGByte*100)/100+"</td>"; html+= "<td class='tc'>"+Math.round(totalGByte*100)/100+"</td>";
html+= "<td class='tc'>"+"100%"+"</td>"; html+= "<td class='tc'>"+"100%"+"</td>";
html+= "<td class='tc'>"+"——"+"</td>";
html+= "<td class='tc'>"+"——"+"</td>";
html+="</tr>" html+="</tr>"
} }
} }

View File

@@ -130,7 +130,6 @@
} }
$("#pageNo").val(n); $("#pageNo").val(n);
$("#pageSize").val(s); $("#pageSize").val(s);
// $("#searchForm").attr("action","${ctx}/traffic/userBehavior");
$("#searchForm").submit(); $("#searchForm").submit();
return false; return false;
} }
@@ -244,7 +243,7 @@
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span> <span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
</div> </div>
<input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate" <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/> value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTimeByFormat('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false,'yyyy-MM-dd hh')"/>
</div> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
@@ -253,14 +252,14 @@
<span class="selectpicker form-control" ><spring:message code="end_date"/></span> <span class="selectpicker form-control" ><spring:message code="end_date"/></span>
</div> </div>
<input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate" <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate"
value="${log.searchFoundEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/> value="${log.searchFoundEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTimeByFormat('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false,'yyyy-MM-dd hh')"/>
</div> </div>
</div> </div>
<div class="pull-left accountSearch"> <div class="pull-left accountSearch">
<form:input path="account" class="form-control"/> <form:input path="account" class="form-control required"/>
</div> </div>
<div class="pull-left nasIpSearch"> <div class="pull-left nasIpSearch">
<form:input path="nasIp" class="form-control"/> <form:input path="nasIp" class="form-control required"/>
</div> </div>
<div class="pull-left"> <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 blue" onClick="return page()"> <i class="fa fa-search"></i> <spring:message code="search"/> </button>

View File

@@ -150,6 +150,8 @@
<th><spring:message code="percentage"/> (<spring:message code="packets"/>)</th> <th><spring:message code="percentage"/> (<spring:message code="packets"/>)</th>
<th><spring:message code="GByte"/></th> <th><spring:message code="GByte"/></th>
<th><spring:message code="percentage"/> (<spring:message code="GByte"/>)</th> <th><spring:message code="percentage"/> (<spring:message code="GByte"/>)</th>
<th><spring:message code="pps"/> </th>
<th><spring:message code="second_bps"/></th>
</tr> </tr>
</thead> </thead>
<tbody id="tableData"></tbody> <tbody id="tableData"></tbody>
@@ -398,6 +400,8 @@
html += "<td class='tc'>" + packper + " %</td>"; html += "<td class='tc'>" + packper + " %</td>";
html += "<td class='tc'>" + Math.round(data.Gbyte*100)/100 + "</td>"; html += "<td class='tc'>" + Math.round(data.Gbyte*100)/100 + "</td>";
html += "<td class='tc'>" + gbytper + " %</td>"; html += "<td class='tc'>" + gbytper + " %</td>";
html += "<td class='tc'>" + data.pps + "</td>";
html += "<td class='tc'>" + data.bps + "</td>";
html += "</tr>" html += "</tr>"
if(index==fileDataS.length-1){ if(index==fileDataS.length-1){
html+="<tr class='tr-total hidden'>" html+="<tr class='tr-total hidden'>"
@@ -409,6 +413,8 @@
html+= "<td class='tc'>"+"100%"+"</td>"; html+= "<td class='tc'>"+"100%"+"</td>";
html+= "<td class='tc'>"+parseInt(totalGbyte).toFixed(2)+"</td>"; html+= "<td class='tc'>"+parseInt(totalGbyte).toFixed(2)+"</td>";
html+= "<td class='tc'>"+"100%"+"</td>"; html+= "<td class='tc'>"+"100%"+"</td>";
html+= "<td class='tc'>"+"--"+"</td>";
html+= "<td class='tc'>"+"--"+"</td>";
html+="</tr>" html+="</tr>"
} }
} }