Merge branch 'develop' of https://git.mesalab.cn/K18_NTCS_WEB/NTC.git
into develop Conflicts: src/main/java/com/nis/web/service/BaseService.java asn group中修改组织变更和asn no变更,不重新获取groupId逻辑 ip addr 的asn 修改为手动输入,后台check app ip和asn ip配置取消,取消分组中最后一条配置时,失效整个compile,并且修改groupId的状态为为无效。 无效的asn group删除时,删除其下的所有asn ip
This commit is contained in:
@@ -32,8 +32,17 @@ public class AsnGroupInfo extends BaseCfg<AsnGroupInfo> implements Serializable{
|
||||
|
||||
private Integer isUsed;
|
||||
private Integer regionId;
|
||||
private Integer orgGroupId;
|
||||
|
||||
|
||||
|
||||
public Integer getOrgGroupId() {
|
||||
return orgGroupId;
|
||||
}
|
||||
public void setOrgGroupId(Integer orgGroupId) {
|
||||
this.orgGroupId = orgGroupId;
|
||||
}
|
||||
|
||||
public Integer getIsUsed() {
|
||||
return isUsed;
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ public class AppPolicyCfg extends BaseCfg<AppPolicyCfg> {
|
||||
@SerializedName("isHexbin")
|
||||
private Integer isHexbin;
|
||||
|
||||
@ExcelField(title="log_total",sort=31)
|
||||
@ExcelField(title="log_total",sort=43)
|
||||
private Long totalLogs;
|
||||
|
||||
private List<IpPortCfg> ipPortList;
|
||||
|
||||
@@ -199,17 +199,17 @@ public class BaseCfg<T> extends BaseEntity<T> implements Cloneable{
|
||||
/**
|
||||
* 来函
|
||||
*/
|
||||
@ExcelField(title="letter",sort=58)
|
||||
@ExcelField(title="letter",sort=60)
|
||||
protected String requestName;
|
||||
/**
|
||||
* 是否区域gk
|
||||
*/
|
||||
@ExcelField(title="whether_area_block",dictType="WHETHER_AREA_BLOCK",sort=40)
|
||||
@ExcelField(title="whether_area_block",dictType="WHETHER_AREA_BLOCK",sort=45)
|
||||
protected Integer isAreaEffective;
|
||||
/**
|
||||
* 分类
|
||||
*/
|
||||
@ExcelField(title="classification",dictType="type",sort=60)
|
||||
@ExcelField(title="classification",dictType="type",sort=62)
|
||||
protected String classify;
|
||||
/**
|
||||
* 性质
|
||||
@@ -270,9 +270,9 @@ public class BaseCfg<T> extends BaseEntity<T> implements Cloneable{
|
||||
/**
|
||||
* do_log属性在界面(do_log:0不需要1记录所有日志2只记录结构化日志。默认是2)
|
||||
*/
|
||||
@ExcelField(title="do_log",dictType="DO_LOG",sort=30)
|
||||
@ExcelField(title="do_log",dictType="DO_LOG",sort=40)
|
||||
protected Integer doLog = Constants.MAAT_CFG_DOLOG_DEFAULT;
|
||||
@ExcelField(title="do_blacklist",dictType="DO_BLACKLIST",sort=31)
|
||||
@ExcelField(title="do_blacklist",dictType="DO_BLACKLIST",sort=41)
|
||||
protected Integer doBlackList=Constants.MAAT_CFG_DOLOG_DOBLACKLIST_DEFAULT;
|
||||
protected Integer groupId;//仅用于copy属性使用
|
||||
protected Integer regionId;//仅用于copy属性使用
|
||||
|
||||
@@ -43,24 +43,24 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
|
||||
*/
|
||||
@Expose
|
||||
@SerializedName("ipType")
|
||||
@ExcelField(title="ip_type",dictType="IP_TYPE",sort=44)
|
||||
@ExcelField(title="ip_type",dictType="IP_TYPE",sort=50)
|
||||
protected Integer ipType;
|
||||
@ExcelField(title="ip_pattern",dictType="IP_PATTERN",sort=45)
|
||||
@ExcelField(title="ip_pattern",dictType="IP_PATTERN",sort=51)
|
||||
protected Integer ipPattern;
|
||||
@ExcelField(title="client_ip",sort=47)
|
||||
@ExcelField(title="client_ip",sort=53)
|
||||
protected String srcIpAddress;
|
||||
@ExcelField(title="server_ip",sort=46)
|
||||
@ExcelField(title="server_ip",sort=52)
|
||||
protected String destIpAddress;
|
||||
@ExcelField(title="port_pattern",dictType="PORT_PATTERN",sort=48)
|
||||
@ExcelField(title="port_pattern",dictType="PORT_PATTERN",sort=54)
|
||||
protected Integer portPattern;
|
||||
@ExcelField(title="client_port",sort=49)
|
||||
@ExcelField(title="client_port",sort=55)
|
||||
protected String srcPort;
|
||||
@ExcelField(title="server_port",sort=50)
|
||||
@ExcelField(title="server_port",sort=56)
|
||||
protected String destPort;
|
||||
protected Integer dnsStrategyId;
|
||||
@ExcelField(title="ir_type",dictType="IR_TYPE",sort=51)
|
||||
@ExcelField(title="ir_type",dictType="IR_TYPE",sort=57)
|
||||
protected Integer irType;
|
||||
@ExcelField(title="group_name",sort=52)
|
||||
@ExcelField(title="group_name",sort=58)
|
||||
protected String groupName;
|
||||
|
||||
private List<NtcSubscribeIdCfg> ntcSubscribeIdCfgList;
|
||||
@@ -75,7 +75,7 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
|
||||
protected String organization; //仅用于copy属性使用
|
||||
protected String country; //仅用于copy属性使用
|
||||
protected String detail; //仅用于copy属性使用
|
||||
@ExcelField(title="log_total",sort=31)
|
||||
@ExcelField(title="log_total",sort=42)
|
||||
private Long totalLogs;
|
||||
|
||||
public String getOrganization() {
|
||||
@@ -177,14 +177,14 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
|
||||
*/
|
||||
@Expose
|
||||
@SerializedName("direction")
|
||||
@ExcelField(title="direction",dictType="DIRECTION",sort=53)
|
||||
@ExcelField(title="direction",dictType="DIRECTION",sort=58)
|
||||
protected Integer direction ;
|
||||
/**
|
||||
* 协议
|
||||
*/
|
||||
@Expose
|
||||
@SerializedName("protocol")
|
||||
@ExcelField(title="protocol",dictType="PROTOCOL",sort=54)
|
||||
@ExcelField(title="protocol",dictType="PROTOCOL",sort=59)
|
||||
protected Integer protocol ;
|
||||
/**
|
||||
* 协议ID
|
||||
|
||||
@@ -86,12 +86,8 @@ public class CfgIndexInfo extends BaseCfg<CfgIndexInfo> {
|
||||
private String country;
|
||||
private String detail;
|
||||
private List<AsnKeywordCfg> asnKeywords;
|
||||
@ExcelField(title="log_total",sort=31)
|
||||
@ExcelField(title="log_total",sort=42)
|
||||
private Long totalLogs;
|
||||
@ExcelField(title="is_audit",dictType="AUDIT_STATUS",sort=20)
|
||||
private Integer isAudit;
|
||||
@ExcelField(title="do_log",dictType="DO_LOG",sort=27)
|
||||
private Integer doLog = Constants.MAAT_CFG_DOLOG_DEFAULT;
|
||||
|
||||
|
||||
/*private CachePolicyUserRegion cachePolicyUserRegion;//缓存策略用户自定义域参数
|
||||
@@ -102,19 +98,6 @@ public class CfgIndexInfo extends BaseCfg<CfgIndexInfo> {
|
||||
|
||||
}
|
||||
}*/
|
||||
|
||||
public Integer getIsValid() {
|
||||
return isValid;
|
||||
}
|
||||
public void setIsValid(Integer isValid) {
|
||||
this.isValid = isValid;
|
||||
}
|
||||
public Integer getDoLog() {
|
||||
return doLog;
|
||||
}
|
||||
public void setDoLog(Integer doLog) {
|
||||
this.doLog = doLog;
|
||||
}
|
||||
public String getOrganization() {
|
||||
return organization;
|
||||
}
|
||||
|
||||
@@ -23,29 +23,13 @@ public class DdosIpCfg extends BaseIpCfg {
|
||||
*/
|
||||
private static final long serialVersionUID = -5446903784736960824L;
|
||||
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,
|
||||
@ExcelField(title="bps_threadshold",sort=42)
|
||||
@ExcelField(title="bps_threadshold",sort=47)
|
||||
private Long bpsThreadshold;// 即DDoS攻击保护动作触发阈值,每秒Bit数和每秒包数
|
||||
@ExcelField(title="pps_threadshold",sort=43)
|
||||
@ExcelField(title="pps_threadshold",sort=48)
|
||||
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() {
|
||||
return antiddosProtocol;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@ public class TrafficIpActiveStatistic{
|
||||
String statTime;
|
||||
private String _byte;
|
||||
private String _packet;
|
||||
private String avgByte;
|
||||
private String avgPacket;
|
||||
@ExcelField(title="Byte",sort=51,type=1)
|
||||
public String get_byte() {
|
||||
return BigInteger.valueOf(this.getC2sByteLen()).add(BigInteger.valueOf(this.getS2cByteLen())).toString();
|
||||
@@ -95,5 +97,16 @@ public class TrafficIpActiveStatistic{
|
||||
public void setS2cByteLen(Long 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;
|
||||
}
|
||||
}
|
||||
@@ -28,6 +28,17 @@ public class NtcConnRecordLog extends BaseLogEntity<NtcConnRecordLog> {
|
||||
@ExcelField(title = "Total Byte", sort = 49)
|
||||
protected String totalByte;
|
||||
|
||||
protected String ispCode;//运营商
|
||||
|
||||
|
||||
|
||||
public String getIspCode() {
|
||||
return ispCode;
|
||||
}
|
||||
|
||||
public void setIspCode(String ispCode) {
|
||||
this.ispCode = ispCode;
|
||||
}
|
||||
|
||||
public String getTotalPkt() {
|
||||
return totalPkt;
|
||||
|
||||
@@ -6,8 +6,9 @@ import com.nis.util.excel.ExcelField;
|
||||
public class NtcAsnRecord extends BaseLogEntity<NtcAsnRecord>{
|
||||
|
||||
private static final long serialVersionUID = -4947912502754359817L;
|
||||
|
||||
@ExcelField(title="bps",sort=10)
|
||||
@ExcelField(title="GBps",sort=10)
|
||||
protected String GBps;
|
||||
//@ExcelField(title="bps",sort=10)
|
||||
protected String bps;
|
||||
@ExcelField(title="pps",sort=9)
|
||||
protected String pps;
|
||||
@@ -27,6 +28,12 @@ public class NtcAsnRecord extends BaseLogEntity<NtcAsnRecord>{
|
||||
}
|
||||
protected String searchAsnType;//1:d_asn;2:s_asn
|
||||
|
||||
public String getGBps() {
|
||||
return bps;
|
||||
}
|
||||
public void setGBps(String gBps) {
|
||||
GBps = this.getBps();
|
||||
}
|
||||
public String getBps() {
|
||||
return bps;
|
||||
}
|
||||
|
||||
@@ -188,6 +188,20 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
||||
long afterTime = after.getTime();
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.nis.domain.Page;
|
||||
import com.nis.domain.basics.AsnGroupInfo;
|
||||
import com.nis.domain.basics.AsnIpCfg;
|
||||
import com.nis.domain.specific.ConfigGroupInfo;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.web.controller.BaseController;
|
||||
/**
|
||||
@@ -83,10 +84,15 @@ public class AsnGroupController extends BaseController {
|
||||
asnGroupInfoService.saveOrUpdate(cfg);
|
||||
addMessage(redirectAttributes,"success","save_success");
|
||||
} catch (Exception e) {
|
||||
logger.error("新增失败",e);
|
||||
e.printStackTrace();
|
||||
if(e instanceof MaatConvertException) {
|
||||
addMessage(redirectAttributes,"error", "request_service_failed");
|
||||
}else {
|
||||
addMessage(redirectAttributes,"error","save_failed");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return "redirect:" + adminPath + "/basics/asnGroup/asnGroupList";
|
||||
|
||||
|
||||
@@ -99,16 +105,20 @@ public class AsnGroupController extends BaseController {
|
||||
*/
|
||||
//@RequiresPermissions(value={"basics:classification:del","basics:attribute:del","basics:label:del"},logical=Logical.OR)
|
||||
@RequestMapping(value={"delete"})
|
||||
public String delete(RedirectAttributes redirectAttributes,String ids,String asnIds) {
|
||||
public String delete(RedirectAttributes redirectAttributes,String ids,String asnIds,String groupIds) {
|
||||
try {
|
||||
asnGroupInfoService.delete(ids,asnIds);
|
||||
asnGroupInfoService.delete(ids,asnIds,groupIds);
|
||||
//TODO 查询本次删除的所有asnOrg组中是否存在asn 没有is_used=0的asn,如果存在则需要将整个组删除
|
||||
|
||||
addMessage(redirectAttributes,"success","delete_success");
|
||||
} catch (Exception e) {
|
||||
logger.error("删除失败",e);
|
||||
if(e instanceof MaatConvertException) {
|
||||
addMessage(redirectAttributes,"error", "request_service_failed");
|
||||
}else {
|
||||
addMessage(redirectAttributes,"error","delete_failed");
|
||||
}
|
||||
}
|
||||
return "redirect:" + adminPath + "/basics/asnGroup/asnGroupList";
|
||||
}
|
||||
@RequestMapping(value="ajaxGetAuditedIP",method=RequestMethod.POST)
|
||||
@@ -162,14 +172,16 @@ public class AsnGroupController extends BaseController {
|
||||
*/
|
||||
@ResponseBody
|
||||
@RequestMapping(value = {"/checkAsnNo"})
|
||||
public boolean checkIp(AsnGroupInfo cfg, HttpServletRequest request, HttpServletResponse response){
|
||||
|
||||
AsnGroupInfo policyGroup = asnGroupInfoService.getInfoByAsnNo(cfg);
|
||||
if(policyGroup == null){
|
||||
return true;
|
||||
public AsnGroupInfo checkAsnNo(AsnGroupInfo cfg, HttpServletRequest request, HttpServletResponse response){
|
||||
AsnGroupInfo policyGroup=null;
|
||||
policyGroup = asnGroupInfoService.getInfoByAsnNo(cfg);
|
||||
if(policyGroup != null){
|
||||
ConfigGroupInfo group=configGroupInfoService.getAsnOrganization(policyGroup.getOrganization());
|
||||
if(group != null){
|
||||
policyGroup.setCommonGroupIds(group.getGroupId().toString());
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return policyGroup;
|
||||
}
|
||||
/**
|
||||
* 校验asn号是否已存在
|
||||
@@ -182,7 +194,6 @@ public class AsnGroupController extends BaseController {
|
||||
if(asnIpCfg == null){
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
/**
|
||||
|
||||
@@ -218,7 +218,7 @@ public class DnsIpCfgController extends BaseController {
|
||||
}
|
||||
titleList.add(entity.getMenuNameCode());
|
||||
classMap.put(entity.getMenuNameCode(), DnsIpCfg.class);
|
||||
String cfgIndexInfoNoExport = ",whether_area_block,client_ip,port_pattern,client_port,server_port,ir_type,direction,protocol,do_log,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,";
|
||||
String cfgIndexInfoNoExport = ",log_total,whether_area_block,client_ip,port_pattern,client_port,server_port,ir_type,direction,protocol,do_log,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,";
|
||||
|
||||
// 时间过滤
|
||||
if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) {
|
||||
|
||||
@@ -500,6 +500,7 @@ public class WhiteListController extends CommonController {
|
||||
for (Integer id : set) {
|
||||
serviceIds.append(id+",");
|
||||
}
|
||||
if(serviceIds.length()>1&&compileIds.length()>1){
|
||||
String serviceIdsStr=serviceIds.toString().substring(1, serviceIds.length()-1);
|
||||
String compileIdsStr=compileIds.toString().substring(1, compileIds.length()-1);
|
||||
//获取日志总量
|
||||
@@ -507,6 +508,7 @@ public class WhiteListController extends CommonController {
|
||||
List<Map<String,Object>> logs = getLogTotal( null,serviceIdsStr,compileIdsStr);
|
||||
logTotals.addAll(logs);
|
||||
}
|
||||
}
|
||||
titleList.add(entity.getMenuNameCode());
|
||||
titleList.add("NTC_HTTP_URL");
|
||||
classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class);
|
||||
|
||||
@@ -3,9 +3,11 @@ package com.nis.web.controller.configuration.proxy;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -273,6 +275,35 @@ public class InterceptController extends CommonController {
|
||||
Page<CfgIndexInfo> page = ipCfgService.getIpCfgList(pageInfo, entity);
|
||||
ipLists = page.getList();
|
||||
}
|
||||
//日志总量
|
||||
List<Map<String,Object>> logTotals=new ArrayList<Map<String,Object>>();
|
||||
StringBuilder compileIds=new StringBuilder(",");//配置ids
|
||||
Set<Integer> set=new HashSet<Integer>();//服务ids
|
||||
for (CfgIndexInfo cfg : ipLists) {
|
||||
if(cfg.getIsAudit()!=0){
|
||||
set.add(cfg.getServiceId());
|
||||
compileIds.append(cfg.getCompileId()+",");
|
||||
}else{
|
||||
Map<String,Object> logTotal=new HashMap<String,Object>();
|
||||
logTotal.put("compileId", cfg.getCompileId()+"");
|
||||
logTotal.put("sum",0L);
|
||||
logTotals.add(logTotal);
|
||||
}
|
||||
|
||||
}
|
||||
StringBuilder serviceIds=new StringBuilder(",");
|
||||
for (Integer id : set) {
|
||||
serviceIds.append(id+",");
|
||||
}
|
||||
if(serviceIds.length()>1&&compileIds.length()>1){
|
||||
String serviceIdsStr=serviceIds.toString().substring(1, serviceIds.length()-1);
|
||||
String compileIdsStr=compileIds.toString().substring(1, compileIds.length()-1);
|
||||
//获取日志总量
|
||||
if(!StringUtils.isBlank(serviceIdsStr)&&!StringUtils.isBlank(compileIdsStr)){
|
||||
List<Map<String,Object>> logs = getLogTotal( null,serviceIdsStr,compileIdsStr);
|
||||
logTotals.addAll(logs);
|
||||
}
|
||||
}
|
||||
// 获取证书信息
|
||||
List<PxyObjKeyring> certificateList = new ArrayList<PxyObjKeyring>();
|
||||
if (entity.getFunctionId().equals(200)) {
|
||||
@@ -325,6 +356,12 @@ public class InterceptController extends CommonController {
|
||||
List<BaseStringCfg> httpUrlList = new ArrayList<BaseStringCfg>();
|
||||
List<BaseStringCfg> pktBinList = new ArrayList<BaseStringCfg>();
|
||||
for (CfgIndexInfo cfg : ipLists) {
|
||||
for (Map<String,Object> logTotal : logTotals) {
|
||||
if(cfg.getCompileId().equals(Integer.parseInt((String) logTotal.get("compileId")))){
|
||||
cfg.setTotalLogs((Long)logTotal.get("sum"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
Map<String, List> maps = interceptCfgService.exportIpInfo(cfg);
|
||||
httpUrlList.addAll(maps.get("NTC_HTTP_URL"));
|
||||
ipList.addAll(maps.get("PXY_INTERCEPT_IP"));
|
||||
@@ -346,7 +383,7 @@ public class InterceptController extends CommonController {
|
||||
httpUrlList = BaseStringCfg.baseHexList(httpUrlList);
|
||||
dataMap.put(entity.getMenuNameCode(), ipLists);
|
||||
if (entity.getFunctionId() == 212) { // IP Payload
|
||||
cfgIndexInfoNoExport = ",do_log,log_total,policy_name,group_name,userregion4,userregion5,&userregion1:replace_zone-userregion2:replaced_content-userregion3:replace_content-";
|
||||
cfgIndexInfoNoExport = ",policy_name,group_name,userregion4,userregion5,&userregion1:replace_zone-userregion2:replaced_content-userregion3:replace_content-";
|
||||
titleList.add("PXY_INTERCEPT_IP");
|
||||
titleList.add("PXY_INTERCEPT_PKT_BIN");
|
||||
classMap.put("PXY_INTERCEPT_IP", IpPortCfg.class);
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.nis.web.controller.dashboard;
|
||||
import java.lang.reflect.Type;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URLEncoder;
|
||||
import java.text.DecimalFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
@@ -248,7 +249,7 @@ public class DashboardController extends BaseController{
|
||||
@ResponseBody
|
||||
public List ajaxIpActiveList(String beginDate,String endDate,Integer entranceId){
|
||||
Map<String, Object> fromJsonList = new HashMap<String, Object>();
|
||||
List list = new ArrayList();
|
||||
List<TrafficIpActiveStatistic> list = new ArrayList<TrafficIpActiveStatistic>();
|
||||
try {
|
||||
String url=Constants.DASHBOARD_URL+Constants.TRAFFIC_IPACTIVE_ONEHOUR;
|
||||
url=urlAddDate(url, beginDate, endDate);
|
||||
@@ -260,6 +261,16 @@ public class DashboardController extends BaseController{
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map<String, Object>>(){}.getType());
|
||||
logger.debug("活跃IP1小时"+fromJsonList);
|
||||
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>() {
|
||||
|
||||
@Override
|
||||
@@ -282,7 +293,7 @@ public class DashboardController extends BaseController{
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("活跃IP数据获取错误"+e);
|
||||
list.add(Maps.newHashMap("error","request_service_failed"));
|
||||
//list.add(Maps.newHashMap("error","request_service_failed"));
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ import com.nis.domain.dashboard.TrafficIpActiveStatistic;
|
||||
import com.nis.util.CodeDicUtils;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DateUtil;
|
||||
import com.nis.util.DateUtils;
|
||||
import com.nis.util.DictUtils;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.util.httpclient.HttpClientUtil;
|
||||
@@ -301,6 +302,7 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
@RequestMapping(value="protocolList")
|
||||
@ResponseBody
|
||||
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>();
|
||||
List list = new ArrayList();
|
||||
String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_PROTOCOL_LIST;
|
||||
@@ -327,6 +329,8 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
DecimalFormat lf = new DecimalFormat("0");
|
||||
DecimalFormat df = new DecimalFormat("0.0000000000");
|
||||
List<CodeResult> appCodeList = CodeDicUtils.getCodeList("appCode");
|
||||
//两个时间段之间的秒数
|
||||
double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate));
|
||||
if(!StringUtil.isEmpty(list)){
|
||||
for (Object object : list) {
|
||||
Map m=(Map) object;
|
||||
@@ -336,6 +340,10 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
m.put("GByte", df.format(m.get("GByte")));
|
||||
m.put("packets", lf.format(m.get("packets")));
|
||||
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());
|
||||
totalPackets+=Long.parseLong(m.get("packets").toString());
|
||||
// 协议没匹配的匹配app码表
|
||||
@@ -407,6 +415,9 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
Double totalGByte=0d;
|
||||
DecimalFormat lf = new DecimalFormat("0");
|
||||
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)){
|
||||
for (Object object : list) {
|
||||
Map m=(Map) object;
|
||||
@@ -417,6 +428,11 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
m.put("linkNum", lf.format(m.get("linkNum")));
|
||||
totalLink+=Long.parseLong( m.get("linkNum").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) {
|
||||
Map m=(Map) object;
|
||||
@@ -485,7 +501,7 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
@ResponseBody
|
||||
public List ajaxAppTopList(String beginDate,String endDate,Integer appType,Integer entranceId,Integer searchQuota,Model model){
|
||||
Map<String, Object> fromJsonList = new HashMap<String, Object>();
|
||||
List list = new ArrayList();
|
||||
List<Map> list = new ArrayList<Map>();
|
||||
try {
|
||||
String url=Constants.DASHBOARD_URL+Constants.APPCONN_RECORD_TOP100;
|
||||
URIBuilder uriBuilder = new URIBuilder(url);
|
||||
@@ -508,7 +524,18 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
fromJsonList = gson.fromJson(string, new TypeToken<Map<String, Object>>(){}.getType());
|
||||
logger.debug("app列表Top100"+fromJsonList);
|
||||
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) {
|
||||
e.printStackTrace();
|
||||
logger.error("app列表Top100"+e);
|
||||
@@ -610,6 +637,9 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
// Double totalLink=0d;
|
||||
Double totalGbyte=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) {
|
||||
Map m=(Map)object;
|
||||
Double count=(Double)m.get("byteCount");
|
||||
@@ -618,6 +648,11 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
totalPackets+=(Double)m.get("pktCount");
|
||||
String format = df.format(count/1024/1024/1024);
|
||||
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());
|
||||
Map<Long, String> map = new HashMap<Long,String>();
|
||||
@@ -687,12 +722,19 @@ public class TrafficStatisticsInfoController extends BaseController {
|
||||
Long totalPackets=0l;
|
||||
Double totalGByte=0d;
|
||||
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)){
|
||||
for (Object object : list) {
|
||||
Map m=(Map) object;
|
||||
totalLink+=Long.parseLong(lf.format(m.get("linkNum")));
|
||||
totalPackets+=Long.parseLong(lf.format(m.get("packets")));
|
||||
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");
|
||||
Double value1=0d;
|
||||
if(StringUtil.isBlank(m.get("topicId").toString())){
|
||||
|
||||
@@ -87,11 +87,11 @@ public class TrafficStatisticsReportController extends BaseController {
|
||||
// statTime=DateUtils.getDate()+" 00:00:00"; // 默认今天
|
||||
// endTime=DateUtils.getDateTime();
|
||||
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(new Date());
|
||||
endTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cal.getTime());// 获取到完整的时间
|
||||
cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1);
|
||||
statTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(cal.getTime());
|
||||
Calendar time = Calendar.getInstance();
|
||||
endTime = DateUtils.formatDateTimeByParm(time.getTime(),"yyyy-MM-dd HH")+":00:00";
|
||||
time.add(Calendar.HOUR_OF_DAY, -1);
|
||||
statTime = DateUtils.formatDateTimeByParm(time.getTime(),"yyyy-MM-dd HH")+":00:00";;
|
||||
|
||||
bean.setSearchFoundStartTime(statTime);
|
||||
bean.setSearchFoundEndTime(endTime);
|
||||
statTime = URLEncoder.encode(statTime, "UTF-8");
|
||||
|
||||
@@ -65,7 +65,7 @@ public class HttpRecordLogController extends BaseController {
|
||||
}
|
||||
|
||||
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
|
||||
serviceList.addAll(DictUtils.getFunctionServiceDictList(635));
|
||||
// serviceList.addAll(DictUtils.getFunctionServiceDictList(635));
|
||||
model.addAttribute("serviceList", serviceList);
|
||||
|
||||
String url = Constants.LOG_BASE_URL + Constants.NTC_HTTP_RECORD_LOG;
|
||||
@@ -133,7 +133,7 @@ public class HttpRecordLogController extends BaseController {
|
||||
}
|
||||
|
||||
List<FunctionServiceDict> serviceList = DictUtils.getFunctionServiceDictList(log.getFunctionId());
|
||||
serviceList.addAll(DictUtils.getFunctionServiceDictList(635));
|
||||
// serviceList.addAll(DictUtils.getFunctionServiceDictList(635));
|
||||
model.addAttribute("serviceList", serviceList);
|
||||
|
||||
String url = Constants.LOG_BASE_URL + Constants.NTC_HTTP_RECORD_LOG;
|
||||
|
||||
@@ -150,7 +150,7 @@ public class MailRecordLogController extends BaseController {
|
||||
} else {
|
||||
hColumns += ",";
|
||||
}
|
||||
String cfgIndexInfoNoExport = "," + hColumns;
|
||||
String cfgIndexInfoNoExport = ",action,cfg_id," + hColumns;
|
||||
noExportMap.put("mail_record", cfgIndexInfoNoExport);
|
||||
dataMap.put("mail_record", list);
|
||||
String timeRange = initLogMap(log, "mail_record");
|
||||
|
||||
@@ -98,8 +98,9 @@ public class NtcConnRecordLogController extends BaseController {
|
||||
if (StringUtils.isNotBlank(log.getdSubscribeId())) {
|
||||
params.put("searchDSubscribeId", log.getdSubscribeId());
|
||||
}
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(log.getIspCode())) {
|
||||
params.put("searchIspCode", log.getIspCode());
|
||||
}
|
||||
model.addAttribute("appList", appList);
|
||||
model.addAttribute("protocolList", protocolList);
|
||||
model.addAttribute("webList", webList);
|
||||
@@ -240,9 +241,9 @@ public class NtcConnRecordLogController extends BaseController {
|
||||
if (StringUtils.isNotBlank(log.getdSubscribeId())) {
|
||||
params.put("searchDSubscribeId", log.getdSubscribeId());
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(log.getIspCode())) {
|
||||
params.put("searchIspCode", log.getIspCode());
|
||||
}
|
||||
model.addAttribute("appList", appList);
|
||||
model.addAttribute("protocolList", protocolList);
|
||||
model.addAttribute("webList", webList);
|
||||
|
||||
@@ -137,7 +137,7 @@ public class SslRecordLogController extends BaseController {
|
||||
} else {
|
||||
hColumns += ",";
|
||||
}
|
||||
String cfgIndexInfoNoExport = "," + hColumns;
|
||||
String cfgIndexInfoNoExport = ",action,cfg_id," + hColumns;
|
||||
noExportMap.put("ssl_record", cfgIndexInfoNoExport);
|
||||
dataMap.put("ssl_record", list);
|
||||
String timeRange = initLogMap(log, "ssl_record");
|
||||
|
||||
@@ -30,6 +30,6 @@ public interface AsnGroupInfoDao extends CrudDao<AsnGroupInfo> {
|
||||
Long getCount();
|
||||
void modifyIssuedIp(AsnGroupInfo info);
|
||||
List<AsnGroupInfo> findAsnGroupInfoByAsnGroup(AsnGroupInfo asnGroupInfo);
|
||||
void updateIsUsedAndIsValid(@Param("asnNos")List asnNos,@Param("isUsed")Integer isUsed,@Param("isValid")Integer isValid);
|
||||
List<AsnGroupInfo> findAsnGroupInfoByAsnNos(@Param("asnNos")List asnNos,@Param("isUsed")Integer isUsed);
|
||||
void updateIsUsedAndIsValid(@Param("groupIds")List groupIds,@Param("isUsed")Integer isUsed,@Param("isValid")Integer isValid);
|
||||
List<AsnGroupInfo> findAsnGroupInfoByGroupIds(@Param("groupIds")List groupIds,@Param("isUsed")Integer isUsed);
|
||||
}
|
||||
@@ -17,10 +17,11 @@
|
||||
<result column="issued_ips" property="issuedIPs" jdbcType="INTEGER" />
|
||||
<result column="is_used" property="isUsed" jdbcType="INTEGER" />
|
||||
<result column="region_id" property="regionId" jdbcType="INTEGER" />
|
||||
<result column="org_group_id" property="orgGroupId" jdbcType="INTEGER" />
|
||||
</resultMap>
|
||||
<sql id="AsnGroupInfoColumns">
|
||||
r.id,r.group_id,r.compile_id,r.organization,r.country,r.detail,r.is_valid,r.create_time,r.edit_time,
|
||||
r.creator_id,r.editor_id,r.asn_id,r.issued_ips,r.is_used,r.region_id
|
||||
r.creator_id,r.editor_id,r.asn_id,r.issued_ips,r.is_used,r.region_id,r.org_group_id
|
||||
</sql>
|
||||
|
||||
<!-- 查出所有 有效数据-->
|
||||
@@ -62,6 +63,9 @@
|
||||
</if>
|
||||
<if test="isValid != null and isValid != ''">
|
||||
AND r.is_valid =#{isValid }
|
||||
</if>
|
||||
<if test="orgGroupId != null and orgGroupId != ''">
|
||||
AND r.org_group_id =#{orgGroupId }
|
||||
</if>
|
||||
AND r.is_valid !=-1
|
||||
<!-- 数据范围过滤 -->
|
||||
@@ -102,7 +106,8 @@
|
||||
edit_time,
|
||||
asn_id,
|
||||
is_used,
|
||||
region_id
|
||||
region_id,
|
||||
org_group_id
|
||||
)values (
|
||||
#{groupId,jdbcType=INTEGER},
|
||||
#{compileId,jdbcType=INTEGER},
|
||||
@@ -116,7 +121,8 @@
|
||||
#{editTime,jdbcType=TIMESTAMP},
|
||||
#{asnId,jdbcType=INTEGER},
|
||||
#{isUsed,jdbcType=INTEGER},
|
||||
#{regionId,jdbcType=INTEGER}
|
||||
#{regionId,jdbcType=INTEGER},
|
||||
#{orgGroupId,jdbcType=INTEGER}
|
||||
)
|
||||
</insert>
|
||||
|
||||
@@ -159,6 +165,9 @@
|
||||
</if>
|
||||
<if test="regionId != null" >
|
||||
region_id = #{regionId,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="orgGroupId != null" >
|
||||
org_group_id = #{orgGroupId,jdbcType=INTEGER},
|
||||
</if>
|
||||
</trim>
|
||||
</set>
|
||||
@@ -181,10 +190,10 @@
|
||||
</if>
|
||||
</set>
|
||||
<where>
|
||||
<if test="asnNos != null" >
|
||||
and asn_id in
|
||||
<foreach collection ="asnNos" item="asnId" separator ="," open="(" close=")">
|
||||
#{asnId}
|
||||
<if test="groupIds != null" >
|
||||
and group_id in
|
||||
<foreach collection ="groupIds" item="groupId" separator ="," open="(" close=")">
|
||||
#{groupId}
|
||||
</foreach >
|
||||
</if>
|
||||
<if test="isValid != null" >
|
||||
@@ -351,7 +360,7 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="findAsnGroupInfoByAsnNos" resultMap="AsnGroupInfoMap">
|
||||
<select id="findAsnGroupInfoByGroupIds" resultMap="AsnGroupInfoMap">
|
||||
SELECT
|
||||
<include refid="AsnGroupInfoColumns"/>
|
||||
FROM
|
||||
@@ -360,10 +369,10 @@
|
||||
<if test="isUsed != null" >
|
||||
AND r.is_used = #{isUsed,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="asnNos != null" >
|
||||
and r.asn_id in
|
||||
<foreach collection ="asnNos" item="asnId" separator ="," open="(" close=")">
|
||||
#{asnId}
|
||||
<if test="groupIds != null" >
|
||||
and r.group_id in
|
||||
<foreach collection ="groupIds" item="groupId" separator ="," open="(" close=")">
|
||||
#{groupId}
|
||||
</foreach >
|
||||
</if>
|
||||
</where>
|
||||
|
||||
@@ -33,6 +33,6 @@ public interface AsnIpCfgDao extends CrudDao<AsnIpCfg>{
|
||||
public void ajaxDeleteAsnIp(@Param("ids")String ids);
|
||||
public int hasValidAsnIp(@Param("asnId")Long asnNo);
|
||||
public AsnIpCfg getOne(AsnIpCfg cfg);
|
||||
public void updateAsn(@Param("asnId")String asnNo,@Param("organization")String organization,@Param("country")String country,@Param("detail")String detail);
|
||||
public void updateAsn(@Param("asnId")String asnNo,@Param("organization")String organization,@Param("country")String country,@Param("detail")String detail,@Param("groupId")String groupId);
|
||||
public void updateAsnIpByAsnGroups(@Param("entity")AsnIpCfg entity,@Param("asnGroups")List<AsnGroupInfo> asnGroups,@Param("asnIds")String asnIds);
|
||||
}
|
||||
|
||||
@@ -560,7 +560,7 @@
|
||||
delete from asn_ip_cfg where asn_ip_group in (${ids})
|
||||
</update>
|
||||
<update id="updateAsn" parameterType="java.lang.String" >
|
||||
update asn_ip_cfg set organization=#{organization}, country=#{country}, detail=#{detail} where user_region1 =#{asnId} and is_valid=0
|
||||
update asn_ip_cfg set organization=#{organization}, country=#{country}, detail=#{detail},user_region1 =#{asnId} where asn_ip_group =#{groupId} and is_valid=0
|
||||
</update>
|
||||
<select id="findOtherIps" resultType="java.lang.Integer" parameterType="java.lang.Integer">
|
||||
select 1 from asn_ip_cfg where is_valid=1 and asn_ip_group=#{groupId} and cfg_id !=#{cfgId} limit 1
|
||||
|
||||
@@ -123,4 +123,6 @@ public interface AppCfgDao {
|
||||
|
||||
//app ssl证书特征配置CRUD
|
||||
public List<AppSslCertCfg> findAppBySslList(@Param("ids")String ids);
|
||||
//查找此分组下是否有App IP
|
||||
public List<AppIpCfg> findAppIpByCompileId(@Param("compileId")Integer compileId) ;
|
||||
}
|
||||
|
||||
@@ -3109,4 +3109,7 @@
|
||||
left join request_info ri on r.request_id=ri.id
|
||||
where r.CFG_ID in (${ids})
|
||||
</select>
|
||||
<select id="findAppIpByCompileId" resultMap="AppIpCfgMap">
|
||||
select * from app_ip_cfg where is_valid=1 and compile_Id = #{compileId}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -130,4 +130,21 @@
|
||||
</if>
|
||||
</where>
|
||||
</update>
|
||||
<update id="update" >
|
||||
UPDATE config_group_info
|
||||
<set>
|
||||
update_time=now(),
|
||||
<if test="groupName != null and groupName != ''">
|
||||
group_name =#{groupName},
|
||||
</if>
|
||||
</set>
|
||||
<where>
|
||||
<if test="groupType != null">
|
||||
and group_type =#{groupType}
|
||||
</if>
|
||||
<if test="groupId != null">
|
||||
and group_id =#{groupId}
|
||||
</if>
|
||||
</where>
|
||||
</update>
|
||||
</mapper>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -74,41 +74,43 @@ public class AsnGroupInfoService extends BaseService{
|
||||
String country=entity.getCountry().trim().toUpperCase();
|
||||
entity.setOrganization(org);
|
||||
entity.setCountry(country);
|
||||
int groupId=0;
|
||||
//获取组织
|
||||
ConfigGroupInfo configGroupInfo=configGroupInfoDao.getAsnGroupByName(org);
|
||||
|
||||
int groupId=0;
|
||||
//新增
|
||||
if(entity.getGroupId()==null){
|
||||
|
||||
//1、根据信的组织名称,获取组织config_group_info
|
||||
ConfigGroupInfo configGroupInfo=configGroupInfoDao.getAsnGroupByName(entity.getOrganization());
|
||||
if(configGroupInfo ==null){
|
||||
List<Integer> groupIds= ConfigServiceUtil.getId(2,2);
|
||||
if(groupIds.size()>0) {
|
||||
groupId=groupIds.get(0).intValue();
|
||||
}else {
|
||||
throw new MaatConvertException("Get asn group id failed");
|
||||
}
|
||||
configGroupInfo=new ConfigGroupInfo();
|
||||
configGroupInfo.setGroupName(org.toUpperCase());
|
||||
configGroupInfo.setIsIssued(0);
|
||||
configGroupInfo.setGroupType(4);
|
||||
configGroupInfo.setIsAuditAll(0);
|
||||
configGroupInfo.setIsUsed(0);
|
||||
configGroupInfo.setGroupId(groupIds.get(1));
|
||||
configGroupInfo.setInsertTime(new Date());
|
||||
configGroupInfoDao.insertConfigGroupInfo(configGroupInfo);
|
||||
}else {
|
||||
//新增组织
|
||||
List<Integer> groupIds= ConfigServiceUtil.getId(2,1);
|
||||
if(groupIds.size()>0) {
|
||||
groupId=groupIds.get(0).intValue();
|
||||
}else {
|
||||
throw new MaatConvertException("Get asn group id failed");
|
||||
}
|
||||
|
||||
configGroupInfo=new ConfigGroupInfo();
|
||||
configGroupInfo.setGroupName(entity.getOrganization());
|
||||
configGroupInfo.setIsIssued(0);
|
||||
configGroupInfo.setGroupType(4);
|
||||
configGroupInfo.setIsAuditAll(0);
|
||||
configGroupInfo.setIsUsed(0);
|
||||
configGroupInfo.setGroupId(groupIds.get(0));
|
||||
configGroupInfo.setInsertTime(new Date());
|
||||
configGroupInfoDao.insertConfigGroupInfo(configGroupInfo);
|
||||
}
|
||||
|
||||
List<Integer> groupIds= ConfigServiceUtil.getId(2,1);
|
||||
if(groupIds.size()>0) {
|
||||
groupId=groupIds.get(0).intValue();
|
||||
}else {
|
||||
throw new MaatConvertException("Get asn group id failed");
|
||||
}
|
||||
//新增
|
||||
if(entity.getGroupId()==null){
|
||||
Date createTime=new Date();
|
||||
entity.setCreatorId(UserUtils.getUser().getId());
|
||||
entity.setCreateTime(createTime);
|
||||
entity.setGroupId(groupId);
|
||||
entity.setOrgGroupId(configGroupInfo.getGroupId());
|
||||
entity.setIsValid(0);
|
||||
//分组已被策略设定为下发全部域,则需要自动下发新增的asno
|
||||
if(configGroupInfo.getIsAuditAll() != null && configGroupInfo.getIsAuditAll().equals(1)){
|
||||
@@ -139,41 +141,43 @@ public class AsnGroupInfoService extends BaseService{
|
||||
}
|
||||
//修改
|
||||
}else{
|
||||
long id=entity.getId();
|
||||
AsnGroupInfo group=asnGroupInfoDao.getById(id);
|
||||
int count=asnGroupInfoDao.getCountGroupInfoByName(group.getOrganization());
|
||||
if(count==1&&!group.getOrganization().equalsIgnoreCase(entity.getOrganization())) {
|
||||
configGroupInfoDao.delAsnGroup(group.getOrganization());
|
||||
}
|
||||
ConfigGroupInfo configGroupInfo1=configGroupInfoDao.getAsnGroupByName(entity.getOrganization());
|
||||
if(configGroupInfo1==null) {
|
||||
List<Integer> groupIds= ConfigServiceUtil.getId(2,2);
|
||||
//查询旧的asn group
|
||||
AsnGroupInfo oldGroup=asnGroupInfoDao.getById(entity.getId());
|
||||
//根据旧的组织名称查询config group info
|
||||
ConfigGroupInfo oldConfigGroupInfo=configGroupInfoDao.getAsnGroupByName(oldGroup.getOrganization());
|
||||
if(oldConfigGroupInfo ==null){
|
||||
//新增组织
|
||||
List<Integer> groupIds= ConfigServiceUtil.getId(2,1);
|
||||
if(groupIds.size()>0) {
|
||||
groupId=groupIds.get(0).intValue();
|
||||
}else {
|
||||
throw new MaatConvertException("Get asn group id failed");
|
||||
}
|
||||
configGroupInfo1=new ConfigGroupInfo();
|
||||
configGroupInfo1.setGroupName(entity.getOrganization().toUpperCase());
|
||||
configGroupInfo1.setIsIssued(0);
|
||||
configGroupInfo1.setGroupType(4);
|
||||
configGroupInfo1.setIsUsed(0);
|
||||
configGroupInfo1.setIsAuditAll(0);
|
||||
configGroupInfo1.setGroupId(groupIds.get(1));
|
||||
configGroupInfo1.setInsertTime(new Date());
|
||||
configGroupInfoDao.insertConfigGroupInfo(configGroupInfo1);
|
||||
oldConfigGroupInfo=new ConfigGroupInfo();
|
||||
oldConfigGroupInfo.setGroupName(entity.getOrganization());
|
||||
oldConfigGroupInfo.setIsIssued(0);
|
||||
oldConfigGroupInfo.setGroupType(4);
|
||||
oldConfigGroupInfo.setIsAuditAll(0);
|
||||
oldConfigGroupInfo.setIsUsed(0);
|
||||
oldConfigGroupInfo.setGroupId(groupIds.get(0));
|
||||
oldConfigGroupInfo.setInsertTime(new Date());
|
||||
configGroupInfoDao.insert(oldConfigGroupInfo);
|
||||
}else{
|
||||
ConfigGroupInfo newConfigGroupInfo=new ConfigGroupInfo();
|
||||
newConfigGroupInfo.setGroupId(oldConfigGroupInfo.getGroupId());
|
||||
newConfigGroupInfo.setId(oldConfigGroupInfo.getId());
|
||||
newConfigGroupInfo.setGroupName(entity.getOrganization());
|
||||
configGroupInfoDao.update(newConfigGroupInfo);
|
||||
}
|
||||
|
||||
Date editTime=new Date();
|
||||
entity.setEditorId(UserUtils.getUser().getId());
|
||||
entity.setEditTime(editTime);
|
||||
entity.setGroupId(groupId);
|
||||
asnGroupInfoDao.update(entity);
|
||||
asnIpCfgDao.updateAsn(String.valueOf(entity.getAsnId()),entity.getOrganization(),entity.getCountry(),entity.getDetail());
|
||||
if(configGroupInfo1.getIsUsed()!= null
|
||||
&& configGroupInfo1.getIsUsed().equals(1)){
|
||||
group.setGroupId(groupId);
|
||||
group.setAsnId(entity.getAsnId());
|
||||
auditAsn(group,configGroupInfo1,Constants.OPACTION_PUT);
|
||||
asnIpCfgDao.updateAsn(String.valueOf(entity.getAsnId()),entity.getOrganization(),entity.getCountry(),entity.getDetail(),String.valueOf(entity.getGroupId()));
|
||||
if(oldConfigGroupInfo.getIsUsed()!= null
|
||||
&& oldConfigGroupInfo.getIsUsed().equals(1)){
|
||||
auditAsn(entity,oldConfigGroupInfo,Constants.OPACTION_PUT);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -216,14 +220,14 @@ public class AsnGroupInfoService extends BaseService{
|
||||
|
||||
}
|
||||
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
||||
public void delete(String ids,String asnIds){
|
||||
public void delete(String ids,String asnIds,String groupIds){
|
||||
|
||||
if(!StringUtil.isEmpty(ids)){
|
||||
List<GroupReuseCfg> commonGroupList=new ArrayList<>();
|
||||
//查询已经被策略引用的asn
|
||||
List<AsnGroupInfo> asnList=asnGroupInfoDao.findAsnGroupInfoByAsnNos(Arrays.asList(asnIds.split(",")), 1);
|
||||
List<AsnGroupInfo> asnList=asnGroupInfoDao.findAsnGroupInfoByGroupIds(Arrays.asList(groupIds.split(",")), 1);
|
||||
//修改asn为无效,且解除引用
|
||||
asnGroupInfoDao.updateIsUsedAndIsValid(Arrays.asList(asnIds.split(",")), 0, -1);
|
||||
asnGroupInfoDao.updateIsUsedAndIsValid(Arrays.asList(groupIds.split(",")), 0, -1);
|
||||
//删除asn下的所有asn IP
|
||||
asnIpCfgDao.deleteByAsnId(asnIds);
|
||||
|
||||
@@ -364,9 +368,5 @@ public class AsnGroupInfoService extends BaseService{
|
||||
List<AsnGroupInfo> list=asnGroupInfoDao.findAsnGroupInfoByAsnGroup(asnGroupInfo);
|
||||
return list;
|
||||
}
|
||||
public List<AsnGroupInfo> findAsnGroupList(List<String> asnNos,Integer isUsed){
|
||||
List<AsnGroupInfo> list=asnGroupInfoDao.findAsnGroupInfoByAsnNos(asnNos,null );
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -510,7 +510,10 @@ public class AsnIpCfgService extends CrudService<CrudDao<AsnIpCfg>, AsnIpCfg> {
|
||||
List<AsnGroupInfo> auditAsnGroupList=new ArrayList<>();
|
||||
SqlSessionFactory sqlSessionFactory=SpringContextHolder.getBean(SqlSessionFactory.class);
|
||||
final SqlSession batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
|
||||
Integer serviceId=0;
|
||||
try{
|
||||
if(!StringUtil.isEmpty(asnIpCfgs)){
|
||||
serviceId=asnIpCfgs.get(0).getServiceId();
|
||||
int issuedNum=asnIpCfgs.size();
|
||||
for(int index = 0; index < asnIpCfgs.size();index++){
|
||||
AsnIpCfg t = asnIpCfgs.get(index);
|
||||
@@ -590,6 +593,9 @@ public class AsnIpCfgService extends CrudService<CrudDao<AsnIpCfg>, AsnIpCfg> {
|
||||
}else if(isValid==Constants.VALID_NO) {//取消审核通过
|
||||
asnGroupInfo.setIssuedIPs(0L-issuedNum);
|
||||
asnGroupInfoDao.update(asnGroupInfo);
|
||||
|
||||
//如果一个asn组下没有IP了,修改有效状态,并且删除
|
||||
if(hasValidAsnIp(asn)) {
|
||||
//已经下发过的,调用分组复用配置删除接口
|
||||
GroupReuseAddBean maatBean = new GroupReuseAddBean();
|
||||
List<GroupReuseCfg> groupReuseList=new ArrayList<>();
|
||||
@@ -610,15 +616,33 @@ public class AsnIpCfgService extends CrudService<CrudDao<AsnIpCfg>, AsnIpCfg> {
|
||||
//调用服务接口下发配置
|
||||
ToMaatResult result = ConfigServiceUtil.auditCommonGroupRegionSources(json,3);
|
||||
logger.info("ASN IP域删除配置响应信息:"+result.getMsg());
|
||||
//如果一个asn组下没有IP了,修改有效状态
|
||||
if(hasValidAsnIp(asn)) {
|
||||
}else{
|
||||
asnGroupInfo.setIsValid(0);
|
||||
asnGroupInfo.setEditorId(UserUtils.getUser().getId());
|
||||
asnGroupInfo.setEditTime(new Date());
|
||||
asnGroupInfoDao.updateValid(asnGroupInfo);
|
||||
}
|
||||
//asn group下没有asn ip之后,需要失效整个compileId,并且不保留公共组信息
|
||||
ToMaatBean maatBean = new ToMaatBean();
|
||||
maatCfg.setCompileId(asnGroupInfo.getCompileId());
|
||||
maatCfg.setServiceId(serviceId);
|
||||
maatCfg.setIsValid(0);//无效
|
||||
//configCompileList.add(addKeepGroupList(maatCfg,entity));
|
||||
configCompileList.add(maatCfg);
|
||||
maatBean.setConfigCompileList(configCompileList);
|
||||
maatBean.setAuditTime(new Date());
|
||||
maatBean.setCreatorName(UserUtils.getUser().getName());
|
||||
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||
maatBean.setOpAction(Constants.UPDATE_ACTION);
|
||||
//调用服务接口取消配置
|
||||
String json=gsonToJson(maatBean);
|
||||
logger.info("asn ip配置下发配置参数:"+json);
|
||||
//调用服务接口下发配置
|
||||
ToMaatResult result = ConfigServiceUtil.put(json,1);
|
||||
logger.info("asn ip配置取消配置响应信息:"+result.getMsg());
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}finally {
|
||||
if(batchSqlSession != null){
|
||||
batchSqlSession.close();
|
||||
|
||||
@@ -1168,7 +1168,9 @@ public class AppCfgService extends BaseService {
|
||||
List<NumBoundaryCfg> numRegionList = new ArrayList();
|
||||
List<DigestCfg> digestRegionList = new ArrayList();
|
||||
List<IpCfg> areaIpRegionList = new ArrayList();
|
||||
Integer serviceId=0;
|
||||
this.auditAppIpCfg(entitys);
|
||||
serviceId=entitys.get(0).getServiceId();
|
||||
// for(AppIpCfg entity:entitys) {
|
||||
// // 保存区域IP信息
|
||||
// List<AreaIpCfg> areaIpCfgList = areaIpCfgDao.getByCompileId(entitys.get(0).getCompileId());
|
||||
@@ -1272,6 +1274,8 @@ public class AppCfgService extends BaseService {
|
||||
throw new RuntimeException("Unknown configGroupInfo isIssued value");
|
||||
}
|
||||
} else if (isAudit == 3) {
|
||||
//判断配置取消之后,是否还有有效的配置
|
||||
if(hasValidAppIp(configGroupInfo.getCompileId())){
|
||||
//已经下发过的,调用分组复用配置删除接口
|
||||
GroupReuseAddBean maatBean = new GroupReuseAddBean();
|
||||
List<GroupReuseCfg> groupReuseList=new ArrayList<>();
|
||||
@@ -1292,6 +1296,32 @@ public class AppCfgService extends BaseService {
|
||||
//调用服务接口下发配置
|
||||
ToMaatResult result = ConfigServiceUtil.auditCommonGroupRegionSources(json,3);
|
||||
logger.info("app协议IP域删除配置响应信息:"+result.getMsg());
|
||||
}else{
|
||||
//修改组的有效状态为无效。并发送compileid 配置取消 此后组的app ip不再自动下发。
|
||||
ConfigGroupInfo appConfigGroup=new ConfigGroupInfo();
|
||||
appConfigGroup.setIsIssued(0);
|
||||
appConfigGroup.setUpdateTime(new Date());
|
||||
appConfigGroup.setGroupId(configGroupInfo.getGroupId());
|
||||
configGroupInfoDao.updateConfigGroupInfobyGroupId(appConfigGroup);
|
||||
//asn group下没有asn ip之后,需要失效整个compileId,并且不保留公共组信息
|
||||
ToMaatBean maatBean = new ToMaatBean();
|
||||
maatCfg.setCompileId(configGroupInfo.getCompileId());
|
||||
maatCfg.setServiceId(serviceId);
|
||||
maatCfg.setIsValid(0);//无效
|
||||
//configCompileList.add(addKeepGroupList(maatCfg,entity));
|
||||
configCompileList.add(maatCfg);
|
||||
maatBean.setConfigCompileList(configCompileList);
|
||||
maatBean.setAuditTime(new Date());
|
||||
maatBean.setCreatorName(UserUtils.getUser().getName());
|
||||
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||
maatBean.setOpAction(Constants.UPDATE_ACTION);
|
||||
//调用服务接口取消配置
|
||||
String json=gsonToJson(maatBean);
|
||||
logger.info("app Ip 取消配置参数:"+json);
|
||||
//调用服务接口下发配置
|
||||
ToMaatResult result = ConfigServiceUtil.put(json,1);
|
||||
logger.info("app Ip 取消配置响应信息:"+result.getMsg());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2116,4 +2146,13 @@ public class AppCfgService extends BaseService {
|
||||
|
||||
}
|
||||
|
||||
public boolean hasValidAppIp(Integer compileId){
|
||||
List<AppIpCfg> appIps=appCfgDao.findAppIpByCompileId(compileId);
|
||||
if(!StringUtil.isEmpty(appIps)){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -863,19 +863,15 @@ public class IpCfgService extends CrudService<IpCfgDao,BaseIpCfg> {
|
||||
List<NtcSubscribeIdCfg> subscribeIdList = stringCfgDao.findSubscribeIdCfgListByCfgIndexInfo(entity);
|
||||
entity.setIpPortList(ipPortList);
|
||||
entity.setNtcSubscribeIdCfgList(subscribeIdList);
|
||||
if(StringUtils.isNotBlank(entity.getCommonGroupIds())) {
|
||||
List<AsnKeywordCfg> asnKeywordCfgs=stringCfgDao.findAsnKeywordCfgList(entity);
|
||||
entity.setAsnKeywords(asnKeywordCfgs);
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
public CfgIndexInfo exportIpInfo(CfgIndexInfo entity){
|
||||
List<IpPortCfg> ipPortList = ipCfgDao.getIpPortList(entity);
|
||||
entity.setIpPortList(ipPortList);
|
||||
if(StringUtils.isNotBlank(entity.getUserRegion4())) {
|
||||
List<AsnKeywordCfg> asnKeywordCfgs=stringCfgDao.findAsnKeywordCfgList(entity);
|
||||
entity.setAsnKeywords(asnKeywordCfgs);
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
public BaseIpCfg getIpCfgById(String tableName,long id){
|
||||
|
||||
@@ -1361,7 +1361,7 @@ nas_ip=NAS IP Address
|
||||
framed_ip=Framed IP Address
|
||||
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.
|
||||
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.
|
||||
conn_record=Connection Records
|
||||
bps=Gbps
|
||||
@@ -1475,3 +1475,5 @@ block_drop=Block(Drop)
|
||||
mail_record=Mail Records
|
||||
ssl_record=SSL Records
|
||||
http_record=HTTP Records
|
||||
second_bps=bps
|
||||
GBps=GBps
|
||||
@@ -44,6 +44,7 @@ domain_control=\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043
|
||||
dns_control=DNS
|
||||
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
|
||||
second_bps=bps
|
||||
classification_manage=\u041a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f
|
||||
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
|
||||
@@ -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
|
||||
and_expression=&
|
||||
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
|
||||
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
|
||||
exactly_match=\u0422\u043E\u0447\u043D\u043E\u0441\u0442\u044C\u044E \u0421\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
|
||||
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
|
||||
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
|
||||
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
|
||||
@@ -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
|
||||
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
|
||||
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_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
|
||||
@@ -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
|
||||
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
|
||||
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
|
||||
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
|
||||
@@ -1406,11 +1407,11 @@ APP_TCP_SESSION_BYTE=\u0421\u0435\u0430\u043d\u0441
|
||||
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
|
||||
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
|
||||
country=\u0421\u0442\u0440\u0430\u043d\u0430
|
||||
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
|
||||
upload_limit_is=The limitation of file uplaod is
|
||||
count=Count
|
||||
@@ -1472,10 +1473,11 @@ not_exist=not exist
|
||||
real_time=Real Time
|
||||
history=History
|
||||
all_columns_hidden=All columns are hidden!
|
||||
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
|
||||
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
|
||||
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
|
||||
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)
|
||||
mail_record=\u0417\u0430\u043F\u0438\u0441\u0438 \u041F\u043E\u0447\u0442\u044B
|
||||
ssl_record=SSL \u0417\u0430\u043F\u0438\u0441\u0438
|
||||
http_record=HTTP \u0417\u0430\u043F\u0438\u0441\u0438
|
||||
mail_record=\u0417\u0430\u043f\u0438\u0441\u0438 \u041f\u043e\u0447\u0442\u044b
|
||||
ssl_record=SSL \u0417\u0430\u043f\u0438\u0441\u0438
|
||||
http_record=HTTP \u0417\u0430\u043f\u0438\u0441\u0438
|
||||
GBps=GBps
|
||||
@@ -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
|
||||
PXY_INTERCEPT_PKT_BIN=\u5305\u8f7d\u8377
|
||||
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_desc=\u6587\u4ef6\u63cf\u8ff0\t
|
||||
content_type=\u5185\u5bb9\u7c7b\u578b
|
||||
@@ -1468,10 +1468,12 @@ not_exist=\u4e0d\u5b58\u5728
|
||||
real_time=\u5b9e\u65f6
|
||||
history=\u5386\u53f2
|
||||
all_columns_hidden=\u6240\u6709\u7684\u5217\u90fd\u9690\u85cf\u4e86\uff01
|
||||
no_log=\u4E0D\u8BB0\u5F55
|
||||
all_log=\u8BB0\u5F55\u6240\u6709\u65E5\u5FD7
|
||||
framework_log=\u53EA\u8BB0\u5F55\u7ED3\u6784\u5316\u65E5\u5FD7
|
||||
block_drop=\u5C01\u5835(\u4E22\u5F03)
|
||||
mail_record=\u90AE\u4EF6\u6CDB\u6536
|
||||
ssl_record=SSL\u6CDB\u6536
|
||||
http_record=HTTP\u6CDB\u6536
|
||||
no_log=\u4e0d\u8bb0\u5f55
|
||||
all_log=\u8bb0\u5f55\u6240\u6709\u65e5\u5fd7
|
||||
framework_log=\u53ea\u8bb0\u5f55\u7ed3\u6784\u5316\u65e5\u5fd7
|
||||
block_drop=\u5c01\u5835(\u4e22\u5f03)
|
||||
mail_record=\u90ae\u4ef6\u6cdb\u6536
|
||||
ssl_record=SSL\u6cdb\u6536
|
||||
http_record=HTTP\u6cdb\u6536
|
||||
second_bps=bps
|
||||
GBps=GBps
|
||||
3
src/main/resources/sql/20190117/add_sys_menu.sql
Normal file
3
src/main/resources/sql/20190117/add_sys_menu.sql
Normal file
@@ -0,0 +1,3 @@
|
||||
--新增日志检索->白名单->IP白名单
|
||||
INSERT INTO `sys_menu` (`id`, `parent_id`, `parent_ids`, `code`, `name`, `sort`, `href`, `target`, `icon`, `is_show`, `permission`, `create_by`, `create_date`, `update_by`, `update_date`, `remarks`, `del_flag`, `menu_bg`, `quick_action`, `is_top`, `function_id`) VALUES ('1240', '152', '0,1,152,', 'whitelist', 'White List', '1', '', '', '', '1', '', '1', '2019-01-16 14:51:10', '1', '2019-01-16 15:31:46', '', '1', NULL, '0', '0', NULL);
|
||||
INSERT INTO `sys_menu` (`id`, `parent_id`, `parent_ids`, `code`, `name`, `sort`, `href`, `target`, `icon`, `is_show`, `permission`, `create_by`, `create_date`, `update_by`, `update_date`, `remarks`, `del_flag`, `menu_bg`, `quick_action`, `is_top`, `function_id`) VALUES ('1241', '1240', '0,1,152,1240,', 'ip_whitelist', 'IP White List', '1', '/log/ntc/ipWhiteList', '', '', '1', '', '1', '2019-01-16 14:52:55', '1', '2019-01-16 17:27:31', '', '1', NULL, '0', '0', '3');
|
||||
@@ -0,0 +1,2 @@
|
||||
#asn和组织之间的关系属性
|
||||
ALTER TABLE asn_group_info ADD org_group_id int(20) DEFAULT 0 COMMENT '与config_group_info的group_id关联';
|
||||
@@ -1,6 +1,7 @@
|
||||
DELETE FROM app_byte_cfg;
|
||||
DELETE FROM app_domain_cfg;
|
||||
DELETE FROM app_features_index;
|
||||
DELETE FROM app_feature_index;
|
||||
DELETE FROM app_http_cfg;
|
||||
DELETE FROM app_id_cfg;
|
||||
DELETE FROM app_ip_cfg;
|
||||
@@ -66,3 +67,7 @@ DELETE FROM ip_reuse_policy_cfg;
|
||||
DELETE FROM user_manage;
|
||||
#clear vpn
|
||||
DELETE FROM service_dict_info where item_type='5';
|
||||
-- <20><><EFBFBD><EFBFBD>DNS<4E><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>100<30><30><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>101<30><31>ʼ
|
||||
ALTER TABLE policy_group_info auto_increment = 101;
|
||||
-- <20><><EFBFBD><EFBFBD>asn<73>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD>
|
||||
DELETE FROM asn_group_info;
|
||||
@@ -393,18 +393,7 @@ function cancelPassOpt(url){
|
||||
});
|
||||
return flag;
|
||||
}
|
||||
//验证是否可删除
|
||||
function validateIsDelete(checkboxes){
|
||||
var flag = false;
|
||||
$(checkboxes).filter(":checked").each(function(){
|
||||
//alert($(this).val());
|
||||
if($(this).val()!=0 && $(this).val()!=3){//状态为3的配置为取消审核的配置,可删除
|
||||
flag = true;
|
||||
return;
|
||||
}
|
||||
});
|
||||
return flag;
|
||||
}
|
||||
|
||||
//验证选择的配置,是否有审核通过的
|
||||
function validatePass(checkboxes){
|
||||
var flag = false;
|
||||
|
||||
@@ -65,6 +65,7 @@ $(function(){
|
||||
<input type="hidden" name="groupId" value="${_cfg.groupId}">
|
||||
<input type="hidden" name="isValid" value="${_cfg.isValid}">
|
||||
<input type="hidden" name="compileId" value="${_cfg.compileId}">
|
||||
<input type="hidden" name="regionId" value="${_cfg.regionId}">
|
||||
<div class="form-body">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
|
||||
@@ -283,9 +283,9 @@
|
||||
<th><spring:message code="classification"/></th>
|
||||
<th><spring:message code="attribute"/></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="log_total"/></th> --%>
|
||||
<th column="valid_identifier" ><spring:message code="valid_identifier"/></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="editor" ><spring:message code="editor"/></th>
|
||||
@@ -389,11 +389,6 @@
|
||||
</a>
|
||||
</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>
|
||||
<c:choose>
|
||||
<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> --%>
|
||||
</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><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
||||
<td>${cfg.editorName }</td>
|
||||
|
||||
@@ -20,15 +20,21 @@
|
||||
<input type="hidden" name="${cfgName}.machMethod" value="3">
|
||||
<input type="hidden" name="${cfgName}.isHexbin" value="0">
|
||||
<input type="hidden" name="${cfgName}.cfgId" value="${cfg.cfgId}">
|
||||
<!-- asn no regionId 【界面每次校验的时候填写】-->
|
||||
<input type="hidden" name="${cfgName}.userRegion1" value="">
|
||||
<!-- asn no的组号groupId 【界面每次校验的时候填写】-->
|
||||
<input type="hidden" name="${cfgName}.userRegion2" value="">
|
||||
<!-- asn no组织的groupId 【界面每次校验的时候填写】-->
|
||||
<input type="hidden" name="${cfgName}.userRegion3" value="">
|
||||
<!-- 是否自动更新ASN NO -->
|
||||
<input type="hidden" name="${cfgName}.userRegion2" value="${cfg.userRegion2}">
|
||||
<div class="hidden" id="selectAll"><spring:message code="select_All_Text"/></div>
|
||||
<input type="hidden" name="${cfgName}.userRegion4" value="${cfg.userRegion4}">
|
||||
<%-- <div class="hidden" id="selectAll"><spring:message code="select_All_Text"/></div>
|
||||
<div class="hidden" id="deselectAll"><spring:message code="deselect_All_Text"/></div>
|
||||
<input type="hidden" name="${cfgName}.organizationGroupId" value="${cfg.userRegion1}">
|
||||
<input type="hidden" name="${cfgName}.asnNo" value="${cfg.cfgKeywords}" used="false">
|
||||
<input type="hidden" name="${cfgName}.asnNo" value="${cfg.cfgKeywords}" used="false"> --%>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<%-- <div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="organization"/></label>
|
||||
<div class="col-md-6">
|
||||
@@ -38,13 +44,14 @@
|
||||
</div>
|
||||
<div for="${cfgName}.userRegion1"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div> --%>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="asn_no"/></label>
|
||||
<div class="col-md-6">
|
||||
<select name="${cfgName}.cfgKeywords" class="selectpicker show-tick form-control asnNo required" multiple data-live-search="true" data-actions-box="true" data-live-search-placeholder="search" >
|
||||
</select>
|
||||
<input class="form-control required digits asnMustExists" type="text" name="${cfgName}.cfgKeywords" value="${cfg.cfgKeywords}" ctx="${ctx}">
|
||||
<%-- <select name="${cfgName}.cfgKeywords" class="selectpicker show-tick form-control asnNo required" multiple data-live-search="true" data-actions-box="true" data-live-search-placeholder="search" >
|
||||
</select> --%>
|
||||
</div>
|
||||
<div for="${cfgName}.cfgKeywords"></div>
|
||||
</div>
|
||||
|
||||
@@ -26,6 +26,13 @@ $(function(){
|
||||
$(".level").find("select[name$='level']").val("0");
|
||||
$(".level").find("select[name$='level']").selectpicker("refresh");
|
||||
}
|
||||
if($("span").hasClass("label-success")){
|
||||
$("input[name='action']").not(":checked").attr("disabled","disabled");
|
||||
$("#save").attr("disabled","disabled");
|
||||
}else{
|
||||
$("input[name='action']").removeAttr("disabled");
|
||||
$("#save").removeAttr("disabled");
|
||||
}
|
||||
$("input[name~=action]").on("change",function(){
|
||||
$("#serviceId").val($(this).attr("serviceId"));
|
||||
if($(".action:checked").val()==1){
|
||||
@@ -64,6 +71,10 @@ $(function(){
|
||||
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
|
||||
},
|
||||
submitHandler: function(form){
|
||||
if($("span").hasClass("label-success")){
|
||||
top.$.jBox.tip("<spring:message code='has_approved'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}
|
||||
loading('onloading...');
|
||||
form.submit();
|
||||
},
|
||||
@@ -96,7 +107,7 @@ $(function(){
|
||||
<input type="hidden" name="cfgs[0].isAudit" value="1">
|
||||
<input type="hidden" name="cfgs[0].isAreaEffective" value="0">
|
||||
<input type="hidden" name="cfgs[0].description" value="0">
|
||||
<input type="hidden" name="cfgs[0].level" value="0">
|
||||
<input type="hidden" name="cfgs[0].level" value="100">
|
||||
<input type="hidden" name="preset" value="1">
|
||||
<c:if test="${fn:length(serviceList)>0 and fn:length(cfgs)eq 0}">
|
||||
<input type="hidden" name="cfgs[0].serviceId" value="${serviceList[0].serviceId}">
|
||||
|
||||
@@ -332,12 +332,12 @@
|
||||
<th column="config_describe" class="sort-column r.cfg_desc"><spring:message code="config_describe"/></th>
|
||||
<th column="block_type" class="sort-column r.action"><spring:message code="block_type"/></th>
|
||||
<th column="group" ><spring:message code="group"/></th>
|
||||
<th column="is_audit" ><spring:message code="is_audit"/></th>
|
||||
<th column="ip_type" ><spring:message code="ip_type"/></th>
|
||||
<th column="IP" ><spring:message code="IP"/></th>
|
||||
<%-- <th column="port" ><spring:message code="port"/></th> --%>
|
||||
<th column="ip_pattern" ><spring:message code="ip_pattern"/></th>
|
||||
<th column="IP" ><spring:message code="IP"/></th>
|
||||
<%-- <th column="port_pattern" ><spring:message code="port_pattern"/></th> --%>
|
||||
<th column="is_audit" ><spring:message code="is_audit"/></th>
|
||||
<th column="letter" ><spring:message code="letter"/></th>
|
||||
<th column="classification" ><spring:message code="classification"/></th>
|
||||
<th column="attribute" ><spring:message code="attribute"/></th>
|
||||
@@ -371,12 +371,19 @@
|
||||
<spring:message code="default_group"/>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<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 '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
|
||||
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
|
||||
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon=""> <spring:message code="cancel_approved"/></span></c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="ipTypeC">
|
||||
<c:if test="${cfg.ipType==ipTypeC.itemCode}"><spring:message code="${ipTypeC.itemValue }"/></c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
<td title="${cfg.destIpAddress }">${fns:abbr(cfg.destIpAddress, 42)}</td>
|
||||
<%-- <td>${cfg.destPort }</td> --%>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('IP_PATTERN')}" var="ipPatternC">
|
||||
@@ -388,14 +395,7 @@
|
||||
<c:if test="${cfg.portPattern eq portPatternC.itemCode}"><spring:message code="${portPatternC.itemValue }"/></c:if>
|
||||
</c:forEach>
|
||||
</td> --%>
|
||||
<td>
|
||||
<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 '1'}"><span class="label label-success"><spring:message code="approved"></spring:message></span></c:when>
|
||||
<c:when test="${cfg.isAudit eq '2'}"><span class="label label-warning"><spring:message code="unapproved"></spring:message></span></c:when>
|
||||
<c:when test="${cfg.isAudit eq '3'}"><span indexTable="${cfg.indexTable}" data-placement="right" data-original-title="<spring:message code='letter_cancel_info'/>: " class="label le-ca-fo label-warning tooltips" data-icon=""> <spring:message code="cancel_approved"/></span></c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td title="${cfg.destIpAddress }">${fns:abbr(cfg.destIpAddress, 42)}</td>
|
||||
<td>${cfg.requestName }</td>
|
||||
<td >
|
||||
<c:set var="classify"></c:set>
|
||||
|
||||
@@ -409,14 +409,14 @@
|
||||
<th column="userregion1" ><spring:message code="intercept_intensity"/></th>
|
||||
</c:if> --%>
|
||||
<th column="is_audit" ><spring:message code="is_audit"/></th>
|
||||
<th column="do_log" ><spring:message code="do_log"/></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="letter" ><spring:message code="letter"/></th>
|
||||
<th column="classification" ><spring:message code="classification"/></th>
|
||||
<th column="attribute" ><spring:message code="attribute"/></th>
|
||||
<th column="label" ><spring:message code="label"/></th>
|
||||
<th column="valid_identifier" class="sort-column a.is_valid"><spring:message code="valid_identifier"/></th>
|
||||
<th column="do_log" ><spring:message code="do_log"/></th>
|
||||
<th column="log_total" ><spring:message code="log_total"/></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="editor" ><spring:message code="editor"/></th>
|
||||
@@ -552,6 +552,14 @@
|
||||
<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=""> <spring:message code="cancel_approved"/></span></c:when>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq indexCfg.doLog and indexCfg.action!=64 }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</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.isAreaEffective==0}"><spring:message code="all"/></c:if>
|
||||
<c:if test="${indexCfg.isAreaEffective==1}">
|
||||
@@ -624,14 +632,6 @@
|
||||
<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>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq indexCfg.doLog and indexCfg.action!=64 }">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}"><div class="loading-total"></div></td>
|
||||
<td>${indexCfg.creatorName }</td>
|
||||
<td><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
||||
<td>${indexCfg.editorName }</td>
|
||||
|
||||
@@ -312,6 +312,10 @@ var processAction=function(configType,obj){
|
||||
})
|
||||
$(".ratelimitAction").addClass("hidden");
|
||||
$(".ratelimitAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
|
||||
$(".subscribeId").find(".glyphicon-remove").click();
|
||||
$(".subscribeId").prev("h4").addClass("hidden");
|
||||
$(".asnRegionV").find(".glyphicon-remove").click();
|
||||
$(".asnRegionV").prev("h4").addClass("hidden");
|
||||
}else if(action==16){
|
||||
//先清空,再添加
|
||||
o.find("select[name$='protocol']").empty();
|
||||
@@ -322,6 +326,8 @@ var processAction=function(configType,obj){
|
||||
})
|
||||
$(".ratelimitAction").addClass("hidden");
|
||||
$(".ratelimitAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
|
||||
$(".subscribeId").prev("h4").removeClass("hidden");
|
||||
$(".asnRegionV").prev("h4").removeClass("hidden");
|
||||
}else if(action==64){
|
||||
//先清空,再添加
|
||||
o.find("select[name$='protocol']").empty();
|
||||
@@ -342,6 +348,8 @@ var processAction=function(configType,obj){
|
||||
$(".droprate").find("select[name='userRegion2']").attr("disabled",true);
|
||||
$(".droprate").find("select[name='userRegion2']").selectpicker("refresh");
|
||||
}
|
||||
$(".subscribeId").prev("h4").removeClass("hidden");
|
||||
$(".asnRegionV").prev("h4").removeClass("hidden");
|
||||
}else if(action==1){
|
||||
//先清空,再添加
|
||||
o.find("select[name$='protocol']").empty();
|
||||
@@ -352,6 +360,8 @@ var processAction=function(configType,obj){
|
||||
})
|
||||
$(".ratelimitAction").addClass("hidden");
|
||||
$(".ratelimitAction").find("input[name^='userRegion'],select[name^='userRegion']").attr("disabled",true);
|
||||
$(".subscribeId").prev("h4").removeClass("hidden");
|
||||
$(".asnRegionV").prev("h4").removeClass("hidden");
|
||||
}
|
||||
o.find("select[name$='protocol']").selectpicker("refresh");
|
||||
//切换后如果没找到选项,选任意协议
|
||||
@@ -419,6 +429,7 @@ var showHideIPSECProtocol=function(obj){
|
||||
<input type="hidden" name="cfgId" value="${_cfg.cfgId}">
|
||||
<input type="hidden" name="compileId" value="${_cfg.compileId}">
|
||||
<input type="hidden" name="functionId" value="${_cfg.functionId}">
|
||||
<input type="hidden" name="commonGroupIds" value="">
|
||||
<input type="hidden" id="serviceId" name="serviceId"
|
||||
value="${_cfg.serviceId}">
|
||||
<c:forEach items="${regionList}" var="region">
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
<c:if test="${(region[0] eq 3) && (not empty _cfg.asnKeywords)}">
|
||||
<c:forEach items="${_cfg.asnKeywords}" var="asn">
|
||||
<div id="${region[1]}Info${index}" class="content" name="subCfg${index}">
|
||||
<div class="row">
|
||||
<%-- <div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<label><spring:message code='organization'/>:</label>
|
||||
@@ -230,7 +230,7 @@
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> --%>
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
|
||||
@@ -402,7 +402,6 @@
|
||||
<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="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="whether_area_block" ><spring:message code="whether_area_block"/></th> --%>
|
||||
<th column="operation" ><spring:message code="operation"/></th>
|
||||
@@ -410,6 +409,7 @@
|
||||
<th column="classification" ><spring:message code="classification"/></th>
|
||||
<th column="attribute" ><spring:message code="attribute"/></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="config_time" class="sort-column r.create_time"><spring:message code="config_time"/></th>
|
||||
<th column="editor" ><spring:message code="editor"/></th>
|
||||
@@ -439,11 +439,6 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</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>
|
||||
<c:choose>
|
||||
<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)}
|
||||
</a>
|
||||
</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><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
||||
<td>${cfg.editorName }</td>
|
||||
|
||||
@@ -354,17 +354,16 @@
|
||||
<th column="protocol" ><spring:message code="protocol"/></th>
|
||||
<th column="user_type"><spring:message code="user_type"/></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="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="letter" ><spring:message code="letter"/></th>
|
||||
<th column="classification" ><spring:message code="classification"/></th>
|
||||
<th column="attribute" ><spring:message code="attribute"/></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="config_time" class="sort-column a.create_time"><spring:message code="config_time"/></th>
|
||||
<th column="editor" ><spring:message code="editor"/></th>
|
||||
@@ -418,8 +417,6 @@
|
||||
</c:forEach>
|
||||
</td>
|
||||
|
||||
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><div class="loading-total"></div></td>
|
||||
|
||||
<%-- <td>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq indexCfg.doLog }">
|
||||
@@ -435,11 +432,6 @@
|
||||
</a>
|
||||
</c:if>
|
||||
</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>
|
||||
<c:choose>
|
||||
<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=""> <spring:message code="cancel_approved"/></span></c:when>
|
||||
</c:choose>
|
||||
</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>
|
||||
<c:set var="classify"></c:set>
|
||||
@@ -507,7 +501,11 @@
|
||||
${fns:abbr(lableInfo,20)}
|
||||
</a>
|
||||
</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><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
||||
<td>${indexCfg.editorName }</td>
|
||||
|
||||
@@ -213,15 +213,15 @@ var switchUserType = function(obj){
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="col-md-6 hidden">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="user_type"/></label>
|
||||
<div class="col-md-6">
|
||||
<select name="userType" class="selectpicker show-tick form-control required">
|
||||
<option value=""><spring:message code="select"/></option>
|
||||
<option value="VPN" <c:if test="${_cfg.userType eq 'VPN' }">selected</c:if>><spring:message code="policy_vpn_user"/></option>
|
||||
<option value="SIPv4" <c:if test="${_cfg.userType eq 'SIPv4' }">selected</c:if>><spring:message code="policy_sipv4_user"/></option>
|
||||
<option value="SIPv6" <c:if test="${_cfg.userType eq 'SIPv6' }">selected</c:if>><spring:message code="policy_sipv6_user"/></option>
|
||||
<%-- <option value=""><spring:message code="select"/></option> --%>
|
||||
<option value="VPN" selected ><spring:message code="policy_vpn_user"/></option>
|
||||
<%-- <option value="SIPv4" <c:if test="${_cfg.userType eq 'SIPv4' }">selected</c:if>><spring:message code="policy_sipv4_user"/></option>
|
||||
<option value="SIPv6" <c:if test="${_cfg.userType eq 'SIPv6' }">selected</c:if>><spring:message code="policy_sipv6_user"/></option> --%>
|
||||
</select>
|
||||
</div>
|
||||
<div for="userType"></div>
|
||||
|
||||
@@ -332,7 +332,6 @@
|
||||
<%-- <th column="ip"><spring:message code="ip"/></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="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="do_log"><spring:message code="do_log"/></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="attribute"><spring:message code="attribute"/></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="config_time" class="sort-column r.create_time"><spring:message code="config_time"/></th>
|
||||
<th column="editor"><spring:message code="editor"/></th>
|
||||
@@ -391,11 +391,6 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</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>
|
||||
<c:choose>
|
||||
<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)}
|
||||
</a>
|
||||
</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><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
||||
<td>${indexCfg.editorName }</td>
|
||||
|
||||
@@ -375,9 +375,9 @@
|
||||
<th column="label" ><spring:message code="label"/></th> --%>
|
||||
|
||||
<th column="is_audit" ><spring:message code="is_audit"/></th>
|
||||
<th column="valid_identifier" class="sort-column a.is_valid"><spring:message code="valid_identifier"/></th>
|
||||
<th column="do_log" ><spring:message code="do_log"/></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="config_time" class="sort-column a.create_time"><spring:message code="config_time"/></th>
|
||||
<th column="editor" ><spring:message code="editor"/></th>
|
||||
@@ -477,11 +477,6 @@
|
||||
<c:when test="${indexCfg.isAudit eq '3'}"><span class="label label-warning"><spring:message code="cancel_approved"></spring:message></span></c:when>
|
||||
</c:choose>
|
||||
</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>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq indexCfg.doLog }">
|
||||
@@ -490,6 +485,11 @@
|
||||
</c:forEach>
|
||||
</td>
|
||||
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}" serviceId="${indexCfg.serviceId}"><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><fmt:formatDate value="${indexCfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>
|
||||
<td>${indexCfg.editorName }</td>
|
||||
|
||||
@@ -79,7 +79,7 @@ body {
|
||||
<!-- 网络带宽 --><spring:message code="traffic"/>
|
||||
</label>
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -162,6 +162,8 @@
|
||||
<th><spring:message code="percentage"/> (<spring:message code="packets"/>)</th>
|
||||
<th><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>
|
||||
</thead>
|
||||
<tbody id="tableData"></tbody>
|
||||
@@ -317,6 +319,8 @@
|
||||
html += "<td class='tc'>" + data.pktPercent + " %</td>";
|
||||
html += "<td class='tc'>" + Math.round(data.byteNum*100)/100 + "</td>";
|
||||
html += "<td class='tc'>" + data.bytePercent + " %</td>";
|
||||
html += "<td class='tc'>" + data.pps + "</td>";
|
||||
html += "<td class='tc'>" + data.bps + "</td>";
|
||||
html += "</tr>"
|
||||
if(index==fileDataS.length-1){
|
||||
html+="<tr class='tr-total hidden'>"
|
||||
@@ -327,6 +331,8 @@
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+= "<td class='tc'>"+totalbyte+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+="</tr>"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,6 +120,8 @@
|
||||
<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="percentage"/> (<spring:message code="GByte"/>)</th>
|
||||
<th class="tl"><spring:message code="pps"/></th>
|
||||
<th class="tl"><spring:message code="second_bps"/></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tableData"></tbody>
|
||||
@@ -353,6 +355,8 @@ function htmlData(fileDataS){
|
||||
html+= "<td class='tc'>"+packper+"%"+"</td>";
|
||||
html+= "<td class='tc'>"+Math.round(data.GByte*100)/100+"</td>";
|
||||
html+= "<td class='tc'>"+gbytper+"%"+"</td>";
|
||||
html+= "<td class='tc'>"+data.pps+"</td>";
|
||||
html+= "<td class='tc'>"+data.bps+"</td>";
|
||||
html+="</tr>"
|
||||
if(index==fileDataS.length-1){
|
||||
html+="<tr class='tr-total hidden'>"
|
||||
@@ -364,6 +368,8 @@ function htmlData(fileDataS){
|
||||
html+= "<td class='tc'>"+"100%"+"</td>";
|
||||
html+= "<td class='tc'>"+Math.round(totalGByte*100)/100+"</td>";
|
||||
html+= "<td class='tc'>"+"100%"+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+="</tr>"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,6 +82,8 @@
|
||||
<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="percentage"/> (<spring:message code="GByte"/>)</th>
|
||||
<th class="tl"><spring:message code="pps"/></th>
|
||||
<th class="tl"><spring:message code="second_bps"/></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<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.count/1073741824).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>"
|
||||
if(index==fileDataS.length-1){
|
||||
html+="<tr class='tr-total hidden'>"
|
||||
@@ -308,6 +312,8 @@ function htmlData(fileDataS){
|
||||
html+= "<td class='tc'>"+"100%"+"</td>";
|
||||
html+= "<td class='tc'>"+(data.allGByte/1073741824).toFixed(2)+"</td>";
|
||||
html+= "<td class='tc'>"+"100%"+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+="</tr>"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,6 +100,8 @@
|
||||
<th><spring:message code="s2c_pkt_num"/></th>
|
||||
<th><spring:message code="packet"/></th>
|
||||
<th><spring:message code="stat_time"/></th>
|
||||
<th><spring:message code="pps"/></th>
|
||||
<th><spring:message code="second_bps"/></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbodyData">
|
||||
@@ -422,6 +424,8 @@ function showIpActiveChart(xData,series){
|
||||
html+= "<td class='tc'>"+rs.s2cPktNum+"</td>";
|
||||
html+= "<td class='tc'>"+packetNum+"</td>";
|
||||
html+= "<td class='tc'>"+rs.statTime+"</td>";
|
||||
html+= "<td class='tc'>"+rs.avgPacket+"</td>";
|
||||
html+= "<td class='tc'>"+rs.avgByte+"</td>";
|
||||
html+="</tr>"
|
||||
|
||||
if(i==data.length-1){
|
||||
@@ -435,6 +439,8 @@ function showIpActiveChart(xData,series){
|
||||
html+= "<td class='tc'>"+totalc2sPkt+"</td>";
|
||||
html+= "<td class='tc'>"+totals2cPkt+"</td>";
|
||||
html+= "<td class='tc'>"+totalpacket+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+="</tr>"
|
||||
}
|
||||
|
||||
@@ -107,6 +107,8 @@
|
||||
<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="percentage"/> (<spring:message code="GByte"/>)</th>
|
||||
<th class="tl"><spring:message code="pps"/></th>
|
||||
<th class="tl"><spring:message code="second_bps"/></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tableData"></tbody>
|
||||
@@ -343,6 +345,8 @@ function htmlData(fileDataS){
|
||||
html+= "<td class='tc'>"+packper+"%"+"</td>";
|
||||
html+= "<td class='tc'>"+Math.round(data.GByte*100)/100+"</td>";
|
||||
html+= "<td class='tc'>"+gbytper+"%"+"</td>";
|
||||
html+= "<td class='tc'>"+data.pps+"</td>";
|
||||
html+= "<td class='tc'>"+data.bps+"</td>";
|
||||
html+="</tr>"
|
||||
if(index==fileDataS.length-1){
|
||||
html+="<tr class='tr-total hidden'>"
|
||||
@@ -353,6 +357,8 @@ function htmlData(fileDataS){
|
||||
html+= "<td class='tc'>"+"100%"+"</td>";
|
||||
html+= "<td class='tc'>"+Math.round(totalGByte*100)/100+"</td>";
|
||||
html+= "<td class='tc'>"+"100%"+"</td>";
|
||||
html+= "<td class='tc'>"+"——"+"</td>";
|
||||
html+= "<td class='tc'>"+"——"+"</td>";
|
||||
html+="</tr>"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,7 +130,6 @@
|
||||
}
|
||||
$("#pageNo").val(n);
|
||||
$("#pageSize").val(s);
|
||||
// $("#searchForm").attr("action","${ctx}/traffic/userBehavior");
|
||||
$("#searchForm").submit();
|
||||
return false;
|
||||
}
|
||||
@@ -244,7 +243,7 @@
|
||||
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
|
||||
</div>
|
||||
<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 class="pull-left">
|
||||
@@ -253,14 +252,14 @@
|
||||
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
|
||||
</div>
|
||||
<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 class="pull-left accountSearch">
|
||||
<form:input path="account" class="form-control"/>
|
||||
<form:input path="account" class="form-control required"/>
|
||||
</div>
|
||||
<div class="pull-left nasIpSearch">
|
||||
<form:input path="nasIp" class="form-control"/>
|
||||
<form:input path="nasIp" class="form-control required"/>
|
||||
</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>
|
||||
|
||||
@@ -150,6 +150,8 @@
|
||||
<th><spring:message code="percentage"/> (<spring:message code="packets"/>)</th>
|
||||
<th><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>
|
||||
</thead>
|
||||
<tbody id="tableData"></tbody>
|
||||
@@ -398,6 +400,8 @@
|
||||
html += "<td class='tc'>" + packper + " %</td>";
|
||||
html += "<td class='tc'>" + Math.round(data.Gbyte*100)/100 + "</td>";
|
||||
html += "<td class='tc'>" + gbytper + " %</td>";
|
||||
html += "<td class='tc'>" + data.pps + "</td>";
|
||||
html += "<td class='tc'>" + data.bps + "</td>";
|
||||
html += "</tr>"
|
||||
if(index==fileDataS.length-1){
|
||||
html+="<tr class='tr-total hidden'>"
|
||||
@@ -409,6 +413,8 @@
|
||||
html+= "<td class='tc'>"+"100%"+"</td>";
|
||||
html+= "<td class='tc'>"+parseInt(totalGbyte).toFixed(2)+"</td>";
|
||||
html+= "<td class='tc'>"+"100%"+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+= "<td class='tc'>"+"--"+"</td>";
|
||||
html+="</tr>"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,16 @@
|
||||
$('#appSelect').selectpicker('render');
|
||||
}
|
||||
|
||||
$('#ispSelect').selectpicker();
|
||||
var app = $("#isps").val(); //回选的数据
|
||||
if (app !=null && app !='') {
|
||||
var seasonlist = app.split(",");
|
||||
$('#ispSelect').selectpicker('val',seasonlist);
|
||||
$('#ispSelect').selectpicker('render');
|
||||
}
|
||||
|
||||
|
||||
|
||||
$('#protoSelect').selectpicker();
|
||||
var proto = $("#protos").val(); //回选的数据
|
||||
if (proto !=null && proto !='') {
|
||||
@@ -127,6 +137,7 @@
|
||||
<input id="apps" type="hidden" value="${log.appId}"/>
|
||||
<input id="webs" type="hidden" value="${log.webId}"/>
|
||||
<input id="protos" type="hidden" value="${log.protoId}"/>
|
||||
<input id="isps" type="hidden" value="${log.ispCode}"/>
|
||||
<!-- 筛选按钮展开状态-->
|
||||
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${log.isFilterAction }"/>
|
||||
<sys:tableSort id="orderBy" name="orderBy.
|
||||
@@ -262,11 +273,22 @@
|
||||
</div> --%>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code='isp'/>:</label>
|
||||
<select id="ispSelect" name="ispCode" title="<spring:message code="select"/>" class="selectpicker form-control " data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
|
||||
<c:forEach items="${fns:getIspDicList('ispCode')}" var="isp" >
|
||||
<option value="${isp.ispKeyCode}"><spring:message code="${isp.ispKeyName}"></spring:message></option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code='APP'/>:</label>
|
||||
<select id="appSelect" name="appId" title="<spring:message code="select"/>" class="selectpicker form-control " data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
|
||||
<option value="" disabled="true"><spring:message code="select"/></option>
|
||||
<c:forEach items="${appList}" var="app" >
|
||||
<option value="${app.code}"><spring:message code="${app.item}"></spring:message></option>
|
||||
</c:forEach>
|
||||
@@ -278,7 +300,6 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code='application_layer_protocol'/>:</label>
|
||||
<select id="protoSelect" name="protoId" title="<spring:message code="select"/>" class="selectpicker form-control " data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
|
||||
<option value="" disabled="true"><spring:message code="select"/></option>
|
||||
<c:forEach items="${protocolList}" var="proto" >
|
||||
<option value="${proto.code}"><spring:message code="${proto.item}"></spring:message></option>
|
||||
</c:forEach>
|
||||
@@ -290,7 +311,6 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label"><spring:message code="domain_name"/>:</label>
|
||||
<select id="webSelect" name="webId" title="<spring:message code="select"/>" class="selectpicker form-control" data-max-options="10" data-selected-text-format="count > 3" multiple data-live-search="true" data-live-search-placeholder="<spring:message code="search"/>">
|
||||
<option value="" disabled="true"><spring:message code="select"/></option>
|
||||
<c:forEach items="${webList}" var="web" >
|
||||
<option value="${web.code}"><spring:message code="${web.item}"></spring:message></option>
|
||||
</c:forEach>
|
||||
@@ -312,15 +332,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="s_asn"></spring:message>:</label>
|
||||
<input name="sAsn" type="text" class="form-control" value="${log.sAsn }"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="form-group">
|
||||
<label><spring:message code="d_asn"></spring:message>:</label>
|
||||
|
||||
@@ -353,9 +353,9 @@
|
||||
<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" url="${ctx}/ntc/website/ajaxHttpSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a> --%>
|
||||
<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" url="${ctx}/ntc/website/ajaxHttpSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
|
||||
<!-- </td> -->
|
||||
<%-- <td>${log.cfgId }</td> --%>
|
||||
<td>
|
||||
|
||||
@@ -265,7 +265,7 @@
|
||||
<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" url="${ctx}/ntc/iplist/ajaxSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
|
||||
<a href="javascript:void(0)" name="viewLogInfo" url="${ctx}/ntc/whitelist/ajaxIpSubList" compileId="${log.cfgId }" ><i class="icon-book-open"></i></a>
|
||||
</td>
|
||||
<td>${log.cfgId }</td>
|
||||
<td>
|
||||
|
||||
@@ -237,8 +237,8 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th><spring:message code="log"/></th>
|
||||
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
|
||||
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
|
||||
<%-- <th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th> --%>
|
||||
<%-- <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th> --%>
|
||||
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
|
||||
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
|
||||
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
|
||||
@@ -284,16 +284,16 @@
|
||||
<%-- <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" url="${ctx}/ntc/mail/ajaxMailSubList" compileId="${log.cfgId }" ><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.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>
|
||||
|
||||
|
||||
@@ -244,8 +244,8 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th><spring:message code="log"/></th>
|
||||
<th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th>
|
||||
<th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th>
|
||||
<%-- <th class="sort-column cfg_id " isVisible="false" column="cfg_id"><spring:message code="cfg_id"/></th> --%>
|
||||
<%-- <th class="sort-column service" isVisible="false" column="action"><spring:message code="action"/></th> --%>
|
||||
<th class="sort-column found_time" column="found_time"><spring:message code="found_time"/></th>
|
||||
<th class="sort-column recv_time" isVisible="false" column="recv_time"><spring:message code="recv_time"/></th>
|
||||
<th class="sort-column entrance_id" isVisible="false" column="entrance_id"><spring:message code="entrance_id"/></th>
|
||||
@@ -290,16 +290,16 @@
|
||||
<%-- <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" url="${ctx}/ntc/website/ajaxSslSubList" compileId="${log.cfgId }" ><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.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>
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
}
|
||||
|
||||
.main_right{
|
||||
background-image: url("${pageContext.request.contextPath}/static/login/assets/images/login/login_06.png");
|
||||
background-image: url("${pageContext.request.contextPath}/static/login/assets/images/login/login_06-K.png");
|
||||
background-repeat:no-repeat;
|
||||
background-size: 100% 100%;
|
||||
max-height: 501px;
|
||||
|
||||
@@ -230,7 +230,7 @@
|
||||
<th class="sort-column service" isVisible="false"><spring:message code="action"/></th> --%>
|
||||
<th class="sort-column s_asn" column="asn"><spring:message code="asn"/></th>
|
||||
<th class="sort-column pps" column="pps"><spring:message code="pps"/></th>
|
||||
<th class="sort-column bps" column="bps"><spring:message code="bps"/></th>
|
||||
<th class="sort-column bps" column="bps"><spring:message code="GBps"/></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@@ -953,8 +953,24 @@ jQuery.validator.addMethod("asnNoUnique",function(value, element) {
|
||||
async:false,
|
||||
url: url,
|
||||
data:{"id":id,"asnId":value},
|
||||
success:function(data){
|
||||
result = data;
|
||||
success:function(data,textStatus){
|
||||
if(textStatus=="success"){
|
||||
if(data == null || data.id==null || data.id == 'undefined'){
|
||||
result=true;
|
||||
}else{
|
||||
/*if($(element).attr("name")
|
||||
&& $(element).attr("name") != ''){
|
||||
var name=$(element).attr("name").split(".");
|
||||
console.log(name[0]);
|
||||
if(name[1] == 'cfgKeywords'){
|
||||
$("input[name='"+name[0]+".userRegion1']").val(data.regionId);
|
||||
$("input[name='"+name[0]+".userRegion2']").val(data.groupId);
|
||||
}
|
||||
}*/
|
||||
result=false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
return result;
|
||||
@@ -963,19 +979,41 @@ jQuery.validator.addMethod("asnMustExists",function(value, element) {
|
||||
var ctx=$(element).attr("ctx");
|
||||
//var id= $("[name='id']").val();
|
||||
var url = ctx+"/basics/asnGroup/checkAsnNo";
|
||||
var result = true;
|
||||
var result = false;
|
||||
$.ajax({
|
||||
type:'post',
|
||||
async:false,
|
||||
url: url,
|
||||
data:{"asnId":value},
|
||||
success:function(data){
|
||||
if(data==true){
|
||||
success:function(data,textStatus){
|
||||
if(textStatus=="success"){
|
||||
if(data == null || data.id==null || data.id == 'undefined'){
|
||||
result=false;
|
||||
}else{
|
||||
if($(element).attr("name")
|
||||
&& $(element).attr("name") != ''){
|
||||
var name=$(element).attr("name").split(".");
|
||||
console.log(name[0]);
|
||||
if(name[1] == 'cfgKeywords'){
|
||||
//校验成功的同时
|
||||
$("input[name='"+name[0]+".userRegion1']").val(data.regionId);
|
||||
$("input[name='"+name[0]+".userRegion2']").val(data.groupId);
|
||||
$("input[name='"+name[0]+".userRegion3']").val(data.commonGroupIds);
|
||||
var commonGroupIds=$("input[name='commonGroupIds']").val();
|
||||
if(commonGroupIds !=null
|
||||
&& commonGroupIds != ''
|
||||
&& (","+commonGroupIds+",").indexOf(","+data.commonGroupIds+",") < 0){
|
||||
$("input[name='commonGroupIds']").val(commonGroupIds+","+data.commonGroupIds)
|
||||
}else{
|
||||
$("input[name='commonGroupIds']").val(data.commonGroupIds)
|
||||
}
|
||||
}
|
||||
}
|
||||
result=true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
return result;
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
$(function(){
|
||||
/*$(function(){
|
||||
$('.asnNo').selectpicker({
|
||||
deselectAllText: $("#deselectAll").text(),
|
||||
selectAllText: $("#selectAll").text()
|
||||
@@ -11,9 +11,9 @@ $(function(){
|
||||
$(this).change();
|
||||
});
|
||||
});
|
||||
/**
|
||||
*//**
|
||||
* 异步获取ASN组织
|
||||
*/
|
||||
*//*
|
||||
var initAsnOrganazation=function(){
|
||||
var pathName=window.document.location.pathname.substring(0,window.document.location.pathname.lastIndexOf("/nis")+4);
|
||||
$.ajax({
|
||||
@@ -34,7 +34,7 @@ var initAsnOrganazation=function(){
|
||||
}
|
||||
}
|
||||
});
|
||||
/***设定数据库值***/
|
||||
*//***设定数据库值***//*
|
||||
$(".organization").each(function(){
|
||||
if($(this).attr("name") != null && $(this).attr("name") != 'undefined'){
|
||||
var asnObjName = ($(this).attr("name")).split("userRegion1")[0]+"organizationGroupId";
|
||||
@@ -45,9 +45,9 @@ var initAsnOrganazation=function(){
|
||||
});
|
||||
|
||||
}
|
||||
/**
|
||||
*//**
|
||||
* ASN组织级联获取ASN NO
|
||||
*/
|
||||
*//*
|
||||
var getASNNo=function(obj,orgGroupId,orgName){
|
||||
if($(obj).attr("name") != null && $(obj).attr("name") != 'undefined'){
|
||||
var asnObjName = ($(obj).attr("name")).split("userRegion1")[0]+"cfgKeywords";
|
||||
@@ -71,7 +71,7 @@ var getASNNo=function(obj,orgGroupId,orgName){
|
||||
});
|
||||
}
|
||||
|
||||
/***设定数据库值***/
|
||||
*//***设定数据库值***//*
|
||||
$("select[name='"+asnObjName+"']").selectpicker('refresh');
|
||||
var asnNoObjName = ($(obj).attr("name")).split("userRegion1")[0]+"asnNo";
|
||||
if($("input[name='"+asnNoObjName+"']").val() == ''
|
||||
@@ -88,3 +88,4 @@ var getASNNo=function(obj,orgGroupId,orgName){
|
||||
|
||||
}
|
||||
}
|
||||
*/
|
||||
Reference in New Issue
Block a user