Compare commits
51 Commits
develop_co
...
develop_20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb7197f098 | ||
|
|
de1eb563a3 | ||
|
|
af28efc76d | ||
|
|
973f071897 | ||
|
|
e8e948ce7d | ||
|
|
df9665376f | ||
|
|
2858e643ac | ||
|
|
8d2e30b952 | ||
|
|
19c8492cc8 | ||
|
|
328f266046 | ||
|
|
a9a15f4c0a | ||
|
|
025873ce76 | ||
|
|
28771355cc | ||
|
|
0629e8b1de | ||
|
|
8d7a6c69b6 | ||
|
|
fe3f632046 | ||
|
|
9527b41592 | ||
|
|
6312a65351 | ||
|
|
f6c37c7bda | ||
|
|
c81dd92aca | ||
|
|
9f4264d878 | ||
|
|
d4e153533a | ||
|
|
35ca1636ef | ||
|
|
44486b98cb | ||
|
|
ea456f83d0 | ||
|
|
b4f9eac0d3 | ||
|
|
54333afe0b | ||
|
|
48806bd775 | ||
|
|
23ae0f08d3 | ||
|
|
21ca3bc804 | ||
|
|
d9110dfa14 | ||
|
|
fd2d285b92 | ||
|
|
8a27636007 | ||
|
|
89336a3677 | ||
|
|
144900d6df | ||
|
|
ba758cab58 | ||
|
|
10fb06f5bf | ||
|
|
dd37178cfc | ||
|
|
46fff54557 | ||
|
|
f1fc6ee9aa | ||
|
|
dde951fe4a | ||
|
|
33fd4df21d | ||
|
|
1882d011cb | ||
|
|
cd977ed81a | ||
|
|
e8a5c506e9 | ||
|
|
f8e1b8f093 | ||
|
|
c30ab53f00 | ||
|
|
ea33bae40f | ||
|
|
d1082f539e | ||
|
|
c1188539b5 | ||
|
|
269f4e0644 |
@@ -1 +1,3 @@
|
||||
在公共分组功能逻辑完善之前,此分支为ntc界面系统的全集上线升级分支合并版。
|
||||
610功能升级:
|
||||
系统需要支持对 生效中的配置 进行修改的功能;
|
||||
统计的时间修改为一个月,性能是否可以;
|
||||
@@ -63,6 +63,10 @@ public class BaseCfg<T> extends BaseEntity<T> implements Cloneable{
|
||||
protected String hColumns;//导出隐藏列
|
||||
|
||||
protected String compileIdNew;// 查询 配置ID 范围
|
||||
|
||||
//批量操作时,记录isAudit和isValid检索条件
|
||||
protected String batchAuditValue;
|
||||
protected String batchValidValue;
|
||||
|
||||
/**
|
||||
* 定时任务信息
|
||||
@@ -1004,6 +1008,17 @@ public class BaseCfg<T> extends BaseEntity<T> implements Cloneable{
|
||||
public void setSchedule(ScheduleCfg schedule) {
|
||||
this.schedule = schedule;
|
||||
}
|
||||
|
||||
public String getBatchAuditValue() {
|
||||
return batchAuditValue;
|
||||
}
|
||||
public String getBatchValidValue() {
|
||||
return batchValidValue;
|
||||
}
|
||||
public void setBatchAuditValue(String batchAuditValue) {
|
||||
this.batchAuditValue = batchAuditValue;
|
||||
}
|
||||
public void setBatchValidValue(String batchValidValue) {
|
||||
this.batchValidValue = batchValidValue;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -330,7 +330,7 @@ public class ScheduleCfgJob implements Job {
|
||||
Calendar invalidCal=Calendar.getInstance();
|
||||
invalidCal.setTime(invalidTime);
|
||||
invalidCal.add(Calendar.MINUTE, 2);
|
||||
long invalidTimes=validStartCal.getTime().getTime();
|
||||
long invalidTimes=invalidCal.getTime().getTime();
|
||||
long currentTimes=new Date().getTime();
|
||||
//开始时间设置为今天已过时,则将开始时间加上周期
|
||||
if((currentTimes-validStartTimes) > 0) {
|
||||
|
||||
@@ -190,6 +190,7 @@ public class ConfigServiceUtil {
|
||||
result=response.readEntity(String.class);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>");
|
||||
}
|
||||
if(response != null && response.getStatus() == 200){
|
||||
@@ -235,6 +236,7 @@ public class ConfigServiceUtil {
|
||||
result=response.readEntity(String.class);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>");
|
||||
}
|
||||
if(response != null && response.getStatus() == 200){
|
||||
@@ -244,6 +246,7 @@ public class ConfigServiceUtil {
|
||||
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+result);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("postCallbackCfg()",e);
|
||||
throw e;
|
||||
}finally {
|
||||
@@ -279,6 +282,7 @@ public class ConfigServiceUtil {
|
||||
result=response.readEntity(String.class);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>");
|
||||
}
|
||||
if(response != null && response.getStatus() == 200){
|
||||
@@ -326,6 +330,7 @@ public class ConfigServiceUtil {
|
||||
result=response.readEntity(String.class);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>");
|
||||
}
|
||||
if(response != null && response.getStatus() == 200){
|
||||
@@ -375,6 +380,7 @@ public class ConfigServiceUtil {
|
||||
result=response.readEntity(String.class);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>");
|
||||
}
|
||||
if(response !=null && response.getStatus() == 200){
|
||||
@@ -418,6 +424,7 @@ public class ConfigServiceUtil {
|
||||
// bean = (ToMaatResult) JSONObject.toBean(resObject,ToMaatResult.class);
|
||||
//获取响应结果
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+result);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
@@ -452,6 +459,7 @@ public class ConfigServiceUtil {
|
||||
result=response.readEntity(String.class);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>");
|
||||
}
|
||||
if(response !=null && response.getStatus() == 200){
|
||||
|
||||
@@ -363,6 +363,7 @@ public final class Constants {
|
||||
public static final String FILE_UPLOAD_CFG = Configurations.getStringProperty("fileUploadCfg","fileUploadSources");
|
||||
public static final String FILE_DIGEST_CFG=Configurations.getStringProperty("fileDigestCfg","fileDigestSources");
|
||||
public static final String CONFIG_ID_SOURCES=Configurations.getStringProperty("configIdSources","configPzIdSources");
|
||||
public static final String DEL_ALL_CFG=Configurations.getStringProperty("delAllCfg","delAllConfig");
|
||||
//日志查询接口URL
|
||||
public static final String LOG_BASE_URL = Configurations.getStringProperty("logBaseUrl","");
|
||||
public static final String NTC_SERVICE_REPORT=Configurations.getStringProperty("ntcServiceReport","ntcServiceReport");
|
||||
|
||||
@@ -306,6 +306,13 @@ public class ExcelCsv {
|
||||
dict="block_drop";
|
||||
val = msgProp.getProperty(dict,dict);
|
||||
}
|
||||
if ("action".equals(ef.title()) && dict.equals("action_reject")
|
||||
&& (Reflections.invokeGetter(e, "service").toString().equals("35")
|
||||
|| Reflections.invokeGetter(e, "service").toString().equals("33")
|
||||
|| Reflections.invokeGetter(e, "service").toString().equals("36"))) {
|
||||
dict="block_drop";
|
||||
val = msgProp.getProperty(dict,dict);
|
||||
}
|
||||
//ip spoofing redirect动作修改为Spoofing
|
||||
if(ef.title().equals("block_type")
|
||||
&& (Reflections.invokeGetter(e, "serviceId").toString().equals("518"))) {
|
||||
|
||||
@@ -266,6 +266,9 @@ public class ExportExcel {
|
||||
commentStr=commentStr+msgProp.getProperty("rule_desc_tip")+":\n";
|
||||
index++;
|
||||
//1、非空
|
||||
commentStr=commentStr+"▶"+msgProp.getProperty("https_url_format_tip")+"\n";
|
||||
index++;
|
||||
//1、非空
|
||||
commentStr=commentStr+"▶"+msgProp.getProperty("required")+"\n";
|
||||
index++;
|
||||
}
|
||||
@@ -2308,6 +2311,13 @@ public class ExportExcel {
|
||||
dict="block_drop";
|
||||
val = msgProp.getProperty(dict,dict);
|
||||
}
|
||||
if ("action".equals(ef.title()) && dict.equals("action_reject")
|
||||
&& (Reflections.invokeGetter(e, "service").toString().equals("35")
|
||||
|| Reflections.invokeGetter(e, "service").toString().equals("33")
|
||||
|| Reflections.invokeGetter(e, "service").toString().equals("36"))) {
|
||||
dict="block_drop";
|
||||
val = msgProp.getProperty(dict,dict);
|
||||
}
|
||||
//ip spoofing redirect动作修改为Spoofing
|
||||
if(ef.title().equals("block_type")
|
||||
&& (Reflections.invokeGetter(e, "serviceId").toString().equals("518"))) {
|
||||
|
||||
@@ -488,11 +488,11 @@ public class ImportBigExcel extends XLSXCovertCSVReader{
|
||||
if (valType == String.class){
|
||||
String s = String.valueOf(val.toString().trim());
|
||||
//0.0.0.0表示任意IP的含义
|
||||
if(StringUtils.endsWith(s, ".0") && !s.endsWith("0.0.0.0")){
|
||||
val = StringUtils.substringBefore(s, ".0");
|
||||
}else{
|
||||
val=val == null ? "" : StringEscapeUtils.escapeHtml4(val.toString().trim());
|
||||
}
|
||||
// if(StringUtils.endsWith(s, ".0") && !s.endsWith("0.0.0.0")){
|
||||
// val = StringUtils.substringBefore(s, ".0");
|
||||
// }else{
|
||||
val=val == null ? "" : StringEscapeUtils.escapeHtml4(val.toString().trim());
|
||||
// }
|
||||
}else if (valType == Integer.class){
|
||||
val = Double.valueOf(val.toString().trim()).intValue();
|
||||
}else if (valType == Long.class){
|
||||
|
||||
@@ -138,6 +138,7 @@ public class CheckIpFormatThread implements Callable<String>{
|
||||
// doLog属性检验
|
||||
this.validDoLog(baseIpCfg,errInfo);
|
||||
|
||||
|
||||
// 特殊字段验证
|
||||
// packet ip ratelimit
|
||||
if (serviceDict!=null && serviceDict.getAction().intValue() == 64 && (serviceDict.getFunctionId().intValue() == 5
|
||||
@@ -594,6 +595,23 @@ public class CheckIpFormatThread implements Callable<String>{
|
||||
String subfix=baseIpCfg.getSrcIpAddress().split("-")[1];
|
||||
baseIpCfg.setSrcIpAddress(prefix+"-"+prefix.substring(0, prefix.lastIndexOf(".")+1)+subfix);
|
||||
}
|
||||
//Tip:判断业务是否只展示源IP列,如果是,判断源IP是否是默认值,如果是默认值,提示源IP不能是默认值
|
||||
if (configIpPortShow.indexOf("1") > -1 && configIpPortShow.indexOf("3") == -1) {// 源IP必填
|
||||
String srcIpAddress = baseIpCfg.getSrcIpAddress();
|
||||
Pattern ip4 = Constants.IPV4_IP_PATTERN;
|
||||
Pattern ip6 = Constants.IPV6_IP_PATTERN;
|
||||
Matcher ip4Matcher = ip4.matcher(srcIpAddress);
|
||||
Matcher ip6Matcher = ip6.matcher(srcIpAddress);
|
||||
if (ip4Matcher.matches() && srcIpAddress.startsWith("0.0.0.0")) {
|
||||
errInfo.append(prop.getProperty("client_ip")+" "
|
||||
+ String.format(prop.getProperty("can_not_be"), Constants.IPV4_DEFAULT_IP_VALUE)
|
||||
+ ";");
|
||||
} else if (ip6Matcher.matches() && srcIpAddress.startsWith("::")) {
|
||||
errInfo.append(prop.getProperty("client_ip")+" "
|
||||
+ String.format(prop.getProperty("can_not_be"), Constants.IPV6_DEFAULT_IP_VALUE)
|
||||
+ ";");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (StringUtils.isBlank(baseIpCfg.getDestIpAddress())) {
|
||||
destIpEmpty = true;
|
||||
@@ -605,6 +623,23 @@ public class CheckIpFormatThread implements Callable<String>{
|
||||
String subfix=baseIpCfg.getDestIpAddress().split("-")[1];
|
||||
baseIpCfg.setDestIpAddress(prefix+"-"+prefix.substring(0, prefix.lastIndexOf(".")+1)+subfix);
|
||||
}
|
||||
//Tip:判断业务是否只展示目的IP列,如果是,判断目的IP是否是默认值,如果是默认值,提示目的IP不能是默认值
|
||||
if (configIpPortShow.indexOf("3") > -1 && configIpPortShow.indexOf("1") == -1) {// 目的IP必填
|
||||
String destIpAddress = baseIpCfg.getDestIpAddress();
|
||||
Pattern ip4 = Constants.IPV4_IP_PATTERN;
|
||||
Pattern ip6 = Constants.IPV6_IP_PATTERN;
|
||||
Matcher ip4Matcher = ip4.matcher(destIpAddress);
|
||||
Matcher ip6Matcher = ip6.matcher(destIpAddress);
|
||||
if (ip4Matcher.matches() && destIpAddress.startsWith("0.0.0.0")) {
|
||||
errInfo.append(prop.getProperty("server_ip")+" "
|
||||
+ String.format(prop.getProperty("can_not_be"), Constants.IPV4_DEFAULT_IP_VALUE)
|
||||
+ ";");
|
||||
} else if (ip6Matcher.matches() && destIpAddress.startsWith("::")) {
|
||||
errInfo.append(prop.getProperty("server_ip")+" "
|
||||
+ String.format(prop.getProperty("can_not_be"), Constants.IPV6_DEFAULT_IP_VALUE)
|
||||
+ ";");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (StringUtils.isBlank(baseIpCfg.getSrcPort())) {
|
||||
srcPortEmpty = true;
|
||||
@@ -666,6 +701,12 @@ public class CheckIpFormatThread implements Callable<String>{
|
||||
}
|
||||
baseIpCfg.setIpType(4);
|
||||
}
|
||||
//Tip:增加源IP和目的IP是否相等,如果相等,提示目的IP不能为空
|
||||
if ((configIpPortShow.indexOf("3") > -1 && configIpPortShow.indexOf("1") > -1)
|
||||
&& (baseIpCfg.getDestIpAddress().equals(baseIpCfg.getSrcIpAddress()))) {
|
||||
errInfo.append(String.format(prop.getProperty("can_not_null"),
|
||||
prop.getProperty("server_ip", "Server IP")) + ";");
|
||||
}
|
||||
}
|
||||
|
||||
} else if (srcIpEmpty) {// 源IP为空
|
||||
@@ -707,6 +748,12 @@ public class CheckIpFormatThread implements Callable<String>{
|
||||
}
|
||||
baseIpCfg.setIpType(4);
|
||||
}
|
||||
//Tip:增加源IP和目的IP是否相等,如果相等,提示源的IP不能为空
|
||||
if ((configIpPortShow.indexOf("3") > -1 && configIpPortShow.indexOf("1") > -1)
|
||||
&& (baseIpCfg.getSrcIpAddress().equals(baseIpCfg.getDestIpAddress()))) {
|
||||
errInfo.append(String.format(prop.getProperty("can_not_null"),
|
||||
prop.getProperty("client_ip", "Client IP")) + ";");
|
||||
}
|
||||
}
|
||||
} else {// 全不为空
|
||||
String srcMatchType = this.validIPAddress("client_ip", errInfo, baseIpCfg.getSrcIpAddress(), ipType,
|
||||
@@ -834,7 +881,7 @@ public class CheckIpFormatThread implements Callable<String>{
|
||||
baseIpCfg.setDestPortPattern(1);
|
||||
}
|
||||
baseIpCfg.setDestPort(baseIpCfg.getDestPort().trim());
|
||||
boolean validDestPort = this.validPort(errInfo, baseIpCfg.getSrcPort(),
|
||||
boolean validDestPort = this.validPort(errInfo, baseIpCfg.getDestPort(),
|
||||
srcPortPattern,"server_port");
|
||||
|
||||
if (baseIpCfg.getProtocol()==null) {
|
||||
@@ -901,6 +948,10 @@ public class CheckIpFormatThread implements Callable<String>{
|
||||
// TODO 判断Direction的值
|
||||
this.validDirection(errInfo, baseIpCfg.getDirection(), direction);
|
||||
}
|
||||
|
||||
//IP校验
|
||||
// this.validSrcAndDescIp(baseIpCfg.getSrcIpAddress(), baseIpCfg.getDestIpAddress(), configIpPortShow,errInfo);
|
||||
|
||||
if (errInfo.toString().length() > 0) {//
|
||||
errTip.append(String.format(prop.getProperty("line"), baseIpCfg.getIndex()) + ",");
|
||||
errTip.append(errInfo);
|
||||
|
||||
@@ -2749,45 +2749,6 @@ public class BaseController {
|
||||
|
||||
//全部审核通过,只查询当前条件下的所有未审核的配置 -批量审核通过/不通过
|
||||
if(auditType.equals(1) || auditType.equals(2)) {
|
||||
searchCfg.setIsValid(0);
|
||||
searchCfg.setIsAudit(0);
|
||||
searchAppCfg.setIsValid(0);
|
||||
searchAppCfg.setIsAudit(0);
|
||||
searchDigestCfg.setIsValid(0);
|
||||
searchDigestCfg.setIsAudit(0);
|
||||
searchFileSampleCfg.setIsValid(0);
|
||||
searchFileSampleCfg.setIsAudit(0);
|
||||
searchObjKeyringCfg.setIsValid(0);
|
||||
searchObjKeyringCfg.setIsAudit(0);
|
||||
searchTrustedCaCertCfg.setIsValid(0);
|
||||
searchTrustedCaCertCfg.setIsAudit(0);
|
||||
searchTrustedCaCrlCfg.setIsValid(0);
|
||||
searchTrustedCaCrlCfg.setIsAudit(0);
|
||||
searchDnsResStrategy.setIsValid(0);
|
||||
searchDnsResStrategy.setIsAudit(0);
|
||||
searchDnsIpCfg.setIsValid(0);
|
||||
searchDnsIpCfg.setIsAudit(0);
|
||||
searchIpPortCfg.setIsValid(0);
|
||||
searchIpPortCfg.setIsAudit(0);
|
||||
searchSignSampleCfg.setIsValid(0);
|
||||
searchSignSampleCfg.setIsAudit(0);
|
||||
searchDdosIpCfg.setIsValid(0);
|
||||
searchDdosIpCfg.setIsAudit(0);
|
||||
searchAppIpCfg.setIsValid(0);
|
||||
searchAppIpCfg.setIsAudit(0);
|
||||
searchAppHttpCfg.setIsValid(0);
|
||||
searchAppHttpCfg.setIsAudit(0);
|
||||
searchAppDomainCfg.setIsValid(0);
|
||||
searchAppDomainCfg.setIsAudit(0);
|
||||
searchAppTopicCfg.setIsValid(0);
|
||||
searchAppTopicCfg.setIsAudit(0);
|
||||
searchAppFeatureIndex.setIsValid(0);
|
||||
searchAppFeatureIndex.setIsAudit(0);
|
||||
searchAppSslCertCfg.setIsValid(0);
|
||||
searchAppSslCertCfg.setIsAudit(0);
|
||||
searchAsnIpCfg.setIsValid(0);
|
||||
searchAsnIpCfg.setIsAudit(0);
|
||||
|
||||
if(auditType.equals(1)) {
|
||||
auditBatchCfg.setIsAudit(1);
|
||||
auditBatchCfg.setIsValid(1);
|
||||
@@ -2798,45 +2759,6 @@ public class BaseController {
|
||||
auditBatchCfg.setAuditTime(new Date());
|
||||
auditBatchCfg.setAuditorId(UserUtils.getUser().getId());
|
||||
}else {
|
||||
//全部取消通过,只查询当前条件下的所有审核通过的配置
|
||||
searchCfg.setIsValid(1);
|
||||
searchCfg.setIsAudit(1);
|
||||
searchAppCfg.setIsValid(1);
|
||||
searchAppCfg.setIsAudit(1);
|
||||
searchDigestCfg.setIsValid(1);
|
||||
searchDigestCfg.setIsAudit(1);
|
||||
searchFileSampleCfg.setIsValid(1);
|
||||
searchFileSampleCfg.setIsAudit(1);
|
||||
searchObjKeyringCfg.setIsValid(1);
|
||||
searchObjKeyringCfg.setIsAudit(1);
|
||||
searchTrustedCaCertCfg.setIsValid(1);
|
||||
searchTrustedCaCertCfg.setIsAudit(1);
|
||||
searchTrustedCaCrlCfg.setIsValid(1);
|
||||
searchTrustedCaCrlCfg.setIsAudit(1);
|
||||
searchDnsResStrategy.setIsValid(1);
|
||||
searchDnsResStrategy.setIsAudit(1);
|
||||
searchDnsIpCfg.setIsValid(1);
|
||||
searchDnsIpCfg.setIsAudit(1);
|
||||
searchIpPortCfg.setIsValid(1);
|
||||
searchIpPortCfg.setIsAudit(1);
|
||||
searchSignSampleCfg.setIsValid(1);
|
||||
searchSignSampleCfg.setIsAudit(1);
|
||||
searchDdosIpCfg.setIsValid(1);
|
||||
searchDdosIpCfg.setIsAudit(1);
|
||||
searchAppIpCfg.setIsValid(1);
|
||||
searchAppIpCfg.setIsAudit(1);
|
||||
searchAppHttpCfg.setIsValid(1);
|
||||
searchAppHttpCfg.setIsAudit(1);
|
||||
searchAppDomainCfg.setIsValid(1);
|
||||
searchAppDomainCfg.setIsAudit(1);
|
||||
searchAppTopicCfg.setIsValid(1);
|
||||
searchAppTopicCfg.setIsAudit(1);
|
||||
searchAppFeatureIndex.setIsValid(1);
|
||||
searchAppFeatureIndex.setIsAudit(1);
|
||||
searchAppSslCertCfg.setIsValid(1);
|
||||
searchAppSslCertCfg.setIsAudit(1);
|
||||
searchAsnIpCfg.setIsValid(1);
|
||||
searchAsnIpCfg.setIsAudit(1);
|
||||
|
||||
auditBatchCfg.setIsAudit(3);
|
||||
auditBatchCfg.setIsValid(0);
|
||||
@@ -3296,11 +3218,42 @@ public class BaseController {
|
||||
//批量审核通过时,如果没有携带isValid检索条件,返回界面需要将isValid置为null
|
||||
if(!StringUtil.isEmpty(entity)) {
|
||||
BaseCfg base=(BaseCfg)entity ;
|
||||
if(!StringUtil.isEmpty(base.getSeltype()) && !base.getSeltype().equals("isValid")) {
|
||||
base.setIsValid(null);
|
||||
BeanUtils.copyProperties(base, entity);
|
||||
base.setBatchAuditValue("");
|
||||
base.setBatchValidValue("");
|
||||
//配置目标状态:1 1 生效,isAudit条件置为1,有selType条件,且不是isValid不改,没有sel改为isValid并且为1
|
||||
if(base.getIsAudit()==1 && base.getIsValid()==1){
|
||||
base.setIsAudit(1);
|
||||
if(!StringUtil.isEmpty(base.getSeltype()) && !base.getSeltype().equals("isValid")) {
|
||||
base.setIsValid(null);
|
||||
}else{
|
||||
base.setIsValid(1);
|
||||
base.setSeltype("isValid");
|
||||
}
|
||||
}
|
||||
//配置目标状态:2 0 不通过,isAudit条件置为2,有selType条件,且不是isValid不改,没有sel改为isValid并且为0
|
||||
if(base.getIsAudit()==2 && base.getIsValid()==0){
|
||||
base.setIsAudit(2);
|
||||
if(!StringUtil.isEmpty(base.getSeltype()) && !base.getSeltype().equals("isValid")) {
|
||||
base.setIsValid(null);
|
||||
}else{
|
||||
base.setIsValid(0);
|
||||
base.setSeltype("isValid");
|
||||
}
|
||||
}
|
||||
//配置目标状态:3 0 取消
|
||||
if(base.getIsAudit()==3 && base.getIsValid()==0){
|
||||
base.setIsAudit(3);
|
||||
if(!StringUtil.isEmpty(base.getSeltype()) && !base.getSeltype().equals("isValid")) {
|
||||
base.setIsValid(null);
|
||||
}else{
|
||||
base.setIsValid(0);
|
||||
base.setSeltype("isValid");
|
||||
}
|
||||
}
|
||||
|
||||
BeanUtils.copyProperties(base, entity);
|
||||
}
|
||||
|
||||
long end=System.currentTimeMillis();
|
||||
logger.warn("配置批量生效/失效耗时:"+(end-start));
|
||||
}
|
||||
@@ -3319,7 +3272,6 @@ public class BaseController {
|
||||
page.setPageNo(1);
|
||||
page.setLastPage(false);
|
||||
|
||||
// 只有未审核的配置可删除
|
||||
CfgIndexInfo searchCfg = new CfgIndexInfo();
|
||||
AppPolicyCfg searchAppCfg=new AppPolicyCfg();
|
||||
FileDigestCfg searchDigestCfg=new FileDigestCfg();
|
||||
@@ -3342,104 +3294,70 @@ public class BaseController {
|
||||
// 传递检索条件
|
||||
if(entity != null && (entity instanceof CfgIndexInfo)) {
|
||||
BeanUtils.copyProperties(entity, searchCfg);
|
||||
searchCfg.setIsValid(0);
|
||||
searchCfg.setIsAudit(0);
|
||||
searchCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppPolicyCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchAppCfg);
|
||||
searchAppCfg.setIsValid(0);
|
||||
searchAppCfg.setIsAudit(0);
|
||||
searchAppCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof FileDigestCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchDigestCfg);
|
||||
searchDigestCfg.setIsValid(0);
|
||||
searchDigestCfg.setIsAudit(0);
|
||||
searchDigestCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof AvFileSampleCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchFileSampleCfg);
|
||||
searchFileSampleCfg.setIsValid(0);
|
||||
searchFileSampleCfg.setIsAudit(0);
|
||||
searchFileSampleCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof DdosIpCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchDdosIpCfg);
|
||||
searchDdosIpCfg.setIsValid(0);
|
||||
searchDdosIpCfg.setIsAudit(0);
|
||||
searchDdosIpCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppHttpCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchAppHttpCfg);
|
||||
searchAppHttpCfg.setIsValid(0);
|
||||
searchAppHttpCfg.setIsAudit(0);
|
||||
searchAppHttpCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppHttpCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchAppHttpCfg);
|
||||
searchAppHttpCfg.setIsValid(0);
|
||||
searchAppHttpCfg.setIsAudit(0);
|
||||
searchAppHttpCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppDomainCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchAppDomainCfg);
|
||||
searchAppDomainCfg.setIsValid(0);
|
||||
searchAppDomainCfg.setIsAudit(0);
|
||||
searchAppDomainCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppTopicDomainCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchAppTopicCfg);
|
||||
searchAppTopicCfg.setIsValid(0);
|
||||
searchAppTopicCfg.setIsAudit(0);
|
||||
searchAppTopicCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppSslCertCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchAppSslCertCfg);
|
||||
searchAppSslCertCfg.setIsValid(0);
|
||||
searchAppSslCertCfg.setIsAudit(0);
|
||||
searchAppSslCertCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppIpCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchAppIpCfg);
|
||||
searchAppIpCfg.setIsValid(0);
|
||||
searchAppIpCfg.setIsAudit(0);
|
||||
searchAppIpCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof AppFeatureIndex)) {
|
||||
BeanUtils.copyProperties(entity, searchAppFeatureIndex);
|
||||
searchAppFeatureIndex.setIsValid(0);
|
||||
searchAppFeatureIndex.setIsAudit(0);
|
||||
searchAppFeatureIndex.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof DnsResStrategy)) {
|
||||
BeanUtils.copyProperties(entity, searchDnsResStrategy);
|
||||
searchDnsResStrategy.setIsValid(0);
|
||||
searchDnsResStrategy.setIsAudit(0);
|
||||
searchDnsResStrategy.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof DnsIpCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchDnsIpCfg);
|
||||
searchDnsIpCfg.setIsValid(0);
|
||||
searchDnsIpCfg.setIsAudit(0);
|
||||
searchDnsIpCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof PxyObjKeyring)) {
|
||||
BeanUtils.copyProperties(entity, searchObjKeyringCfg);
|
||||
searchObjKeyringCfg.setIsValid(0);
|
||||
searchObjKeyringCfg.setIsAudit(0);
|
||||
searchObjKeyringCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof PxyObjTrustedCaCert)) {
|
||||
BeanUtils.copyProperties(entity, searchTrustedCaCertCfg);
|
||||
searchTrustedCaCertCfg.setIsValid(0);
|
||||
searchTrustedCaCertCfg.setIsAudit(0);
|
||||
searchTrustedCaCertCfg.setFunctionId(functionId);
|
||||
}
|
||||
if(entity != null && (entity instanceof AsnIpCfg)) {
|
||||
BeanUtils.copyProperties(entity, searchAsnIpCfg);
|
||||
searchAsnIpCfg.setIsValid(0);
|
||||
searchAsnIpCfg.setIsAudit(0);
|
||||
searchAsnIpCfg.setFunctionId(functionId);
|
||||
}
|
||||
|
||||
|
||||
@@ -209,8 +209,6 @@ public class SystemController extends BaseController{
|
||||
public boolean clearPolicies(HttpServletRequest request, HttpServletResponse response) {
|
||||
try {
|
||||
systemService.clearPolicies();
|
||||
/*ArrayList<Object> list = Lists.newArrayList();
|
||||
System.out.println(list.get(6));*/
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
logger.error("Clear Policies Error",e);
|
||||
|
||||
@@ -126,9 +126,9 @@ public class AppCfgController extends BaseController {
|
||||
*/
|
||||
@RequestMapping(value = "ajaxAppName", method = RequestMethod.POST)
|
||||
@ResponseBody
|
||||
public List<Map<String, String>> ajaxAppName(Model model, String ids) {
|
||||
public List<Map<String, String>> ajaxAppName(Model model, String ids,Integer cfgType) {
|
||||
List<Map<String, String>> dataList = new ArrayList<>();
|
||||
List<SpecificServiceCfg> serviceList = specificServiceCfgService.getBySpecServiceCodes(ids);
|
||||
List<SpecificServiceCfg> serviceList = specificServiceCfgService.getBySpecServiceCodes(ids,cfgType);
|
||||
Map<String, String> appMap = new HashMap<>();
|
||||
Map<String, String> behavMap = new HashMap<>();
|
||||
for (SpecificServiceCfg cfg : serviceList) {
|
||||
@@ -192,6 +192,24 @@ public class AppCfgController extends BaseController {
|
||||
public String policyCfgForm(Model model, String ids, AppPolicyCfg entity) {
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids), null);
|
||||
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setSpecServiceId(app.getSpecServiceId());
|
||||
}
|
||||
|
||||
initUpdateFormCondition(model, entity);
|
||||
} else {
|
||||
initFormCondition(model, entity);
|
||||
@@ -356,8 +374,22 @@ public class AppCfgController extends BaseController {
|
||||
Page<AppIpCfg> searchPage = new Page<AppIpCfg>(request, response, "r");
|
||||
Page<AppIpCfg> page = appCfgService.findAppIpList(searchPage, cfg);
|
||||
for (AppIpCfg entity : page.getList()) {
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId());
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
model.addAttribute("page", page);
|
||||
initPageCondition(model, cfg);
|
||||
@@ -377,6 +409,24 @@ public class AppCfgController extends BaseController {
|
||||
public String ipCfgForm(Model model, String ids, AppIpCfg entity) {
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
entity = appCfgService.getAppIpCfg(Long.parseLong(ids));
|
||||
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setSpecServiceId(app.getSpecServiceId());
|
||||
}
|
||||
|
||||
initUpdateFormCondition(model, entity);
|
||||
} else {
|
||||
initFormCondition(model, entity);
|
||||
@@ -551,8 +601,22 @@ public class AppCfgController extends BaseController {
|
||||
Page<AppHttpCfg> searchPage = new Page<AppHttpCfg>(request, response, "r");
|
||||
Page<AppHttpCfg> page = appCfgService.findAppHttpList(searchPage, cfg);
|
||||
for (AppHttpCfg entity : page.getList()) {
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId());
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
// entity.setCfgKeywords(entity.getCfgKeywords().replace(Constants.KEYWORD_EXPR,
|
||||
// "&"));
|
||||
}
|
||||
@@ -574,6 +638,24 @@ public class AppCfgController extends BaseController {
|
||||
public String httpCfgForm(Model model, String ids, AppHttpCfg entity) {
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
entity = appCfgService.getAppHttpCfg(Long.parseLong(ids));
|
||||
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setSpecServiceId(app.getSpecServiceId());
|
||||
}
|
||||
|
||||
initUpdateFormCondition(model, entity);
|
||||
} else {
|
||||
initFormCondition(model, entity);
|
||||
@@ -714,8 +796,22 @@ public class AppCfgController extends BaseController {
|
||||
Page<AppDomainCfg> searchPage = new Page<AppDomainCfg>(request, response, "r");
|
||||
Page<AppDomainCfg> page = appCfgService.findAppDomainList(searchPage, cfg);
|
||||
for (AppDomainCfg entity : page.getList()) {
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId());
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
model.addAttribute("page", page);
|
||||
initPageCondition(model, cfg);
|
||||
@@ -735,6 +831,24 @@ public class AppCfgController extends BaseController {
|
||||
public String domainCfgForm(Model model, String ids, AppDomainCfg entity) {
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
entity = appCfgService.getAppDomainCfg(Long.parseLong(ids));
|
||||
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setSpecServiceId(app.getSpecServiceId());
|
||||
}
|
||||
|
||||
initUpdateFormCondition(model, entity);
|
||||
} else {
|
||||
initFormCondition(model, entity);
|
||||
@@ -897,8 +1011,22 @@ public class AppCfgController extends BaseController {
|
||||
Page<AppByteCfg> searchPage = new Page<AppByteCfg>(request, response, "r");
|
||||
Page<AppByteCfg> page = appCfgService.findAppByteList(searchPage, cfg);
|
||||
for (AppByteCfg entity : page.getList()) {
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId());
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
model.addAttribute("page", page);
|
||||
initPageCondition(model, cfg);
|
||||
@@ -918,6 +1046,24 @@ public class AppCfgController extends BaseController {
|
||||
public String byteCfgForm(Model model, String ids, AppByteCfg entity) {
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
entity = appCfgService.getAppByteCfg(Long.parseLong(ids));
|
||||
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setSpecServiceId(app.getSpecServiceId());
|
||||
}
|
||||
|
||||
initUpdateFormCondition(model, entity);
|
||||
} else {
|
||||
initFormCondition(model, entity);
|
||||
@@ -1034,8 +1180,22 @@ public class AppCfgController extends BaseController {
|
||||
Page<AppSslCertCfg> searchPage = new Page<AppSslCertCfg>(request, response, "r");
|
||||
Page<AppSslCertCfg> page = appCfgService.findAppSslList(searchPage, cfg);
|
||||
for (AppSslCertCfg entity : page.getList()) {
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId());
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
model.addAttribute("page", page);
|
||||
initPageCondition(model, cfg);
|
||||
@@ -1055,6 +1215,24 @@ public class AppCfgController extends BaseController {
|
||||
public String sslCfgForm(Model model, String ids, AppSslCertCfg entity) {
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
entity = appCfgService.getAppSslCfg(Long.parseLong(ids));
|
||||
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setSpecServiceId(app.getSpecServiceId());
|
||||
}
|
||||
|
||||
initUpdateFormCondition(model, entity);
|
||||
} else {
|
||||
initFormCondition(model, entity);
|
||||
@@ -1084,7 +1262,13 @@ public class AppCfgController extends BaseController {
|
||||
entity.setAppCode(specificService.getSpecServiceCode());
|
||||
}
|
||||
appCfgService.saveOrUpdateAppSslCfg(entity);
|
||||
addMessage(redirectAttributes, "success", "save_success");
|
||||
//配置仅保存
|
||||
if(StringUtil.isEmpty(entity.getIsValid()) || entity.getIsValid()!=1) {
|
||||
addMessage(redirectAttributes, "success", "save_success");
|
||||
}else {
|
||||
//配置直接生效
|
||||
addMessage(redirectAttributes, "success", "audit_success");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
logger.error("saveAppSslCfg failed", e);
|
||||
@@ -1196,7 +1380,9 @@ public class AppCfgController extends BaseController {
|
||||
Page<AppTcpCfg> page = appCfgService.findAppTcpList(searchPage, cfg);
|
||||
for (AppTcpCfg entity : page.getList()) {
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId());
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
if(app!=null){
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
model.addAttribute("page", page);
|
||||
initPageCondition(model, cfg);
|
||||
@@ -1216,6 +1402,24 @@ public class AppCfgController extends BaseController {
|
||||
public String tcpCfgForm(Model model, String ids, AppTcpCfg entity) {
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
entity = appCfgService.getAppTcpCfg(Long.parseLong(ids));
|
||||
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setSpecServiceId(app.getSpecServiceId());
|
||||
}
|
||||
|
||||
initUpdateFormCondition(model, entity);
|
||||
} else {
|
||||
initFormCondition(model, entity);
|
||||
@@ -1331,8 +1535,22 @@ public class AppCfgController extends BaseController {
|
||||
Page<AppHeaderCfg> searchPage = new Page<AppHeaderCfg>(request, response, "r");
|
||||
Page<AppHeaderCfg> page = appCfgService.findAppHeaderList(searchPage, cfg);
|
||||
for (AppHeaderCfg entity : page.getList()) {
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId());
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
model.addAttribute("page", page);
|
||||
initPageCondition(model, cfg);
|
||||
@@ -1352,6 +1570,24 @@ public class AppCfgController extends BaseController {
|
||||
public String headerCfgForm(Model model, String ids, AppHeaderCfg entity) {
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
entity = appCfgService.getAppHeaderCfg(Long.parseLong(ids));
|
||||
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setSpecServiceId(app.getSpecServiceId());
|
||||
}
|
||||
|
||||
initUpdateFormCondition(model, entity);
|
||||
} else {
|
||||
initFormCondition(model, entity);
|
||||
@@ -1848,8 +2084,20 @@ public class AppCfgController extends BaseController {
|
||||
logTotal.put("sum",0L);
|
||||
logTotals.add(logTotal);
|
||||
}
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId());
|
||||
if (app != null) {
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(policy.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
policy.setSocialName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
@@ -2059,7 +2307,9 @@ public class AppCfgController extends BaseController {
|
||||
|
||||
for (AppIpCfg appIp : ipLists) {
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(appIp.getSpecServiceId());
|
||||
appIp.setAppName(app.getSpecServiceName());
|
||||
if(app!=null){
|
||||
appIp.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
titleList.add(entity.getMenuNameCode());
|
||||
classMap.put(entity.getMenuNameCode(), AppIpCfg.class);
|
||||
@@ -2132,8 +2382,22 @@ public class AppCfgController extends BaseController {
|
||||
http.setIsCaseInsenstive(0);
|
||||
}
|
||||
http.setCfgKeywords(Functions.replace(http.getCfgKeywords(), "***and***", " "));
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(http.getSpecServiceId());
|
||||
http.setAppName(app.getSpecServiceName());
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(http.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
http.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
|
||||
titleList.add(entity.getMenuNameCode());
|
||||
@@ -2205,8 +2469,22 @@ public class AppCfgController extends BaseController {
|
||||
}else{
|
||||
domain.setIsCaseInsenstive(0);
|
||||
}
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(domain.getSpecServiceId());
|
||||
domain.setAppName(app.getSpecServiceName());
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(domain.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
domain.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
|
||||
titleList.add(entity.getMenuNameCode());
|
||||
@@ -2280,8 +2558,22 @@ public class AppCfgController extends BaseController {
|
||||
ssl.setIsCaseInsenstive(0);
|
||||
}
|
||||
ssl.setCfgKeywords(Functions.replace(ssl.getCfgKeywords(), "***and***", " "));
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(ssl.getSpecServiceId());
|
||||
ssl.setAppName(app.getSpecServiceName());
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(ssl.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
ssl.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
titleList.add(entity.getMenuNameCode());
|
||||
classMap.put(entity.getMenuNameCode(), AppSslCertCfg.class);
|
||||
|
||||
@@ -87,8 +87,22 @@ public class AppFeatureCfgController extends BaseController {
|
||||
Page<AppFeatureIndex> searchPage = new Page<AppFeatureIndex>(request, response, "r");
|
||||
Page<AppFeatureIndex> page = appMultiFeatureCfgService.findAppFeatureIndexList(searchPage, cfg);
|
||||
for (AppFeatureIndex entity : page.getList()) {
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId());
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
model.addAttribute("page", page);
|
||||
initPageCondition(model, cfg);
|
||||
@@ -115,6 +129,24 @@ public class AppFeatureCfgController extends BaseController {
|
||||
entity.getFunctionId(), null));
|
||||
entity.setNumCfgList(
|
||||
appMultiFeatureCfgService.getAppTcpCfg(entity.getCompileId(), entity.getFunctionId(), null));
|
||||
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setSpecServiceId(app.getSpecServiceId());
|
||||
}
|
||||
|
||||
initUpdateFormCondition(model, entity);
|
||||
} else {
|
||||
initFormCondition(model, entity);
|
||||
@@ -351,8 +383,22 @@ public class AppFeatureCfgController extends BaseController {
|
||||
}
|
||||
|
||||
for (AppFeatureIndex feature : ipLists) {
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(feature.getSpecServiceId());
|
||||
feature.setAppName(app.getSpecServiceName());
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(feature.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
feature.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
String cfgIndexInfoNoExport = ",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,";
|
||||
String appComplexNoExport = ",do_log,block_type,config_describe,valid_identifier,is_audit,creator,creator"
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.SysDataDictionaryItem;
|
||||
import com.nis.domain.configuration.AppPolicyCfg;
|
||||
import com.nis.domain.configuration.BaseStringCfg;
|
||||
import com.nis.domain.configuration.CfgIndexInfo;
|
||||
@@ -36,6 +37,7 @@ import com.nis.exceptions.CallExternalProceduresException;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
import com.nis.util.ConfigServiceUtil;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DictUtils;
|
||||
import com.nis.util.LogUtils;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.web.controller.BaseController;
|
||||
@@ -130,6 +132,25 @@ public class BasicProtocolController extends BaseController {
|
||||
public String policyCfgForm(Model model, String ids, AppPolicyCfg entity) {
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids), null);
|
||||
|
||||
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_BASIC_PROTOCOL.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setSpecServiceId(app.getSpecServiceId());
|
||||
}
|
||||
|
||||
initUpdateFormCondition(model, entity);
|
||||
} else {
|
||||
initFormCondition(model, entity);
|
||||
@@ -323,8 +344,20 @@ public class BasicProtocolController extends BaseController {
|
||||
logTotal.put("sum",0L);
|
||||
logTotals.add(logTotal);
|
||||
}
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId());
|
||||
if (app != null) {
|
||||
// 查找社交应用的所有有效一级特定服务 TODO
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_BASIC_PROTOCOL.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(policy.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
policy.setAppName(app.getSpecServiceName());
|
||||
}
|
||||
|
||||
|
||||
@@ -151,6 +151,24 @@ public class EncryptedTunnelBehaviorController extends BaseController {
|
||||
public String policyCfgForm(Model model, String ids, AppPolicyCfg entity) {
|
||||
if (StringUtils.isNotBlank(ids)) {
|
||||
entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids), null);
|
||||
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(entity.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setSpecServiceId(app.getSpecServiceId());
|
||||
}
|
||||
|
||||
initUpdateFormCondition(model, entity);
|
||||
} else {
|
||||
initFormCondition(model, entity);
|
||||
@@ -347,8 +365,20 @@ public class EncryptedTunnelBehaviorController extends BaseController {
|
||||
logTotal.put("sum",0L);
|
||||
logTotals.add(logTotal);
|
||||
}
|
||||
SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId());
|
||||
if (app != null) {
|
||||
// 查找社交应用的所有有效一级特定服务 TODO
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceCode(policy.getAppCode());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgService.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
policy.setBehaviorName(app.getSpecServiceName());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -311,7 +311,13 @@ public class AvController extends BaseController {
|
||||
}
|
||||
|
||||
avCfgService.saveOrUpdateAvFileSample(entity, srcFile);
|
||||
addMessage(redirectAttributes, "success", "save_success");
|
||||
//配置仅保存
|
||||
if(StringUtil.isEmpty(entity.getIsValid()) || entity.getIsValid()!=1) {
|
||||
addMessage(redirectAttributes, "success", "save_success");
|
||||
}else {
|
||||
//配置直接生效
|
||||
addMessage(redirectAttributes, "success", "audit_success");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("文件上传失败", e);
|
||||
e.printStackTrace();
|
||||
@@ -339,7 +345,13 @@ public class AvController extends BaseController {
|
||||
RedirectAttributes redirectAttributes, String ids, AvSignSampleCfg entity) {
|
||||
try {
|
||||
avCfgService.saveOrUpdateAvSignSample(entity);
|
||||
addMessage(redirectAttributes, "success", "save_success");
|
||||
//配置仅保存
|
||||
if(StringUtil.isEmpty(entity.getIsValid()) || entity.getIsValid()!=1) {
|
||||
addMessage(redirectAttributes, "success", "save_success");
|
||||
}else {
|
||||
//配置直接生效
|
||||
addMessage(redirectAttributes, "success", "audit_success");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("saveAudioSignSample failed", e);
|
||||
e.printStackTrace();
|
||||
@@ -591,7 +603,13 @@ public class AvController extends BaseController {
|
||||
// if(!avSignSampleCfg.getAction().equals(avSignSampleCfg.getActionOld())||!avSignSampleCfg.getIsValid().equals(avSignSampleCfg.getIsValidOld())){
|
||||
try {
|
||||
avCfgService.auditAvSignSample(avSignSampleCfg);
|
||||
addMessage(redirectAttributes, "success", "save_success");
|
||||
//配置仅保存
|
||||
if(StringUtil.isEmpty(avSignSampleCfg.getIsValid()) || avSignSampleCfg.getIsValid()!=1) {
|
||||
addMessage(redirectAttributes, "success", "save_success");
|
||||
}else {
|
||||
//配置直接生效
|
||||
addMessage(redirectAttributes, "success", "audit_success");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
if (e instanceof MaatConvertException) {
|
||||
|
||||
@@ -157,7 +157,13 @@ public class ControlPolicyController extends BaseController{
|
||||
,RedirectAttributes redirectAttributes){
|
||||
try{
|
||||
controlPolicyService.saveOrUpdate(cfg,areaCfgIds);
|
||||
addMessage(redirectAttributes,"success","save_success");
|
||||
//配置仅保存
|
||||
if(StringUtil.isEmpty(cfg.getIsValid()) || cfg.getIsValid()!=1) {
|
||||
addMessage(redirectAttributes, "success", "save_success");
|
||||
}else {
|
||||
//配置直接生效
|
||||
addMessage(redirectAttributes, "success", "audit_success");
|
||||
}
|
||||
}catch(Exception e){
|
||||
logger.error("信息保存失败",e);
|
||||
if(e instanceof MaatConvertException) {
|
||||
|
||||
@@ -118,7 +118,13 @@ public class FileStrategyController extends CommonController {
|
||||
cfg.setContentLength(file.length());//文件长度
|
||||
}
|
||||
proxyFileStrategyService.saveOrUpdate(cfg);
|
||||
addMessage(redirectAttributes,"success","save_success");
|
||||
//配置仅保存
|
||||
if(StringUtil.isEmpty(cfg.getIsValid()) || cfg.getIsValid()!=1) {
|
||||
addMessage(redirectAttributes, "success", "save_success");
|
||||
}else {
|
||||
//配置直接生效
|
||||
addMessage(redirectAttributes, "success", "audit_success");
|
||||
}
|
||||
}catch(Exception e){
|
||||
logger.error("信息保存失败",e);
|
||||
if(e instanceof MaatConvertException) {
|
||||
|
||||
@@ -399,6 +399,15 @@ public class InterceptController extends CommonController {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (214==entity.getFunctionId()) {
|
||||
for (CfgIndexInfo cfg : ipLists) {
|
||||
if (!StringUtil.isBlank(cfg.getUserRegion1())) {
|
||||
cfg.setUserRegion1(DictUtils.getDictLabels("SPOOFING_IP_TYPE", cfg.getUserRegion1(),cfg.getUserRegion1()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pktBinList = BaseStringCfg.replaceBaseKeyList(pktBinList);
|
||||
httpUrlList = BaseStringCfg.baseHexList(httpUrlList);
|
||||
dataMap.put(entity.getMenuNameCode(), ipLists);
|
||||
|
||||
@@ -79,4 +79,8 @@ public interface SchedulerDao extends CrudDao<ScheduleCfg> {
|
||||
*/
|
||||
int updateScheduleExceNew(ScheduleExceInfo exceInfo);
|
||||
|
||||
/**
|
||||
* 失效所有定时任务
|
||||
*/
|
||||
void inValidAllSchedule();
|
||||
}
|
||||
@@ -364,6 +364,12 @@
|
||||
compile_Id = #{compileId} and issue_status = #{issueStatus}
|
||||
</update>
|
||||
|
||||
|
||||
<update id="inValidAllSchedule">
|
||||
update schedule_cfg
|
||||
<set>
|
||||
del_flag = 0
|
||||
</set>
|
||||
WHERE del_flag =1
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -128,15 +128,32 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
|
||||
<if test="creatorName != null and creatorName !=''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -620,8 +620,13 @@
|
||||
<if test="cfgDesc != null and cfgDesc != ''">
|
||||
AND r.CFG_DESC like concat(concat('%',#{cfgDesc,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
<if test="appCode != null">
|
||||
AND r.app_code=#{appCode,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="appCode == null">
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
</if>
|
||||
</if>
|
||||
<if test="cfgType != null and cfgType != ''">
|
||||
AND r.CFG_TYPE like concat(concat('%',#{cfgType,jdbcType=VARCHAR}),'%')
|
||||
@@ -721,21 +726,42 @@
|
||||
<if test="cfgDesc != null and cfgDesc != ''">
|
||||
AND r.CFG_DESC like concat(concat('%',#{cfgDesc,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
<if test="appCode != null">
|
||||
AND r.app_code=#{appCode,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="appCode == null">
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
</if>
|
||||
</if>
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
@@ -880,8 +906,13 @@
|
||||
<if test="cfgDesc != null and cfgDesc != ''">
|
||||
AND r.CFG_DESC like concat(concat('%',#{cfgDesc,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
<if test="appCode != null">
|
||||
AND r.app_code=#{appCode,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="appCode == null">
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
</if>
|
||||
</if>
|
||||
<if test="cfgType != null and cfgType != ''">
|
||||
AND r.CFG_TYPE like concat(concat('%',#{CFG_TYPE,jdbcType=VARCHAR}),'%')
|
||||
@@ -922,15 +953,31 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
@@ -1035,8 +1082,13 @@
|
||||
<if test="cfgDesc != null and cfgDesc != ''">
|
||||
AND r.CFG_DESC like concat(concat('%',#{cfgDesc,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
<if test="appCode != null">
|
||||
AND r.app_code=#{appCode,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="appCode == null">
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
</if>
|
||||
</if>
|
||||
<if test="cfgType != null and cfgType != ''">
|
||||
AND r.CFG_TYPE like concat(concat('%',#{cfgType,jdbcType=VARCHAR}),'%')
|
||||
@@ -1050,15 +1102,31 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
@@ -1138,8 +1206,13 @@
|
||||
<if test="cfgDesc != null and cfgDesc != ''">
|
||||
AND r.CFG_DESC like concat(concat('%',#{cfgDesc,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
<if test="appCode != null">
|
||||
AND r.app_code=#{appCode,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="appCode == null">
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
</if>
|
||||
</if>
|
||||
<if test="cfgType != null and cfgType != ''">
|
||||
AND r.CFG_TYPE like concat(concat('%',#{cfgType,jdbcType=VARCHAR}),'%')
|
||||
@@ -1150,15 +1223,31 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
@@ -1270,15 +1359,31 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
@@ -1377,8 +1482,13 @@
|
||||
<if test="cfgDesc != null and cfgDesc != ''">
|
||||
AND r.CFG_DESC like concat(concat('%',#{cfgDesc,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
<if test="appCode != null">
|
||||
AND r.app_code=#{appCode,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="appCode == null">
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
</if>
|
||||
</if>
|
||||
<if test="cfgType != null and cfgType != ''">
|
||||
AND r.CFG_TYPE like concat(concat('%',#{cfgType,jdbcType=VARCHAR}),'%')
|
||||
@@ -1572,8 +1682,13 @@
|
||||
<if test="cfgDesc != null and cfgDesc != ''">
|
||||
AND r.CFG_DESC like concat(concat('%',#{cfgDesc,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
<if test="appCode != null">
|
||||
AND r.app_code=#{appCode,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="appCode == null">
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
</if>
|
||||
</if>
|
||||
<if test="cfgType != null and cfgType != ''">
|
||||
AND r.CFG_TYPE like concat(concat('%',#{cfgType,jdbcType=VARCHAR}),'%')
|
||||
@@ -1587,15 +1702,31 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -267,21 +267,42 @@
|
||||
<if test="cfgDesc != null and cfgDesc != ''">
|
||||
AND r.CFG_DESC like concat(concat('%',#{cfgDesc,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
<if test="appCode != null">
|
||||
AND r.app_code=#{appCode,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="appCode == null">
|
||||
<if test="specServiceId != null">
|
||||
AND r.spec_service_id=#{specServiceId,jdbcType=INTEGER}
|
||||
</if>
|
||||
</if>
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -128,15 +128,31 @@
|
||||
<if test="action != null">
|
||||
AND a.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND a.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND a.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -310,15 +310,31 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
@@ -2128,6 +2144,12 @@
|
||||
update ${tableName} set is_valid = #{isValid,jdbcType=INTEGER},
|
||||
<if test="isAudit != null">
|
||||
is_audit = #{isAudit,jdbcType=INTEGER},
|
||||
</if>
|
||||
<if test="auditTime !=null ">
|
||||
audit_time = #{auditTime,jdbcType=TIMESTAMP},
|
||||
</if>
|
||||
<if test="auditorId != null" >
|
||||
AUDITOR_ID = #{auditorId,jdbcType=INTEGER},
|
||||
</if>
|
||||
editor_id = #{editorId,jdbcType=INTEGER} ,
|
||||
edit_time = #{editTime,jdbcType=TIMESTAMP}
|
||||
|
||||
@@ -208,15 +208,31 @@
|
||||
<if test="action != null">
|
||||
AND a.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND a.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND a.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -219,15 +219,31 @@
|
||||
<if test="action != null">
|
||||
AND a.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND a.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND a.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -117,15 +117,31 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName !=''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -120,15 +120,31 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName !=''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -85,15 +85,31 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -232,9 +232,31 @@
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND a.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND a.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
@@ -1140,15 +1162,31 @@
|
||||
<if test="action != null">
|
||||
AND a.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND a.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND a.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -1098,15 +1098,31 @@
|
||||
<if test="action != null">
|
||||
AND a.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND a.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND a.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -171,15 +171,31 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
@@ -254,15 +270,31 @@
|
||||
<if test="action != null">
|
||||
AND r.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND r.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND r.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND r.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND r.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND r.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -189,15 +189,31 @@
|
||||
<if test="action != null">
|
||||
AND a.ACTION=#{action,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchValidValue != null and batchValidValue != ''">
|
||||
AND a.IS_VALID in (${batchValidValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isValid != null">
|
||||
AND a.IS_VALID=#{isValid,jdbcType=INTEGER}
|
||||
</if>
|
||||
<if test="isValid == null">
|
||||
AND a.IS_VALID != -1
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<choose>
|
||||
<!-- 判断是否批量操作 -->
|
||||
<when test="batchAuditValue != null and batchAuditValue != ''">
|
||||
AND a.IS_AUDIT in(${batchAuditValue})
|
||||
</when>
|
||||
<otherwise>
|
||||
<if test="isAudit != null">
|
||||
AND a.IS_AUDIT=#{isAudit,jdbcType=INTEGER}
|
||||
</if>
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="creatorName != null and creatorName != ''">
|
||||
AND CREATOR_NAME like concat(concat('%',#{creatorName,jdbcType=VARCHAR}),'%')
|
||||
</if>
|
||||
|
||||
@@ -20,7 +20,7 @@ public interface SpecificServiceCfgDao extends CrudDao<SpecificServiceCfg> {
|
||||
* @return
|
||||
*/
|
||||
SpecificServiceCfg getBySpecServiceId(Integer specServiceId);
|
||||
List<SpecificServiceCfg> getBySpecServiceCodes(@Param("ids")String ids);
|
||||
List<SpecificServiceCfg> getBySpecServiceCodes(@Param("ids")String ids,@Param("cfgType")Integer cfgType);
|
||||
/**
|
||||
* 查询所有符合条件顶层分页列表
|
||||
* @param specificServiceCfg
|
||||
|
||||
@@ -39,11 +39,11 @@
|
||||
<!-- 根据id查出对象 -->
|
||||
<select id="getBySpecServiceId" resultType="com.nis.domain.specific.SpecificServiceCfg" parameterType="java.lang.Integer">
|
||||
select <include refid="specificServiceCfgColumns" />
|
||||
from specific_service_cfg s where s.spec_service_id = #{specServiceId}
|
||||
from specific_service_cfg s where s.spec_service_id = #{specServiceId} and s.is_valid=1
|
||||
</select>
|
||||
<select id="getBySpecServiceCodes" resultType="com.nis.domain.specific.SpecificServiceCfg" parameterType="java.lang.String">
|
||||
<select id="getBySpecServiceCodes" resultType="com.nis.domain.specific.SpecificServiceCfg">
|
||||
select <include refid="specificServiceCfgColumns" />
|
||||
from specific_service_cfg s where s.spec_service_code in(${ids})
|
||||
from specific_service_cfg s where s.spec_service_code in(${ids}) and s.is_valid=1 and s.cfg_type=#{cfgType}
|
||||
</select>
|
||||
<select id="getRepeat" resultType="com.nis.domain.specific.SpecificServiceCfg" >
|
||||
select <include refid="specificServiceCfgColumns" />
|
||||
@@ -54,11 +54,11 @@
|
||||
</select>
|
||||
<select id="getParentType" resultType="java.lang.Integer" parameterType="java.lang.Integer">
|
||||
select cfg_type
|
||||
from specific_service_cfg s where s.spec_service_id = #{specServiceId}
|
||||
from specific_service_cfg s where s.spec_service_id = #{specServiceId} and s.is_valid=1
|
||||
</select>
|
||||
<select id="getParentCode" resultType="java.lang.Integer" parameterType="java.lang.Integer">
|
||||
select spec_service_code
|
||||
from specific_service_cfg s where s.spec_service_id = #{specServiceId}
|
||||
from specific_service_cfg s where s.spec_service_id = #{specServiceId} and s.is_valid=1
|
||||
</select>
|
||||
|
||||
<!-- 查出所有符合条件的顶层数据 -->
|
||||
|
||||
@@ -7,6 +7,11 @@ import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.ws.rs.client.Invocation.Builder;
|
||||
import javax.ws.rs.client.WebTarget;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
import org.apache.axiom.om.OMAbstractFactory;
|
||||
import org.apache.axiom.om.OMElement;
|
||||
import org.apache.axiom.om.OMFactory;
|
||||
@@ -24,10 +29,13 @@ import com.nis.domain.SrcIp;
|
||||
import com.nis.domain.SysRole;
|
||||
import com.nis.domain.SysUser;
|
||||
import com.nis.util.Configurations;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.DateUtils;
|
||||
import com.nis.util.IpUtil;
|
||||
import com.nis.util.ServiceConfigTemplateUtil;
|
||||
import com.nis.util.TimeConstants;
|
||||
import com.nis.util.httpclient.ClientUtil;
|
||||
import com.nis.web.dao.SchedulerDao;
|
||||
import com.nis.web.dao.SrcIpDao;
|
||||
import com.nis.web.dao.SysOfficeDao;
|
||||
import com.nis.web.dao.UserDao;
|
||||
@@ -56,6 +64,9 @@ public class SystemService extends BaseService{
|
||||
@Autowired
|
||||
private CommonPolicyDao commonPolicyDao;
|
||||
|
||||
@Autowired
|
||||
private SchedulerDao schedulerDao;
|
||||
|
||||
@Autowired
|
||||
private SrcIpDao srcIpDao;
|
||||
private RedisSerializer keySerializer = new StringSerializer();
|
||||
@@ -173,16 +184,27 @@ public class SystemService extends BaseService{
|
||||
}
|
||||
|
||||
public void clearPolicies() throws Exception {
|
||||
// TODO 调用服务接口 告知flushAll
|
||||
/*String destUrl = Constants.SERVICE_URL;
|
||||
HttpClientUtil.get(destUrl);*/
|
||||
Set<String> tableNameSet = ServiceConfigTemplateUtil.getAllTableName();
|
||||
tableNameSet.add("pxy_obj_spoofing_ip_pool");
|
||||
for (String tableName : tableNameSet) {
|
||||
commonPolicyDao.clearPolicies(tableName);
|
||||
// 调用服务接口 告知flushAll
|
||||
String url = Constants.SERVICE_URL + Constants.DEL_ALL_CFG;
|
||||
// 创建连接
|
||||
WebTarget wt = ClientUtil.getWebTarger(url);
|
||||
// 获取响应结果
|
||||
Builder header = wt.request(MediaType.APPLICATION_JSON).header("Content-Type", MediaType.APPLICATION_JSON);
|
||||
Response response = header.delete();
|
||||
if(response.getStatus() == 200){
|
||||
//String result= response.readEntity(String.class);
|
||||
Set<String> tableNameSet = ServiceConfigTemplateUtil.getAllTableName();
|
||||
tableNameSet.add("pxy_obj_spoofing_ip_pool");
|
||||
for (String tableName : tableNameSet) {
|
||||
commonPolicyDao.clearPolicies(tableName);
|
||||
}
|
||||
// 初始化分组
|
||||
asnGroupInfoService.reLoadGroupInfo();
|
||||
// 失效定时任务
|
||||
schedulerDao.inValidAllSchedule();
|
||||
}else {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
// 初始化分组
|
||||
asnGroupInfoService.reLoadGroupInfo();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.SysDataDictionaryItem;
|
||||
import com.nis.domain.basics.AsnIpCfg;
|
||||
import com.nis.domain.basics.Varibles;
|
||||
import com.nis.domain.configuration.AppByteCfg;
|
||||
@@ -90,6 +91,32 @@ public class AppCfgService extends BaseService {
|
||||
public Page<AppPolicyCfg> findAppPolicyList(Page<AppPolicyCfg> page, AppPolicyCfg entity) {
|
||||
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(), "r"));
|
||||
entity.setPage(page);
|
||||
if(!StringUtil.isEmpty(entity.getSpecServiceId())){
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (entity.getFunctionId() == 63 && Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
if (entity.getFunctionId() == 407 && Constants.SPECIFIC_SERVICE_CFG_TYPE_BASIC_PROTOCOL.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
if (entity.getFunctionId() == 408 && Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceId(entity.getSpecServiceId());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgDao.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppCode(app.getSpecServiceCode());
|
||||
}
|
||||
}
|
||||
List<AppPolicyCfg> list = appCfgDao.findAppPolicyList(entity);
|
||||
page.setList(list);
|
||||
return page;
|
||||
@@ -104,11 +131,59 @@ public class AppCfgService extends BaseService {
|
||||
public Page<AppIpCfg> findAppIpList(Page<AppIpCfg> page, AppIpCfg entity) {
|
||||
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(), "r"));
|
||||
entity.setPage(page);
|
||||
|
||||
if(!StringUtil.isEmpty(entity.getSpecServiceId())){
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceId(entity.getSpecServiceId());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgDao.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppCode(app.getSpecServiceCode());
|
||||
}
|
||||
}
|
||||
|
||||
List<AppIpCfg> list = appCfgDao.findAppIpList(entity);
|
||||
page.setList(list);
|
||||
return page;
|
||||
}
|
||||
public List<AppIpCfg> findAppIpList(AppIpCfg entity) {
|
||||
|
||||
if(!StringUtil.isEmpty(entity.getSpecServiceId())){
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (entity.getFunctionId() == 63 && Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
if (entity.getFunctionId() == 407 && Constants.SPECIFIC_SERVICE_CFG_TYPE_BASIC_PROTOCOL.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
if (entity.getFunctionId() == 408 && Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceId(entity.getSpecServiceId());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgDao.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppCode(app.getSpecServiceCode());
|
||||
}
|
||||
}
|
||||
|
||||
List<AppIpCfg> list = appCfgDao.findAppIpList(entity);
|
||||
return list;
|
||||
}
|
||||
@@ -121,6 +196,26 @@ public class AppCfgService extends BaseService {
|
||||
public Page<AppHttpCfg> findAppHttpList(Page<AppHttpCfg> page, AppHttpCfg entity) {
|
||||
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(), "r"));
|
||||
entity.setPage(page);
|
||||
|
||||
if(!StringUtil.isEmpty(entity.getSpecServiceId())){
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceId(entity.getSpecServiceId());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgDao.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppCode(app.getSpecServiceCode());
|
||||
}
|
||||
}
|
||||
|
||||
List<AppHttpCfg> list = appCfgDao.findAppHttpList(entity);
|
||||
page.setList(list);
|
||||
return page;
|
||||
@@ -134,6 +229,26 @@ public class AppCfgService extends BaseService {
|
||||
public Page<AppDomainCfg> findAppDomainList(Page<AppDomainCfg> page, AppDomainCfg entity) {
|
||||
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(), "r"));
|
||||
entity.setPage(page);
|
||||
|
||||
if(!StringUtil.isEmpty(entity.getSpecServiceId())){
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceId(entity.getSpecServiceId());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgDao.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppCode(app.getSpecServiceCode());
|
||||
}
|
||||
}
|
||||
|
||||
List<AppDomainCfg> list = appCfgDao.findAppDomainList(entity);
|
||||
page.setList(list);
|
||||
return page;
|
||||
@@ -174,6 +289,26 @@ public class AppCfgService extends BaseService {
|
||||
public Page<AppByteCfg> findAppByteList(Page<AppByteCfg> page, AppByteCfg entity) {
|
||||
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(), "r"));
|
||||
entity.setPage(page);
|
||||
|
||||
if(!StringUtil.isEmpty(entity.getSpecServiceId())){
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceId(entity.getSpecServiceId());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgDao.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppCode(app.getSpecServiceCode());
|
||||
}
|
||||
}
|
||||
|
||||
List<AppByteCfg> list = appCfgDao.findAppByteList(entity);
|
||||
page.setList(list);
|
||||
return page;
|
||||
@@ -182,6 +317,26 @@ public class AppCfgService extends BaseService {
|
||||
public Page<AppSslCertCfg> findAppSslList(Page<AppSslCertCfg> page, AppSslCertCfg entity) {
|
||||
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(), "r"));
|
||||
entity.setPage(page);
|
||||
|
||||
if(!StringUtil.isEmpty(entity.getSpecServiceId())){
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceId(entity.getSpecServiceId());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgDao.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppCode(app.getSpecServiceCode());
|
||||
}
|
||||
}
|
||||
|
||||
List<AppSslCertCfg> list = appCfgDao.findAppSslList(entity);
|
||||
page.setList(list);
|
||||
return page;
|
||||
@@ -195,6 +350,26 @@ public class AppCfgService extends BaseService {
|
||||
public Page<AppTcpCfg> findAppTcpList(Page<AppTcpCfg> page, AppTcpCfg entity) {
|
||||
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(), "r"));
|
||||
entity.setPage(page);
|
||||
|
||||
if(!StringUtil.isEmpty(entity.getSpecServiceId())){
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceId(entity.getSpecServiceId());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgDao.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppCode(app.getSpecServiceCode());
|
||||
}
|
||||
}
|
||||
|
||||
List<AppTcpCfg> list = appCfgDao.findAppTcpList(entity);
|
||||
page.setList(list);
|
||||
return page;
|
||||
@@ -785,6 +960,10 @@ public class AppCfgService extends BaseService {
|
||||
public void saveOrUpdateAppSslCfg(AppSslCertCfg entity) throws Exception {
|
||||
// 设置区域运营商信息
|
||||
setAreaEffectiveIds(entity);
|
||||
int isValid=0;
|
||||
if(!StringUtil.isEmpty(entity.getIsValid()) && entity.getIsValid()==1) {
|
||||
isValid=1;
|
||||
}
|
||||
if (entity.getCfgId() == null) {
|
||||
Integer compileId = 0;
|
||||
try {
|
||||
@@ -836,6 +1015,12 @@ public class AppCfgService extends BaseService {
|
||||
}
|
||||
|
||||
}
|
||||
if(isValid==1) {
|
||||
entity.setIsAudit(1);
|
||||
entity.setIsValid(1);
|
||||
entity.setAuditTime(new Date());
|
||||
auditAppSslCfg(entity, entity.getIsAudit());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2061,6 +2246,26 @@ public class AppCfgService extends BaseService {
|
||||
public Page<AppHeaderCfg> findAppHeaderList(Page<AppHeaderCfg> page, AppHeaderCfg entity) {
|
||||
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(), "r"));
|
||||
entity.setPage(page);
|
||||
|
||||
if(!StringUtil.isEmpty(entity.getSpecServiceId())){
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceId(entity.getSpecServiceId());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgDao.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppCode(app.getSpecServiceCode());
|
||||
}
|
||||
}
|
||||
|
||||
List<AppHeaderCfg> list = appCfgDao.findAppHeaderList(entity);
|
||||
page.setList(list);
|
||||
return page;
|
||||
@@ -2230,4 +2435,5 @@ public class AppCfgService extends BaseService {
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.SysDataDictionaryItem;
|
||||
import com.nis.domain.configuration.AppComplexFeatureCfg;
|
||||
import com.nis.domain.configuration.AppFeatureIndex;
|
||||
import com.nis.domain.configuration.AppHttpCfg;
|
||||
@@ -34,6 +35,7 @@ import com.nis.domain.maat.MaatCfg.GroupCfg;
|
||||
import com.nis.domain.maat.MaatCfg.IpCfg;
|
||||
import com.nis.domain.maat.MaatCfg.NumBoundaryCfg;
|
||||
import com.nis.domain.maat.MaatCfg.StringCfg;
|
||||
import com.nis.domain.specific.SpecificServiceCfg;
|
||||
import com.nis.domain.maat.ToMaatBean;
|
||||
import com.nis.domain.maat.ToMaatResult;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
@@ -42,6 +44,7 @@ import com.nis.util.Constants;
|
||||
import com.nis.util.DictUtils;
|
||||
import com.nis.util.StringUtil;
|
||||
import com.nis.web.dao.configuration.AppMultiFeatureCfgDao;
|
||||
import com.nis.web.dao.specific.SpecificServiceCfgDao;
|
||||
import com.nis.web.security.UserUtils;
|
||||
import com.nis.web.service.BaseService;
|
||||
|
||||
@@ -55,11 +58,33 @@ import com.nis.web.service.BaseService;
|
||||
public class AppMultiFeatureCfgService extends BaseService {
|
||||
@Autowired
|
||||
protected AppMultiFeatureCfgDao appMultiFeatureCfgDao;
|
||||
@Autowired
|
||||
protected SpecificServiceCfgDao specificServiceCfgDao;
|
||||
|
||||
//分页查询
|
||||
public Page<AppFeatureIndex> findAppFeatureIndexList(Page<AppFeatureIndex> page, AppFeatureIndex entity) {
|
||||
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(), "r"));
|
||||
entity.setPage(page);
|
||||
|
||||
if(!StringUtil.isEmpty(entity.getSpecServiceId())){
|
||||
// 查找社交应用的所有有效一级特定服务
|
||||
SpecificServiceCfg appSpec = new SpecificServiceCfg();
|
||||
for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) {
|
||||
if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) {
|
||||
appSpec.setCfgType(Integer.parseInt(dict.getItemCode()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
appSpec.setIsValid(Constants.VALID_YES);
|
||||
appSpec.setIsLeaf(0);
|
||||
appSpec.setSpecServiceId(entity.getSpecServiceId());
|
||||
List<SpecificServiceCfg> appList = specificServiceCfgDao.findAllSpecificServiceCfg(appSpec, null);
|
||||
if (!StringUtil.isEmpty(appList)) {
|
||||
SpecificServiceCfg app = appList.get(0);
|
||||
entity.setAppCode(app.getSpecServiceCode());
|
||||
}
|
||||
}
|
||||
|
||||
List<AppFeatureIndex> list = appMultiFeatureCfgDao.findAppFeatureIndexList(entity);
|
||||
page.setList(list);
|
||||
return page;
|
||||
|
||||
@@ -1554,7 +1554,7 @@ public class AvContentCfgService extends BaseService{
|
||||
if(isValid==1) {
|
||||
entity.setIsAudit(1);
|
||||
entity.setIsValid(1);
|
||||
auditContUrl(entity,entity.getIsAudit(), Constants.INSERT_ACTION);
|
||||
auditContUrl(entity,entity.getIsAudit(), Constants.UPDATE_ACTION);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -987,7 +987,7 @@ public class WebsiteCfgService extends CrudService<WebsiteCfgDao,CfgIndexInfo> {
|
||||
maatBean.setAuditTime(entity.getAuditTime());
|
||||
maatBean.setCreatorName(entity.getCurrentUser().getName());
|
||||
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||
maatBean.setOpAction(Constants.UPDATE_ACTION);
|
||||
//调用服务接口取消配置
|
||||
String json=gsonToJson(maatBean);
|
||||
logger.info("ssl配置下发配置参数:"+json);
|
||||
|
||||
@@ -33,11 +33,11 @@ public class SpecificServiceCfgService extends BaseService{
|
||||
public SpecificServiceCfg getBySpecServiceId(Integer specServiceId) {
|
||||
return specificServiceCfgDao.getBySpecServiceId(specServiceId);
|
||||
}
|
||||
public List<SpecificServiceCfg> getBySpecServiceCodes(String specServiceCodes) {
|
||||
public List<SpecificServiceCfg> getBySpecServiceCodes(String specServiceCodes,Integer cfgType) {
|
||||
for(String specServiceId:specServiceCodes.split(",")) {
|
||||
Integer.parseInt(specServiceId);
|
||||
}
|
||||
return specificServiceCfgDao.getBySpecServiceCodes(specServiceCodes);
|
||||
return specificServiceCfgDao.getBySpecServiceCodes(specServiceCodes,cfgType);
|
||||
}
|
||||
/**
|
||||
* 查询所有符合条件的顶层分页
|
||||
|
||||
@@ -547,7 +547,7 @@ ftp_ip=FTP IP Configuration
|
||||
dns_ip=DNS IP Configuration
|
||||
dns_domain=DNS Domain Configuration
|
||||
action=Action
|
||||
has_prohibit_delete=Only unconfirmed configuration can be deleted
|
||||
has_prohibit_delete=Only unaudited and cancel configurations can be deleted
|
||||
has_prohibit_nopass=Only unconfirmed configuration can be confirmed
|
||||
has_prohibit_pass=Only unconfirmed configuration can be confirmed
|
||||
multiple_keywords_tip=Multiple keyword can be input,Please separate it with the return key.
|
||||
@@ -1527,3 +1527,4 @@ url_group_manage=URL Group Manage
|
||||
range_cross=Found intersections between Server IP address and Client IP address
|
||||
app_ip_correlation=APP IP Correlation
|
||||
public_private_file_error=Public-private key mismatch
|
||||
https_url_format_tip=URL(http[s]://xxx.xx)
|
||||
@@ -547,7 +547,7 @@ ftp_ip=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f
|
||||
dns_ip=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f DNS IP
|
||||
dns_domain=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0434\u043e\u043c\u0435\u043d\u0430 DNS
|
||||
action=\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435
|
||||
has_prohibit_delete=\u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u0430
|
||||
has_prohibit_delete= только удаляет незаконченные настройки и отменяет проверку конфигурации
|
||||
has_prohibit_nopass=\u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0430
|
||||
has_prohibit_pass=\u0422\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0430
|
||||
multiple_keywords_tip=\u041c\u043e\u0436\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0441\u043b\u043e\u0432,\u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435 \u0438\u0445 \u043a\u043b\u0430\u0432\u0438\u0448\u0435\u0439 "Enter".
|
||||
@@ -1490,34 +1490,34 @@ GByte=GByte
|
||||
interval=\u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u043a
|
||||
month=\u041c\u0435\u0441\u044f\u0446\u044b
|
||||
day=\u0414\u043d\u0438
|
||||
week=weeks
|
||||
week=\u043d\u0435\u0434\u0435\u043b\u044c
|
||||
startTime=\u041d\u0430\u0447\u0430\u0442\u044c
|
||||
endTime=\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044c
|
||||
single=\u041e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e
|
||||
everyDay=\u0415\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e
|
||||
everyWeek=\u0415\u0436\u0435\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u043e
|
||||
everyMonth=\u0415\u0436\u0435\u043c\u0435\u0441\u044f\u0447\u043d\u043e
|
||||
on=On
|
||||
is_schduler=Scheduler
|
||||
validate_error=Unexpected error occurred while validating
|
||||
v4_num=IPv4 Number
|
||||
v6_num=IPv6 Number
|
||||
on=\u041e\u0442\u043a\u0440\u044b\u0442\u044c
|
||||
is_schduler=\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a
|
||||
validate_error=\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435
|
||||
v4_num=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e ipv4
|
||||
v6_num=\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e ipv6
|
||||
always=\u041f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e
|
||||
schedule=Scheduler
|
||||
cancel_all=Cancel all configurations!
|
||||
pre_version=Previous Version
|
||||
approved_all=Approve all configurations!
|
||||
protection_list_manage=Protection List Manage
|
||||
effective=Effective
|
||||
admin_user_warn=Admin User Warn
|
||||
interface_total=Interface Total
|
||||
service_total=Service Total
|
||||
none_file_tip=Please Choose File!
|
||||
schedule=\u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a
|
||||
cancel_all=\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438%21
|
||||
pre_version=\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0412\u0435\u0440\u0441\u0438\u044f
|
||||
approved_all=\u0423\u0442\u0432\u0440\u0435\u0434\u0438\u0442\u044c \u0432\u0441\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438%21
|
||||
protection_list_manage=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0421\u043f\u0438\u0441\u043a\u043e\u043c \u0417\u0430\u0449\u0438\u0442\u044b%21
|
||||
effective=\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435
|
||||
admin_user_warn=\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0410\u0434\u043c\u0438\u043d
|
||||
interface_total=\u041e\u0431\u0449\u0435\u0435 \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430
|
||||
service_total=\u041e\u0431\u0449\u0435\u0435 \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0421\u0435\u0440\u0432\u0438\u0441\u0430
|
||||
none_file_tip=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b%21
|
||||
the_same_ip_type=IP-\u0430\u0434\u0440\u0435\u0441 \u043A\u043B\u0438\u0435\u043D\u0442\u0430 \u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0434\u043E\u043B\u0436\u043D\u044B \u0438\u043C\u0435\u0442\u044C \u043E\u0434\u0438\u043D \u0438 \u0442\u043E\u0442 \u0436\u0435 \u0442\u0438\u043F.
|
||||
src_ip_pattern=Client IP Pattern
|
||||
dest_ip_pattern=Server IP Pattern
|
||||
src_port_pattern=Client Port Pattern
|
||||
dest_port_pattern=Server Port Pattern
|
||||
src_ip_pattern=\u0424\u043e\u0440\u043c\u0430\u0442 ip \u041a\u043b\u0438\u0435\u043d\u0442\u0430
|
||||
dest_ip_pattern=\u0424\u043e\u0440\u043c\u0430\u0442 ip \u0421\u0435\u0440\u0432\u0435\u0440\u0430
|
||||
src_port_pattern=\u0424\u043e\u0440\u043c\u0430\u0442 \u041f\u043e\u0440\u0442\u0430 \u041a\u043b\u0438\u0435\u043d\u0442\u0430
|
||||
dest_port_pattern=\u0424\u043e\u0440\u043c\u0430\u0442 \u041f\u043e\u0440\u0442\u0430 \u0421\u0435\u0440\u0432\u0435\u0440\u0430
|
||||
url_group_configuration=URL Group Configuration
|
||||
dns_keyword_group_configuration=DNS Keyword Group Configuration
|
||||
app_ip_correlation=APP IP Correlation
|
||||
@@ -1527,6 +1527,7 @@ common_group=Common Group
|
||||
dns_keyword_group_manage=DNS Keyword Group Manage
|
||||
old_asn_group_manage=ASN Group
|
||||
url_group_manage=URL Group Manage
|
||||
range_cross=Found intersections between Server IP address and Client IP address
|
||||
app_ip_correlation=APP IP Correlation
|
||||
public_private_file_error=Public-private key mismatch
|
||||
range_cross=\u041d\u0430\u0439\u0434\u0435\u043d\u044b \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 ip-\u0430\u0434\u0440\u0435\u0441\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 ip-\u0430\u0434\u0440\u0435\u0441\u043e\u043c \u043a\u043b\u0438\u0435\u043d\u0442\u0430
|
||||
app_ip_correlation=\u041a\u043e\u0440\u0440\u0435\u043b\u044f\u0446\u0438\u044f ip-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439
|
||||
public_private_file_error=\u041d\u0435\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e-\u043f\u0440\u0438\u0432\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430.
|
||||
https_url_format_tip=URL(http[s]://xxx.xx)
|
||||
@@ -546,7 +546,7 @@ ftp_ip=FTP IP\u914d\u7f6e
|
||||
dns_ip=DNS IP\u914d\u7f6e
|
||||
dns_domain=DNS\u57df\u540d\u914d\u7f6e
|
||||
action=\u52a8\u4f5c
|
||||
has_prohibit_delete=\u53ea\u6709\u672a\u5ba1\u6838\u7684\u914d\u7f6e\u53ef\u5220\u9664
|
||||
has_prohibit_delete=\u53ea\u80fd\u5220\u9664\u672a\u5ba1\u6838\u7684\u914d\u7f6e\u4e0e\u53d6\u6d88\u5ba1\u6838\u901a\u8fc7\u7684\u914d\u7f6e
|
||||
has_prohibit_nopass=\u53ea\u6709\u672a\u5ba1\u6838\u7684\u914d\u7f6e\u53ef\u672a\u901a\u8fc7\u5ba1\u6838
|
||||
has_prohibit_pass=\u53ea\u6709\u672a\u5ba1\u6838\u7684\u914d\u7f6e\u53ef\u4ee5\u5ba1\u6838\u901a\u8fc7
|
||||
multiple_keywords_tip=\u53ef\u540c\u65f6\u8f93\u5165\u591a\u6761\u5173\u952e\u5b57\uff0c\u8bf7\u4ee5\u56de\u8f66\u952e\u9694\u5f00\u3002
|
||||
@@ -1116,11 +1116,11 @@ access_policy=\u8bbf\u95ee\u7b56\u7565
|
||||
nat_policy=\u5730\u5740\u8f6c\u6362\u7b56\u7565
|
||||
dns_policy_object=DNS\u7b56\u7565\u5bf9\u8c61
|
||||
proxy_policy_object=Proxy\u7b56\u7565\u5bf9\u8c61
|
||||
APP_PAYLOAD_ADMIN=APP Payload Admin
|
||||
APP_HTTP_ADMIN=APP HTTP Admin
|
||||
APP_DNS_ADMIN=APP DNS Admin
|
||||
APP_SSL_ADMIN=APP SSL Admin
|
||||
APP_DK_GL=APP Correlation Feature
|
||||
APP_PAYLOAD_ADMIN=APP Payload \u7279\u5f81
|
||||
APP_HTTP_ADMIN=APP HTTP \u7279\u5f81
|
||||
APP_DNS_ADMIN=APP DNS \u7279\u5f81
|
||||
APP_SSL_ADMIN=APP SSL \u7279\u5f81
|
||||
APP_DK_GL=APP \u5173\u8054\u7279\u5f81
|
||||
dnat_complex_loop=DNAT IP\u590d\u7528\u56de\u6d41
|
||||
snat_policy=SNAT\u590d\u7528\u7b56\u7565
|
||||
dnat_policy=DNAT\u590d\u7528\u7b56\u7565
|
||||
@@ -1141,7 +1141,7 @@ protocol_identify=\u57FA\u7840\u534F\u8BAE
|
||||
MM_FILE_DIGEST=\u6587\u4ef6\u6458\u8981
|
||||
NTC_ASN_IP=ASN
|
||||
NTC_STREAMING_MEDIA_URL=URL
|
||||
NTC_VOIP_ACCOUNT=VoIP Account
|
||||
NTC_VOIP_ACCOUNT=VoIP \u8d26\u6237
|
||||
export_failed=\u5bfc\u51fa\u5931\u8d25
|
||||
user_manage=\u5ba2\u6237\u7aef\u8d26\u53f7\u7ba1\u7406
|
||||
ip_reuse_policy_object=IP\u590d\u7528\u7b56\u7565\u5bf9\u8c61
|
||||
@@ -1163,7 +1163,7 @@ log_user=\u64cd\u4f5c\u7528\u6237
|
||||
log_submission=\u8bf7\u6c42\u65b9\u6cd5
|
||||
log_ip=\u64cd\u4f5c\u8005IP
|
||||
log_exception_info=\u5f02\u5e38\u4fe1\u606f
|
||||
system_log=Log Management
|
||||
system_log=Log \u7ba1\u7406
|
||||
protected_ddos=\u4fdd\u62a4DDOS\u653b\u51fb
|
||||
usual_ddos=\u5e38\u7528DDOS\u653b\u51fb
|
||||
mail_address=\u90ae\u4ef6\u5730\u5740
|
||||
@@ -1194,17 +1194,17 @@ certificate_error=\u516c\u94a5\u3001\u79c1\u94a5\u6587\u4ef6\u683c\u5f0f\u9519\u
|
||||
public_file_error=\u516c\u94a5\u6587\u4ef6\u683c\u5f0f\u9519\u8bef
|
||||
keyframe_pic_required=\u5c1a\u672a\u9009\u62e9\u5173\u952e\u5e27\u56fe\u7247
|
||||
private_file_error=\u79c1\u94a5\u6587\u4ef6\u683c\u5f0f\u9519\u8bef
|
||||
ipv4_range_tip=IPv4 Range
|
||||
ipv4_subnet_tip=IPv4/Subnet Mask
|
||||
ipv6_range_tip=IPv6 Range
|
||||
ipv6_subnet_tip=IPv6/Subnet Mask
|
||||
example_tip=For Example
|
||||
rule_desc_tip=Rule description
|
||||
port_comment_tip=Port must between 0 and 65535
|
||||
port_mask_comment_tip=Port and port mask must between 0 and 65535
|
||||
multi_keywords_tip=Allow multiple keywords to be entered and multiple keywords to be replaced by line breaks.
|
||||
visible_keyword_tip=Single keyword is not allowed to enter invisible characters.
|
||||
single_keyword_tip=Only single key input is allowed.
|
||||
ipv4_range_tip=IPv4 \u8303\u56f4
|
||||
ipv4_subnet_tip=IPv4/\u5b50\u7f51\u63a9\u7801
|
||||
ipv6_range_tip=IPv6 \u8303\u56f4
|
||||
ipv6_subnet_tip=IPv6/\u5b50\u7f51\u63a9\u7801
|
||||
example_tip=\u4f8b\u5982
|
||||
rule_desc_tip=\u89c4\u5219\u63cf\u8ff0
|
||||
port_comment_tip=Port\u5fc5\u987b\u5728 0 \u548c 65535 \u4e4b\u95f4
|
||||
port_mask_comment_tip=Port \u548c port \u63a9\u7801 \u5fc5\u987b\u5728 0 \u548c 65535 \u4e4b\u95f4
|
||||
multi_keywords_tip=\u5141\u8bb8\u8f93\u5165\u591a\u4e2a\u5173\u952e\u5b57\uff0c\u5e76\u7528\u6362\u884c\u7b26\u66ff\u6362\u591a\u4e2a\u5173\u952e\u5b57
|
||||
visible_keyword_tip=\u5355\u4e2a\u5173\u952e\u5b57\u4e0d\u5141\u8bb8\u8f93\u5165\u4e0d\u53ef\u89c1\u7684\u5b57\u7b26
|
||||
single_keyword_tip=\u53ea\u5141\u8bb8\u8f93\u5165\u4e00\u4e2a\u952e
|
||||
ipv4_mask_range_tip=IP\u63a9\u7801\u5fc5\u987b\u4ecb\u4e8e16\u548c32\u4e4b\u95f4
|
||||
ipv6_mask_range_tip=IP\u63a9\u7801\u5fc5\u987b\u4ecb\u4e8e2\u548c128\u4e4b\u95f4
|
||||
letter_cancel_info=\u53d6\u6d88\u5ba1\u6838\u6765\u51fd
|
||||
@@ -1216,7 +1216,7 @@ has_invisible_char=%s\u5305\u542b\u4e0d\u53ef\u89c1\u5b57\u7b26
|
||||
not_multiple=%s\u4e0d\u652f\u6301\u591a\u4e2a\u5173\u952e\u5b57
|
||||
template_error=\u5bfc\u5165\u6a21\u677f\u9519\u8bef.
|
||||
asn_no=ASN
|
||||
query=Query
|
||||
query=\u67e5\u8be2
|
||||
cfg_operation_log=\u914d\u7f6e\u64cd\u4f5c\u65e5\u5fd7
|
||||
function_name=\u64cd\u4f5c\u6a21\u5757
|
||||
config_service_statistics=\u914d\u7f6e\u7edf\u8ba1
|
||||
@@ -1232,7 +1232,7 @@ default_value=\u9ed8\u8ba4\u503c
|
||||
intercept=\u62e6\u622a
|
||||
unkown_error=\u672a\u77e5\u9519\u8bef\u4fe1\u606f
|
||||
exception_info=\u5f02\u5e38\u4fe1\u606f
|
||||
no_tc_udp_port_comment_tip=Port must be 0
|
||||
no_tc_udp_port_comment_tip=Port \u5fc5\u987b\u4e3a 0
|
||||
website_advanced_reject=HTTP Advanced\u963b\u65ad
|
||||
website_advanced_monit=HTTP Advanced\u76d1\u6d4b
|
||||
snat_ip_reuse_adress_pool_loop=SNAT\u5730\u5740\u6c60\u7ba1\u7406\u56de\u6d41
|
||||
@@ -1322,10 +1322,10 @@ transfer_bytes=\u4f20\u8f93\u6570\u636e\u5b57\u8282
|
||||
user_info=\u7528\u6237\u4fe1\u606f
|
||||
user_list=\u7528\u6237\u5217\u8868
|
||||
equal_password=\u5bc6\u7801\u4e0d\u4e00\u81f4\uff01
|
||||
outgoing_unicast_packets=Upload Packets
|
||||
outgoing_unicast_total_size=Upload Byte
|
||||
incoming_unicast_packets=Download Packets
|
||||
incoming_unicast_total_size=Download Byte
|
||||
outgoing_unicast_packets=\u4e0a\u4f20\u6570\u636e\u5305\u6570
|
||||
outgoing_unicast_total_size=\u4e0a\u4f20\u6570\u636e\u5b57\u8282\u6570
|
||||
incoming_unicast_packets=\u4e0b\u8f7d\u6570\u636e\u5305\u6570
|
||||
incoming_unicast_total_size=\u4e0b\u8f7d\u6570\u636e\u5b57\u8282\u6570
|
||||
address_pool=\u5730\u5740\u6c60\u540d\u79f0
|
||||
ip_total=IP\u603b\u6570
|
||||
available_ip_total=\u53ef\u7528IP\u6570
|
||||
@@ -1358,17 +1358,17 @@ website_keyword_monit=\u5173\u952e\u5b57\u76d1\u6d4b
|
||||
website_keyword_reject=\u5173\u952e\u5b57\u963b\u65ad
|
||||
radius_log=Radius \u65e5\u5fd7
|
||||
message_type=Code
|
||||
nas_ip=NAS IP Address
|
||||
framed_ip=Framed IP Address
|
||||
log_user_name=User Name
|
||||
nas_ip=NAS IP \u5730\u5740
|
||||
framed_ip=Framed IP \u5730\u5740
|
||||
log_user_name=\u7528\u6237\u540d
|
||||
av_tips=\u5bf9\u4e8e\u97f3\u89c6\u9891\u7f16\u7801\u7684\u7d22\u5f15\u4fe1\u606f\u5728\u97f3\u89c6\u9891\u6587\u4ef6\u5c3e\u90e8\u7684\u60c5\u51b5\uff0c\u672c\u7cfb\u7edf\u4e0d\u4e88\u652f\u6301\uff0c\u5bf9\u4e8e\u5206\u8fa8\u7387\u5927\u4e8e4\u5146\u7684\u89c6\u9891\uff0c\u672c\u7cfb\u7edf\u4e0d\u4e88\u652f\u6301
|
||||
asn_ip_group_delete=(\u8be5ASN\u7ec4\u4e0b\u7684IP\u914d\u7f6e\u4e5f\u4f1a\u88ab\u5220\u9664)
|
||||
keyword_log_tips=\u6e05\u6d17\u540e\u7f51\u9875\u5173\u952e\u5b57\u65e5\u5fd7\uff0c\u7f51\u9875\u5173\u952e\u5b57\u7ba1\u63a7\u72b6\u51b5\u4e0d\u7406\u60f3\u65f6\uff0c\u53ef\u5c06\u6e05\u6d17\u540e\u5efa\u8bae\u7ed9\u51fa\u7684\u547d\u4e2d\u5173\u952e\u5b57\u7f51\u9875\u914d\u7f6e\u4e3aURL\u7ba1\u63a7
|
||||
conn_record=\u901a\u8054\u5173\u7cfb
|
||||
bps=Gbps
|
||||
bps_percent=Bps Percent
|
||||
bps_percent=Bps \u767e\u5206\u6bd4
|
||||
pps=PPS
|
||||
pps_percent=pps Percent
|
||||
pps_percent=pps \u767e\u5206\u6bd4
|
||||
spoofing_ip_object=Spoofing IP Pool
|
||||
spoofing_ip_policy=IP Spoofing
|
||||
action_spoofing=Spoofing
|
||||
@@ -1376,32 +1376,32 @@ spoofing=spoofing
|
||||
service=Service
|
||||
s_asn=SASN
|
||||
d_asn=DASN
|
||||
asn_conn_report=ASN Statistics
|
||||
https_url_report=Http(s) URL Statistics
|
||||
asn_conn_report=ASN\u7edf\u8ba1
|
||||
https_url_report=Http(s) URL\u7edf\u8ba1
|
||||
url=URL
|
||||
sum=SUM
|
||||
url_count=URL Count
|
||||
ip_range_report=IN/EX Host Identity
|
||||
sum=\u603b\u91cf
|
||||
url_count=URL \u6570\u91cf
|
||||
ip_range_report=IP\u8303\u56f4\u7edf\u8ba1
|
||||
ip_start=Start IP
|
||||
ip_end=End IP
|
||||
ip_start_num=IP Start Num
|
||||
ip_end_num=IP End Num
|
||||
ip_start_num=IP Start \u6570\u91cf
|
||||
ip_end_num=IP End \u6570\u91cf
|
||||
ip_sub=IP Subnet
|
||||
start_ip=Start IP
|
||||
end_ip=End IP
|
||||
start_ip=\u6e90 IP
|
||||
end_ip=\u76ee\u7684 IP
|
||||
action_detail=\u52a8\u4f5c\u8be6\u60c5
|
||||
pass=Pass
|
||||
live_link=Live
|
||||
area_type=Area Type
|
||||
area_type=\u5730\u57df\u7c7b\u578b
|
||||
dns_group_manage=DNS\u5206\u7ec4\u7ba1\u7406
|
||||
asn_group_manage=ASN\u5206\u7ec4\u7ba1\u7406
|
||||
ip_group_manage=IP\u5206\u7ec4\u7ba1\u7406
|
||||
ip_spoofing_group_manage=IP Spoofing\u5206\u7ec4\u7ba1\u7406
|
||||
min_tcp=Min
|
||||
max_tcp=Max
|
||||
min_tcp=\u6700\u5c0f
|
||||
max_tcp=\u6700\u5927
|
||||
APP_TCP_SESSION_BYTE=Session
|
||||
ip_count=Unique IP Count
|
||||
counnection_count=Connection Count
|
||||
ip_count=Unique IP \u6570\u91cf
|
||||
counnection_count=Connection \u6570\u91cf
|
||||
asn=ASN
|
||||
Unique_num=Unique
|
||||
ip=IP
|
||||
@@ -1410,8 +1410,8 @@ unique_num=Unique
|
||||
import_limit_is=\u5bfc\u5165\u9650\u5236\u6700\u5927\u6761\u6570
|
||||
upload_limit_is=\u6587\u4ef6\u4e0a\u4f20\u4e2a\u6570\u9650\u5236
|
||||
count=\u6570\u91cf
|
||||
do_blacklist=Blacklist Option
|
||||
l3_header_error=Only four attribute values are allowed to be entered at most
|
||||
do_blacklist=\u672c\u5730\u9ed1\u540d\u5355
|
||||
l3_header_error=\u6700\u591a\u53ea\u5141\u8bb8\u8f93\u5165\u56db\u4e2a\u5c5e\u6027\u503c
|
||||
IP_HEADER=IP Header
|
||||
ICMP_HEADER=ICMP Header
|
||||
offset_expression=Offset Expression
|
||||
@@ -1486,7 +1486,7 @@ GByte=GByte
|
||||
interval=\u95f4\u9694
|
||||
month=\u6708
|
||||
day=\u65e5
|
||||
week=weeks
|
||||
week=\u5468
|
||||
startTime=\u5f00\u59cb\u65f6\u95f4
|
||||
endTime=\u7ed3\u675f\u65f6\u95f4
|
||||
single=\u5355\u6b21
|
||||
@@ -1496,8 +1496,8 @@ everyMonth=\u6bcf\u6708
|
||||
on=On
|
||||
validate_error=\u9a8c\u8bc1\u65f6\u53d1\u751f\u610f\u5916\u9519\u8bef
|
||||
is_schduler=\u5b9a\u65f6\u5668
|
||||
v4_num=IPv4 Number
|
||||
v6_num=IPv6 Number
|
||||
v4_num=IPv4 \u6570\u91cf
|
||||
v6_num=IPv6 \u6570\u91cf
|
||||
always=\u957f\u671f
|
||||
schedule=Scheduler
|
||||
cancel_all=\u53d6\u6d88\u6240\u6709\u914d\u7f6e!
|
||||
@@ -1516,15 +1516,16 @@ src_ip_pattern=\u6E90IP\u683C\u5F0F
|
||||
dest_ip_pattern=\u76EE\u7684IP\u683C\u5F0F
|
||||
src_port_pattern=\u6E90\u7AEF\u53E3\u683C\u5F0F
|
||||
dest_port_pattern=\u76EE\u7684\u7AEF\u53E3\u683C\u5F0F
|
||||
url_group_configuration=URL Group Configuration
|
||||
dns_keyword_group_configuration=DNS Keyword Group Configuration
|
||||
app_ip_correlation=APP IP Correlation
|
||||
ip_group=IP Group
|
||||
common_ip_config=Common IP Config
|
||||
common_group=Common Group
|
||||
dns_keyword_group_manage=DNS Keyword Group Manage
|
||||
old_asn_group_manage=ASN Group
|
||||
url_group_manage=URL Group Manage
|
||||
url_group_configuration=URL \u5206\u7ec4\u914d\u7f6e
|
||||
dns_keyword_group_configuration=DNS \u5173\u952e\u5b57\u5206\u7ec4\u914d\u7f6e
|
||||
app_ip_correlation=APP IP \u901a\u8054
|
||||
ip_group=IP \u5206\u7ec4
|
||||
common_ip_config=Common IP \u914d\u7f6e
|
||||
common_group=Common \u5206\u7ec4
|
||||
dns_keyword_group_manage=DNS \u5173\u952e\u5b57\u5206\u7ec4\u7ba1\u7406
|
||||
old_asn_group_manage=ASN \u5206\u7ec4
|
||||
url_group_manage=URL \u5206\u7ec4 \u7ba1\u7406
|
||||
range_cross=\u6E90IP\u4E0E\u76EE\u7684IP\u8303\u56F4\u6709\u4EA4\u53C9
|
||||
app_ip_correlation=APP\u5173\u8054\u7279\u5F81IP\u914D\u7F6E
|
||||
public_private_file_error=\u516C\u79C1\u94A5\u8BC1\u4E66\u4E0D\u5339\u914D
|
||||
public_private_file_error=\u516C\u79C1\u94A5\u8BC1\u4E66\u4E0D\u5339\u914D
|
||||
https_url_format_tip=URL(http[s]://xxx.xx)
|
||||
@@ -182,8 +182,8 @@ ntcTotalReport=v1/ntcTotalReport
|
||||
trafficIpActiveFiveMinute=v1/trafficIpActiveFiveMinute
|
||||
trafficIpActiveOneHour=v1/trafficIpActiveOneHour
|
||||
|
||||
client_connect_timeout=300000
|
||||
client_read_timeout=300000
|
||||
client_connect_timeout=500000
|
||||
client_read_timeout=500000
|
||||
log_time_interval=300000
|
||||
logsearch_menu_id=152
|
||||
#use elasticsearch or not#
|
||||
@@ -485,7 +485,7 @@ ntcCollectRadiusLog=v1/ntcCollectRadiusLogs
|
||||
ntcConnRecordLog=v1/ntcConnRecordLogs
|
||||
ntcConnRecordPercent=v1/ntcConnRecordPercent
|
||||
#\u5bfc\u51fa\u6700\u5927\u6761\u6570
|
||||
maxLogExportSize=2000
|
||||
maxLogExportSize=20000
|
||||
pxy_crtl_subscribe_id_region=PXY_CTRL_SUBSCRIBE_ID
|
||||
ntc_subscribe_id_region=NTC_SUBSCRIBE_ID
|
||||
ntcAsnRecord=v1/ntcAsnRecord
|
||||
@@ -519,4 +519,5 @@ trafficAppBpsTrend=v1/trafficAppBpsTrend
|
||||
#vpn cgi error info
|
||||
cgiError=cannot connect to vpnserver,Connection to the server has failed,Specified object can not be found,Too many users,User already exists,Too many created users,The destination server is not a VPN server,The connection has been interrupted,
|
||||
#\u83b7\u53d6\u670d\u52a1\u914d\u7f6e\u603b\u91cf\u63a5\u53e3
|
||||
getConfigByService=v1/getConfigByService
|
||||
getConfigByService=v1/getConfigByService
|
||||
delAllCfg=v1/delAllConfig
|
||||
612
src/main/resources/sql/deploymentsql/20190508help_document.sql
Normal file
612
src/main/resources/sql/deploymentsql/20190508help_document.sql
Normal file
@@ -0,0 +1,612 @@
|
||||
-- ----------------------------
|
||||
-- Table structure for help_document
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `help_document`;
|
||||
CREATE TABLE `help_document` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`file_name` varchar(100) DEFAULT '',
|
||||
`file_comment` text DEFAULT NULL,
|
||||
`back_file_comment` text DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `INDEX_FILE_NAME` (`file_name`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of help_document
|
||||
-- ----------------------------
|
||||
INSERT INTO `help_document` VALUES ('1', 'cache_policy.md', 'Cache Policy
|
||||
|
||||
On National Proxy System, Individual Cache policy rules determine
|
||||
whether to cache or not based on traffic attributes, such as URL and
|
||||
Cookies. For cache action, the optimization parameters are:
|
||||
|
||||
*A Cache key* - is a unique string that lets the National Proxy System
|
||||
look for web content when requests hit them. It<49><74>s made up of a hostname,
|
||||
path, and cookie parts. By default, the Proxy use the entire URL as the
|
||||
cache key. Selecting the correct cache key will ensure maximum cache
|
||||
footprint and increase cache hits.
|
||||
|
||||
*Ignore Query String in URL* - in case the query strings doesn<73><6E>t
|
||||
actually indicate that the object need to be different then you could
|
||||
EXCLUDE them from the cache key. For example, after ignoring <20><>sqp<71><70> and
|
||||
<EFBFBD><EFBFBD>rs<EFBFBD><EFBFBD> of URL: <20><>https://example.com/pic.jpg?~~sqp=UAAI&rs=AOn4~~<7E><>.
|
||||
|
||||
*Include Cookie Values* - in case the server send different content for
|
||||
the same URL based on the cookie value, you can include that cookie
|
||||
value as a part of cache key. For example, the server may set a cookie
|
||||
at the client called "prefLang=ru" to record user preferred language,
|
||||
you could add "prefLang" to distinguish different web content.
|
||||
|
||||
*Disable Revalidate* - is an ON-OFF switch. The pragma-no-cache header
|
||||
in a client<6E><74>s request causes the proxy to re-fetch the entire object
|
||||
from the original server, even if the cached copy of the object is
|
||||
fresh. By default this option is switch OFF, which means a client<6E><74>s
|
||||
non-conditional request results in a conditional GET request sent to the
|
||||
original server if the object is already in cache. The conditional
|
||||
request allows the original server to return the 304 Not Modified
|
||||
response, if the content in cache is still fresh. Thereby, the
|
||||
server-side bandwidth and latency consumed are lesser as the full
|
||||
content is not retrieved again from the original server.
|
||||
|
||||
*Cache Dynamic Content* - is an ON-OFF switch. A URL is considered
|
||||
dynamic if it ends in <20><>.asp(x)<29><> or contains a question mark (?), a
|
||||
semicolon (;), or <20><>cgi<67><69>. *Ignore Query String* overrides this option
|
||||
(switch on).
|
||||
|
||||
*Cache Cookied Content* - is an ON-OFF switch. By default, the Proxy
|
||||
does NOT cache cookied content of any type. If this option is switch on,
|
||||
the system cache all cookied content except HTML.
|
||||
|
||||
*Ignore Request no-cache Headers* - is an ON-OFF switch. By default, the
|
||||
proxy strictly observes client Cache-Control: no-cache directives. As
|
||||
known as:
|
||||
|
||||
i. Authorization
|
||||
|
||||
ii. WWW-Authenticate
|
||||
|
||||
iii. Cache-Control: no-store
|
||||
|
||||
iv. Cache-Control: no-cache
|
||||
|
||||
If a requested object contains a no-cache header, then proxy forwards
|
||||
the request to the origin server even if it has a fresh copy in cache.
|
||||
You can configure proxy to ignore client no-cache directives such that
|
||||
it ignores no-cache headers from client requests and serves the object
|
||||
from its cache.
|
||||
|
||||
*Ignore Response no-cache Headers* - is an ON-OFF switch. By default, a
|
||||
response from an origin server with a no-cache header is not stored in
|
||||
the cache. As known as:
|
||||
|
||||
i. Cache-Control: no-store
|
||||
|
||||
ii. Cache-Control: private
|
||||
|
||||
iii. Set-Cookie
|
||||
|
||||
iv. Cache-Control: no-cache
|
||||
|
||||
v. WWW-Authenticate
|
||||
|
||||
vi. Expires header with a value of 0 (zero) or a past date.
|
||||
|
||||
If you configure proxy to ignore no-cache headers, then proxy also
|
||||
ignores no-store headers. The default behavior of observing no-cache
|
||||
directives is appropriate in most cases.
|
||||
|
||||
*Forcing Object Caching* - is an ON-OFF switch. You can force Proxy to
|
||||
cache specific URLs (including dynamic URLs) for a specified duration,
|
||||
regardless of Cache-Control response headers.
|
||||
|
||||
*Minimum Use* - sets the number of times an item must be requested by
|
||||
clients before Proxy caches it. This is useful if the cache is
|
||||
constantly filling up, as it ensures that only the most frequently
|
||||
accessed items are added to the cache. By default, Proxy cache object at
|
||||
its first appearance. The counter resets in every 30 minutes. Note that
|
||||
the requests is counted independently on each processing unit.
|
||||
|
||||
*Max Cache Object Size* - sets the upper limit of an object size, larger
|
||||
object will not be cached. By default, Proxy does not cache object
|
||||
larger than 1 GB.
|
||||
|
||||
*Cache Pinning Time* - configures Proxy to keep certain objects in the
|
||||
cache for a specified time. You can use this option to ensure that the
|
||||
most popular objects are in cache when needed and to prevent cache
|
||||
manager from deleting important objects. Proxy observes Cache-Control
|
||||
headers and pins an object in the cache only if it is indeed cacheable.
|
||||
|
||||
*Max Cache Size* - sets the upper limit of the size of storage for a
|
||||
policy. By default, Proxy uses all available disk space. When the cache
|
||||
size reaches the limit, the cache manager removes the files that were
|
||||
least recently used to bring the cache size back under the limit.
|
||||
|
||||
*Inactive Time* - specifies how long an item can remain in the cache
|
||||
without being accessed. A file that has not been requested for this time
|
||||
is automatically deleted from the cache by the cache manager, regardless
|
||||
of whether or not it has expired.
|
||||
|
||||
', null);
|
||||
INSERT INTO `help_document` VALUES ('2', 'control_policy.md', 'Control Policy
|
||||
|
||||
On National Proxy System, Individual Control policy rules determine
|
||||
whether to allow, block, redirect or replace a session based on traffic
|
||||
attributes, such as URL, request header fields, request body keywords,
|
||||
response header fields, response body keywords, IP address, Subscribe ID
|
||||
and their combination. You could specify these attributes in the submenu
|
||||
of *Control Policy*.
|
||||
|
||||
The attributes are detailed in following context:
|
||||
|
||||
*URL* - From proxy<78><79>s perspective, a HTTP URL consists of a hierarchical
|
||||
sequence of three components: URL = hostname/path[?query] . The URL path
|
||||
name can also be specified by the user in the local writing system. If
|
||||
not already encoded, it is converted to UTF-8, and any characters not
|
||||
part of the basic URL character set are escaped as hexadecimal using
|
||||
percent-encoding; for example, search keywords <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܧڧۡ<DAA7> in Google
|
||||
produces URL<52><4C>
|
||||
|
||||
https://www.google.com/search?q=%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9
|
||||
|
||||
To perform policy action on above URL, you could input the whole URL in
|
||||
the input box. Or, you could input original keywords and let the Proxy
|
||||
do the decoding, e.g. <20><>google.com/search<63><68> & <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܧڧۡ<DAA7>. Note that the
|
||||
scheme string MUST be excluded from the URL, it<69><74>s <20><>https://<2F><> in this
|
||||
case.
|
||||
|
||||
NOTE Maximum HTTP/HTTPS URL length is 1023 characters
|
||||
|
||||
*Request Header* - is used to set conditions on request header fields.
|
||||
Header fields are colon-separated key-value pairs in clear-text string
|
||||
format, terminated by a carriage return (CR) and line feed (LF)
|
||||
character sequence. For example, <20><>user-agent: Mozilla/5.0 (Windows NT
|
||||
10.0; Win64; x64)<29><> is a header filed in request header. The *Matching
|
||||
District* is used to configure the field<6C><64>s key, if the key was
|
||||
presented, the Proxy will search in the value for *Keywords*.
|
||||
|
||||
*Response Header* - is used to set conditions on response header fields.
|
||||
Its configuration is similar to *Request Header*.
|
||||
|
||||
*Request Body* - is used to set conditions on request<73><74>s body message.
|
||||
The Proxy searches the pre-configured *Keywords* in it. You can
|
||||
configure non-ASCII or non-utf8 keywords by turn on HEX.
|
||||
|
||||
*Response Body* - is used to set conditions on response<73><65>s body message.
|
||||
Its configuration is similar to *Request Body*.
|
||||
|
||||
You could select one of the five actions for above attributes, as known
|
||||
as:
|
||||
|
||||
*Monitor* - the Proxy produce a log to record matched HTTP session
|
||||
information.
|
||||
|
||||
*Block* - the Proxy terminate matched HTTP session with an error page
|
||||
and produce a log. You MUST specify a *Response Code* and a *Response
|
||||
Content* to generate an error page.
|
||||
|
||||
*Redirect*<2A><>the Proxy redirect matched HTTP session to a predefined URL.
|
||||
Since redirection need to be performed before delivering response to
|
||||
client, condition of response body is not applicable in this action. You
|
||||
MUST configure the redirect response via *Response Code* and *Response
|
||||
URL*. The Response URL MUST start with a scheme (http:// or https://).
|
||||
You SHOULD NOT select **301** as *Response Code* unless you exactly know
|
||||
what you are doing. This action produces a log.
|
||||
|
||||
*Replace*<2A><>the Proxy *Searches in* a given HTTP part to *Find* a given
|
||||
string, and *Replace* any matches *with* another given string. If no
|
||||
match was found, the session remained untouched. For performance
|
||||
concerns, condition of request body and response body is not available
|
||||
in this action. For example, you can configure the Proxy to search in
|
||||
the response body of URL <20><>www.example.com/index.html<6D><6C>, find every
|
||||
<EFBFBD><EFBFBD>string1<EFBFBD><EFBFBD> and replace with <20><>string2<67><32>. This action produces a log.
|
||||
|
||||
*Whitelist*<2A><>the Proxy pass-through the matched sessions and produce no
|
||||
log.
|
||||
|
||||
National Proxy will enforce policy check on traffic attributes, policies
|
||||
have been created that there will be some that overlap or are subsets of
|
||||
the parameters that the policies use to determine which policy should be
|
||||
matched against the traffic. The execute order of policy is <20><>first
|
||||
match, first served<65><64>. In case of an incoming traffic attribute matches
|
||||
one more policy, the priority order is *Whitelist \> Block \>
|
||||
Redirect \> Replace \> Monitor*, action with higher priority overrides
|
||||
others. If multiple policies of same action are matched, policy with
|
||||
bigger ID number is precedence.
|
||||
', null);
|
||||
INSERT INTO `help_document` VALUES ('3', 'intercept_policy.md', 'Intercept Policy
|
||||
|
||||
An Intercept policy rule allows you to define traffic that you want the
|
||||
National Proxy to decrypt and to define traffic that you choose to
|
||||
exclude from decryption because the traffic is personal or because of
|
||||
local regulations. A connection is intercepted/optimized based on
|
||||
traffic attributes, such as IP address, domain name (via SNI matching)
|
||||
and Subscribe ID. You could specify these attributes in *IP Intercept*
|
||||
and *Domain Intercept*.
|
||||
|
||||
Both *IP intercept* and *Domain Intercept* are subject two actions:
|
||||
|
||||
*Intercept*<2A><>the National Proxy System intercepts network traffic for
|
||||
further control policy and cache policy checking. Interception requires
|
||||
certificates to establish the National Proxy as a trusted third party.
|
||||
National Proxy deployed in transparent mode, which means the users don`t
|
||||
have any proxy settings in their browser. When a connection is set to
|
||||
intercept, the proxy terminates the connection and initiates a new
|
||||
connection between client and server. If the connection is SSL
|
||||
encrypted, the original certificate is replaced with a substitute one.
|
||||
|
||||
*Bypass*<2A><>the Proxy passes through the network connection without apply
|
||||
an optimization or policy checking. You can also use bypass action when
|
||||
excluding servers from SSL decryption for technical reasons (the site
|
||||
breaks decryption for reasons such as certificate pinning, unsupported
|
||||
ciphers, or mutual authentication). Apple Store, WhatsApp, Telegram,
|
||||
Microsoft Windows Update are common SSL pinning application. In case of
|
||||
traffic matches one more policy, bypass overrides intercept.
|
||||
|
||||
When *Intercept Related Domains* is enabled, domains that share one
|
||||
certificates with the specified domain are considered as the same. For
|
||||
example, if the intercept facebook.com with I*ntercept Related Domain*
|
||||
option, then \*.xx.fbcdn.net, fb.com, .messenger.com and etc. are also
|
||||
intercepted. There may be side effects that intercept undesired websites
|
||||
that share one certificate. For example, two websites hosted in a same
|
||||
CDN provider (Content Delivery Network) or different products of one
|
||||
company.
|
||||
|
||||
*Key ring* determines which certificate will be used to generate
|
||||
substitute certificate. You could configure key ring through *Proxy
|
||||
Policy Object* page. If no key ring is specified, proxy will use the
|
||||
default one.
|
||||
|
||||
Intercept policy produces no log. You can find out if the interception
|
||||
is successful by checking if the certificate is issued by your
|
||||
pre-configured Root CA. You need a PC which traffic has already directed
|
||||
to the Proxy, and a web browser to test the policy. For Chrome and
|
||||
Microsoft Internet Explorer, you could click the lock icon on the
|
||||
address bar to view certificate. For Firefox, after you clicking the
|
||||
lock icon, click <20><>\><3E><> button to show connection details, click <20><>more
|
||||
information<EFBFBD><EFBFBD>, and then click <20><>view certificate<74><65>. If the browser warning
|
||||
that the connection is not secure, one possible reason is you haven<65><6E>t
|
||||
install/trust the root certificate yet.
|
||||
|
||||
**Note:** You should exercise caution because web applications may not
|
||||
cooperate with SSL interception. Reasons that sites break decryption
|
||||
technically include pinned certificates, mutual authentication,
|
||||
incomplete certificate chains, unsupported ciphers, and non-standard SSL
|
||||
implementation. If a site uses an incomplete certificate chain, the
|
||||
National Proxy doesn<73><6E>t automatically fix the chain as a browser would.
|
||||
You need to manually download the missing sub-CA certificates and load
|
||||
and deploy them onto the proxy.', null);
|
||||
INSERT INTO `help_document` VALUES ('4', 'proxy_policy_object.md', 'Proxy Policy Object
|
||||
|
||||
A policy object is a single object or a collective unit that groups
|
||||
discrete identities such as IP addresses, URLs, applications, or users.
|
||||
With policy objects that are a collective unit, you can reference the
|
||||
object in policy instead of manually selecting multiple objects one at a
|
||||
time. Typically, when creating a policy object, you group objects that
|
||||
require similar permissions in policy.
|
||||
|
||||
1. Key Ring
|
||||
|
||||
On National Proxy System, Key Ring is a pair of private key and public
|
||||
certificate. You can also import a certificate chain containing multiple
|
||||
certificates. Key Ring is a policy object, you can reference it in
|
||||
*Intercept Policy*.
|
||||
|
||||
There are three *Certificate Type:*
|
||||
|
||||
*End-entity Certificate*<2A><> is used for web servers to identify
|
||||
themselves. The *Public Key File* MUST be .p12 format that contains
|
||||
entire certificate chain. The Private Key File could be .pem, .key or
|
||||
.p12 format. This certificate type is not applicable to *Domain
|
||||
Intercept* for it cannot be used to sign other certificates. *Expire
|
||||
After* parameter is also not applicable to end-entity certificate for
|
||||
the same reason.
|
||||
|
||||
*Intermedia Certificate* - is used to sign other certificates. An
|
||||
intermediate certificate must be signed by another intermediate
|
||||
certificate, or a root certificate. The *Public Key File* MUST be .p12
|
||||
format that contains entire certificate chain. The *Expire After*
|
||||
parameter indicates the expiration of the substitute certificate that
|
||||
was issued by this intermedia certificate.
|
||||
|
||||
*Root Certificate* - is used to sign other certificates. The *Public Key
|
||||
File* could be .der, .cer, .crt or .pem format. The *Expire After*
|
||||
parameter has the same meaning as Intermedia Certificate.
|
||||
|
||||
*CRL* - or Certificate Revocation List, is a list of digital
|
||||
certificates that have been revoked by the issuing certificate authority
|
||||
(CA) before their scheduled expiration date and should no longer be
|
||||
trusted. On Key Ring settings, CRL is an HTTP URL that point to a valid
|
||||
.crl file. Invalid URL or .crl file may produce certificate warnings on
|
||||
some browser, i.e. Internet Explorer 11.
|
||||
|
||||
Specification of certificate formats:
|
||||
|
||||
*.pem* <20>C (Privacy-enhanced Electronic Mail) Base64 encoded DER
|
||||
certificate, enclosed between "-----BEGIN CERTIFICATE-----" and
|
||||
"-----END CERTIFICATE-----"
|
||||
|
||||
*.cer, .crt, .der* <20>C usually in binary DER form, but Base64-encoded
|
||||
certificates are common too (see .pem above)
|
||||
|
||||
*.p12* <20>C PKCS\#12, may contain certificate(s) (public) and private keys
|
||||
(without password protected)
|
||||
|
||||
1. Trusted Certificate
|
||||
|
||||
National Proxy System has a build-in trusted certificate authorities
|
||||
list. When the original certificate is issued by a certificate authority
|
||||
that not in the list, the proxy will issued the substitute certificate
|
||||
with an untrusted root certificate, and so consequently, the browser
|
||||
could identify unsecure connections.
|
||||
|
||||
You can add a custom certificate authority to the trusted certificate
|
||||
authorities of the system.
|
||||
|
||||
The certificate MUST be PEM format.
|
||||
|
||||
Following are the National Proxy System<65><6D>s default trusted certificate
|
||||
authorities:
|
||||
|
||||
ACCVRAIZ1
|
||||
|
||||
Actalis Authentication Root CA
|
||||
|
||||
AddTrust External CA Root
|
||||
|
||||
AffirmTrust Commercial
|
||||
|
||||
AffirmTrust Networking
|
||||
|
||||
AffirmTrust Premium
|
||||
|
||||
AffirmTrust Premium ECC
|
||||
|
||||
Amazon Root CA 1
|
||||
|
||||
Amazon Root CA 2
|
||||
|
||||
Amazon Root CA 3
|
||||
|
||||
Amazon Root CA 4
|
||||
|
||||
Atos TrustedRoot 2011
|
||||
|
||||
Autoridad de Certificacion Firmaprofesional CIF A62634068
|
||||
|
||||
Baltimore CyberTrust Root
|
||||
|
||||
Buypass Class 2 Root CA
|
||||
|
||||
Buypass Class 3 Root CA
|
||||
|
||||
CA Disig Root R2
|
||||
|
||||
CFCA EV ROOT
|
||||
|
||||
COMODO Certification Authority
|
||||
|
||||
COMODO ECC Certification Authority
|
||||
|
||||
COMODO RSA Certification Authority
|
||||
|
||||
Certigna
|
||||
|
||||
Certinomis - Root CA
|
||||
|
||||
Class 2 Primary CA
|
||||
|
||||
Certplus Root CA G1
|
||||
|
||||
Certplus Root CA G2
|
||||
|
||||
Certum Trusted Network CA
|
||||
|
||||
Certum Trusted Network CA 2
|
||||
|
||||
Chambers of Commerce Root - 2008
|
||||
|
||||
AAA Certificate Services
|
||||
|
||||
Cybertrust Global Root
|
||||
|
||||
D-TRUST Root Class 3 CA 2 2009
|
||||
|
||||
D-TRUST Root Class 3 CA 2 EV 2009
|
||||
|
||||
DST Root CA X3
|
||||
|
||||
Deutsche Telekom Root CA 2
|
||||
|
||||
DigiCert Assured ID Root CA
|
||||
|
||||
DigiCert Assured ID Root G2
|
||||
|
||||
DigiCert Assured ID Root G3
|
||||
|
||||
DigiCert Global Root CA
|
||||
|
||||
DigiCert Global Root G2
|
||||
|
||||
DigiCert Global Root G3
|
||||
|
||||
DigiCert High Assurance EV Root CA
|
||||
|
||||
DigiCert Trusted Root G4
|
||||
|
||||
E-Tugra Certification Authority
|
||||
|
||||
EC-ACC
|
||||
|
||||
EE Certification Centre Root CA
|
||||
|
||||
Entrust.net Certification Authority (2048)
|
||||
|
||||
Entrust Root Certification Authority
|
||||
|
||||
Entrust Root Certification Authority - EC1
|
||||
|
||||
Entrust Root Certification Authority - G2
|
||||
|
||||
GDCA TrustAUTH R5 ROOT
|
||||
|
||||
GeoTrust Global CA
|
||||
|
||||
GeoTrust Primary Certification Authority
|
||||
|
||||
GeoTrust Primary Certification Authority - G2
|
||||
|
||||
GeoTrust Primary Certification Authority - G3
|
||||
|
||||
GeoTrust Universal CA
|
||||
|
||||
GeoTrust Universal CA 2
|
||||
|
||||
GlobalSign
|
||||
|
||||
GlobalSign
|
||||
|
||||
GlobalSign Root CA
|
||||
|
||||
GlobalSign
|
||||
|
||||
GlobalSign
|
||||
|
||||
Global Chambersign Root - 2008
|
||||
|
||||
Go Daddy Root Certificate Authority - G2
|
||||
|
||||
Hellenic Academic and Research Institutions ECC RootCA 2015
|
||||
|
||||
Hellenic Academic and Research Institutions RootCA 2011
|
||||
|
||||
Hellenic Academic and Research Institutions RootCA 2015
|
||||
|
||||
Hongkong Post Root CA 1
|
||||
|
||||
ISRG Root X1
|
||||
|
||||
IdenTrust Commercial Root CA 1
|
||||
|
||||
IdenTrust Public Sector Root CA 1
|
||||
|
||||
Izenpe.com
|
||||
|
||||
LuxTrust Global Root 2
|
||||
|
||||
Microsec e-Szigno Root CA 2009
|
||||
|
||||
NetLock Arany (Class Gold) F?tan<61><6E>s<EFBFBD><73>tv<74><76>ny
|
||||
|
||||
Network Solutions Certificate Authority
|
||||
|
||||
OISTE WISeKey Global Root GA CA
|
||||
|
||||
OISTE WISeKey Global Root GB CA
|
||||
|
||||
OpenTrust Root CA G1
|
||||
|
||||
OpenTrust Root CA G2
|
||||
|
||||
OpenTrust Root CA G3
|
||||
|
||||
QuoVadis Root Certification Authority
|
||||
|
||||
QuoVadis Root CA 1 G3
|
||||
|
||||
QuoVadis Root CA 2
|
||||
|
||||
QuoVadis Root CA 2 G3
|
||||
|
||||
QuoVadis Root CA 3
|
||||
|
||||
QuoVadis Root CA 3 G3
|
||||
|
||||
SSL.com EV Root Certification Authority ECC
|
||||
|
||||
SSL.com EV Root Certification Authority RSA R2
|
||||
|
||||
SSL.com Root Certification Authority ECC
|
||||
|
||||
SSL.com Root Certification Authority RSA
|
||||
|
||||
SZAFIR ROOT CA2
|
||||
|
||||
SecureSign RootCA11
|
||||
|
||||
SecureTrust CA
|
||||
|
||||
Secure Global CA
|
||||
|
||||
Sonera Class2 CA
|
||||
|
||||
Staat der Nederlanden EV Root CA
|
||||
|
||||
Staat der Nederlanden Root CA - G2
|
||||
|
||||
Staat der Nederlanden Root CA - G3
|
||||
|
||||
Starfield Root Certificate Authority - G2
|
||||
|
||||
Starfield Services Root Certificate Authority - G2
|
||||
|
||||
SwissSign Gold CA - G2
|
||||
|
||||
SwissSign Silver CA - G2
|
||||
|
||||
T-TeleSec GlobalRoot Class 2
|
||||
|
||||
T-TeleSec GlobalRoot Class 3
|
||||
|
||||
TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1
|
||||
|
||||
TWCA Global Root CA
|
||||
|
||||
TWCA Root Certification Authority
|
||||
|
||||
TeliaSonera Root CA v1
|
||||
|
||||
TrustCor ECA-1
|
||||
|
||||
TrustCor RootCert CA-1
|
||||
|
||||
TrustCor RootCert CA-2
|
||||
|
||||
T<EFBFBD><EFBFBD>RKTRUST Elektronik Sertifika Hizmet Sa?lay?c?s? H5
|
||||
|
||||
USERTrust ECC Certification Authority
|
||||
|
||||
USERTrust RSA Certification Authority
|
||||
|
||||
VeriSign Class 3 Public Primary Certification Authority - G4
|
||||
|
||||
VeriSign Class 3 Public Primary Certification Authority - G5
|
||||
|
||||
VeriSign Universal Root Certification Authority
|
||||
|
||||
VeriSign Class 3 Public Primary Certification Authority - G3
|
||||
|
||||
Visa eCommerce Root
|
||||
|
||||
XRamp Global Certification Authority
|
||||
|
||||
thawte Primary Root CA
|
||||
|
||||
thawte Primary Root CA - G2
|
||||
|
||||
thawte Primary Root CA - G3
|
||||
|
||||
Microsoft Root Authority
|
||||
|
||||
Microsoft Root Certificate Authority
|
||||
|
||||
Microsoft Root Certificate Authority 2010
|
||||
|
||||
Microsoft Root Certificate Authority 2011
|
||||
|
||||
Baltimore CyberTrust Root
|
||||
|
||||
', null);
|
||||
|
||||
commit;
|
||||
|
||||
|
||||
191
src/main/resources/sql/deploymentsql/20190508other_sql.sql
Normal file
191
src/main/resources/sql/deploymentsql/20190508other_sql.sql
Normal file
@@ -0,0 +1,191 @@
|
||||
CREATE TABLE `inner_protection_list` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`keyword` varchar(500) NOT NULL COMMENT '<EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD>',
|
||||
`target_type` varchar(128) DEFAULT '' COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
`description` varchar(200) DEFAULT '',
|
||||
`is_valid` int(2) NOT NULL DEFAULT 0 COMMENT '-1ɾ<31><C9BE> 1<><31>Ч',
|
||||
`create_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`editor_id` int(11) DEFAULT NULL,
|
||||
`creator_id` int(11) NOT NULL,
|
||||
`edit_time` datetime DEFAULT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=108 DEFAULT CHARSET=utf8mb4;
|
||||
INSERT INTO `inner_protection_list` VALUES ('104', '.com', 'domainCheck', 'protection domain', '1', '2019-03-26 13:54:28', '1', '1', '2019-04-02 11:16:36');
|
||||
INSERT INTO `inner_protection_list` VALUES ('106', '.com', 'urlCheck', 'protection url', '1', '2019-03-27 11:08:24', '1', '1', '2019-04-02 11:21:52');
|
||||
commit;
|
||||
|
||||
|
||||
DROP PROCEDURE IF EXISTS `proc_statistics_config`;
|
||||
delimiter ;;
|
||||
CREATE DEFINER=`root`@`%` PROCEDURE `proc_statistics_config`()
|
||||
BEGIN
|
||||
|
||||
DECLARE ntime VARCHAR(40);/*<EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD>*/
|
||||
|
||||
DECLARE otime VARCHAR(40);/*<EFBFBD>ϴ<EFBFBD>ͳ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>*/
|
||||
|
||||
DECLARE nRow VARCHAR(40);/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
DECLARE tabName VARCHAR(500);
|
||||
|
||||
DECLARE description VARCHAR(500);
|
||||
|
||||
DECLARE deleteSql VARCHAR(500);
|
||||
|
||||
DECLARE done INT;/*<EFBFBD>α<EFBFBD><EFBFBD><EFBFBD>ʶ*/
|
||||
|
||||
DECLARE flag INT;/*ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ*/
|
||||
|
||||
DECLARE t_error INT;/*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ*/
|
||||
|
||||
DECLARE proc_log_table VARCHAR(100);/*<EFBFBD>洢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>*/
|
||||
|
||||
DECLARE proc_name VARCHAR(100);/*<EFBFBD>洢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
DECLARE icursor CURSOR FOR SELECT tab_name FROM statistics_tables where is_valid=1;
|
||||
|
||||
DECLARE CONTINUE HANDLER FOR NOT found SET done=1;
|
||||
|
||||
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION set t_error=1;
|
||||
|
||||
select max(statistic_time) into otime from cfg_num_statistics;
|
||||
|
||||
SET done=0;
|
||||
|
||||
SET t_error=0;
|
||||
|
||||
SET proc_log_table='proc_exec_log';
|
||||
|
||||
SET proc_name='proc_statistics_config';
|
||||
|
||||
SET ntime=DATE_FORMAT(SYSDATE(),'%Y-%m-%d %H:%i:%S');
|
||||
|
||||
OPEN icursor;
|
||||
|
||||
loop_iloop:LOOP
|
||||
|
||||
FETCH icursor INTO tabName;
|
||||
|
||||
SET description=tabName;
|
||||
|
||||
set @descriptionStart=concat(description,'<EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD>start');
|
||||
|
||||
/*ͳ<EFBFBD>Ƶ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ͳ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>start*/
|
||||
|
||||
set @v_log_sql1 := concat('insert into ',proc_log_table,'(proc_name,table_name,log_time,description) values(?,?,?,?)');
|
||||
|
||||
PREPARE execs FROM @v_log_sql1;
|
||||
|
||||
EXECUTE execs using proc_name,proc_log_table,ntime,@descriptionStart;
|
||||
|
||||
DEALLOCATE PREPARE execs;
|
||||
|
||||
COMMIT;
|
||||
|
||||
|
||||
#20190328 <20><><EFBFBD>Ӷ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>is_audit=1 && (is_valid=1 || is_valid=0) <20><>Ϊapproved <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>cfg_state=4[is_valid=0 && is_audit=1],<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>cfg_state=1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD>չʾ<D5B9><CABE>approvedֵʵ<D6B5>ʰ<EFBFBD><CAB0><EFBFBD>cfg_state=4<><34>cfg_state=1
|
||||
set @insert_statistics_sql := concat('insert into cfg_num_statistics(statistic_time,audit_time,function_id,service_id,action,compile_id,cfg_state) select ','''',ntime,'''',',','audit_time,function_id,service_id,action,compile_id,if(is_valid=-1,-1,if(is_valid=1,1,if(is_audit=0,0,if(is_audit=1,4,if(is_audit=2,2,if(is_audit=3,3,0)))))) cfg_state from ',tabName);
|
||||
|
||||
|
||||
PREPARE execs FROM @insert_statistics_sql;
|
||||
|
||||
EXECUTE execs;
|
||||
|
||||
DEALLOCATE PREPARE execs;
|
||||
|
||||
COMMIT;
|
||||
|
||||
|
||||
|
||||
set @descriptionEnd=concat(description,'<EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD>end');
|
||||
|
||||
set @v_log_sql2 := concat('insert into ',proc_log_table,'(proc_name,table_name,log_time,description) values(?,?,?,?)');
|
||||
|
||||
PREPARE execs FROM @v_log_sql2;
|
||||
|
||||
EXECUTE execs using proc_name,proc_log_table,ntime,@descriptionEnd;
|
||||
|
||||
DEALLOCATE PREPARE execs;
|
||||
|
||||
COMMIT;
|
||||
|
||||
/*<EFBFBD>쳣<EFBFBD>˳<EFBFBD>loop*/
|
||||
IF t_error=1 THEN
|
||||
LEAVE loop_iloop;
|
||||
END IF;
|
||||
|
||||
/*ѭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>loop*/
|
||||
IF done=1 THEN
|
||||
|
||||
LEAVE loop_iloop;
|
||||
|
||||
ELSE
|
||||
|
||||
SET flag=0;
|
||||
|
||||
END IF;
|
||||
|
||||
IF flag=0 THEN
|
||||
|
||||
SET done=0;
|
||||
|
||||
END IF;
|
||||
|
||||
END LOOP loop_iloop;
|
||||
|
||||
CLOSE icursor;
|
||||
/*ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
SELECT count(statistic_time) INTO nRow from cfg_num_statistics where statistic_time=ntime;
|
||||
|
||||
|
||||
IF t_error=1 THEN /*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
delete from cfg_num_statistics where statistic_time=ntime;
|
||||
COMMIT;
|
||||
ELSEIF nRow > 0 THEN /*<EFBFBD>жϱ<EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>룬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>ͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
|
||||
|
||||
delete from cfg_num_statistics where statistic_time=otime;
|
||||
COMMIT;
|
||||
END IF;
|
||||
COMMIT;
|
||||
END
|
||||
;;
|
||||
delimiter ;
|
||||
|
||||
#ִ<>д洢<D0B4><E6B4A2><EFBFBD><EFBFBD>
|
||||
call exec_procs();
|
||||
|
||||
-- ------------
|
||||
-- <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>type<70><65><EFBFBD>ԣ<EFBFBD><D4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<DEB8><C4A3><EFBFBD>ȫ<EFBFBD><C8AB>ͬ<EFBFBD><CDAC>״̬Ϊ3(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
-- ------------
|
||||
ALTER TABLE schedule_cfg ADD type int(1) DEFAULT 1 COMMENT '1:<3A><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32>ȫ<EFBFBD><C8AB>ͬ<EFBFBD><CDAC>ʱδִ<CEB4>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>';
|
||||
update schedule_cfg set type=1;
|
||||
update sys_data_dictionary_item t set t.item_value=3 where t.dictionary_id=142;
|
||||
|
||||
-- ------------
|
||||
-- ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>-><3E><><EFBFBD><EFBFBD>Ա<EFBFBD>û<EFBFBD>Ԥ<EFBFBD><D4A4>
|
||||
-- ------------
|
||||
INSERT INTO `sys_menu` (`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 ('2', '0,1,2,', 'admin_user_warn', 'admin user warn', '5060', '/sys/warn/userWarnList', '', '', '1', 'sys:warnList:view', '1', '2019-03-28 10:06:26', '1', '2019-03-28 11:36:42', '', '1', NULL, '0', '0', NULL);
|
||||
|
||||
CREATE TABLE `sys_user_warn` (
|
||||
`service_id` int(11) NOT NULL COMMENT 'ҵ<EFBFBD><EFBFBD>ID',
|
||||
`service_desc` varchar(255) DEFAULT '' COMMENT 'ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
`interface_cfg_total` int(11) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
`system_cfg_total` int(11) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',
|
||||
`time` datetime DEFAULT NULL COMMENT '<EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>',
|
||||
`remark` varchar(255) DEFAULT NULL COMMENT '<EFBFBD><EFBFBD>ע',
|
||||
PRIMARY KEY (`service_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>û<EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
|
||||
-- <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
INSERT INTO `sys_menu` (`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 ('109', '0,1,109,', 'protection_list_manage', 'protection list manage', '5060', '/basics/innerProtectionList/list', '', 'fa fa-sticky-note-o', '1', 'basic:inner_protection_list:list', '1', '2019-03-25 15:28:34', '1', '2019-03-26 15:04:47', '', '1', NULL, '0', '0', NULL);
|
||||
|
||||
-- ------------
|
||||
-- <20><><EFBFBD>˲<EFBFBD><CBB2>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ܣ<EFBFBD>ֻ<EFBFBD>н<EFBFBD><D0BD>˲˵<CBB2><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>沢<EFBFBD>·<EFBFBD><C2B7>û<EFBFBD><C3BB>Ľ<EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD>˽<EFBFBD>ɫ<EFBFBD>µ<EFBFBD><C2B5>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>˰汾ע<E6B1BE><D7A2><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD>䣩
|
||||
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>·<EFBFBD><C2B7>˵<EFBFBD>
|
||||
-- ------------
|
||||
INSERT INTO `sys_menu`(`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 (86, '0,1,86,', 'save_and_audit', 'save and audit', 5060, '', '', '', 0, 'save:audit:permission', '1', '2019-04-08 11:30:31', '1', '2019-04-08 11:47:16', 'save_and_audit', 1, NULL, 0, 0, NULL);
|
||||
-- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>·<EFBFBD><C2B7><EFBFBD>ɫ
|
||||
INSERT INTO `sys_role`(`NAME`, `DATA_SCOPE`, `REMARK`, `STATUS`, `CREATE_TIME`, `ROLE_TYPE`) VALUES ('saveAndAudit', 1, '', 1, '2019-04-09 11:33:40', 'user');
|
||||
-- <20><><EFBFBD><EFBFBD>ΪsaveAndAudit<69><74>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>save_and_audit<69>˵<EFBFBD><CBB5><EFBFBD>
|
||||
insert into sys_privilege (PRIVILEGE_MASTER,PRIVILEGE_MASTER_VALUE,PRIVILEGE_ACCESS,PRIVILEGE_ACCESS_VALUE,PRIVILEGE_OPERATION ) select 'ROLE',r.id,1000,m.id,1 from sys_role r,sys_menu m where r.name='saveAndAudit' and m.code='save_and_audit'
|
||||
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
#function_region_dict 对应ip_pattern,port_pattern的字段长度拓展一倍,使用分号分隔源/目的
|
||||
ALTER TABLE function_region_dict MODIFY config_ip_pattern VARCHAR(20) COMMENT "ip的格式 1:ip掩码;2:IP范围;3:IP;使用逗号分隔,源ip与目的IP使用;分隔";
|
||||
ALTER TABLE function_region_dict MODIFY config_port_pattern VARCHAR(20) COMMENT "端口的格式,1:port;2:port_mask;使用逗号分隔,源端口与目的端口使用;分隔";
|
||||
#各表修改ip_pattern,port_pattern
|
||||
#app_ip_cfg
|
||||
ALTER TABLE app_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
|
||||
ALTER TABLE app_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
ALTER TABLE app_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
|
||||
ALTER TABLE app_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
|
||||
#app_ip_range_cfg
|
||||
ALTER TABLE app_ip_range_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
|
||||
ALTER TABLE app_ip_range_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
ALTER TABLE app_ip_range_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
|
||||
ALTER TABLE app_ip_range_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
|
||||
#area_ip_cfg
|
||||
ALTER TABLE area_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
|
||||
ALTER TABLE area_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
ALTER TABLE area_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
|
||||
ALTER TABLE area_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
|
||||
#asn_ip_cfg
|
||||
ALTER TABLE asn_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
|
||||
ALTER TABLE asn_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
ALTER TABLE asn_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
|
||||
ALTER TABLE asn_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
|
||||
#av_cont_ip_cfg
|
||||
ALTER TABLE av_cont_ip_cfg change ip_pattern src_ip_pattern int COMMENT '源ip格式';
|
||||
ALTER TABLE av_cont_ip_cfg add dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
ALTER TABLE av_cont_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
|
||||
ALTER TABLE av_cont_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
|
||||
#av_pic_ip_cfg
|
||||
ALTER TABLE av_pic_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
|
||||
ALTER TABLE av_pic_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
ALTER TABLE av_pic_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
|
||||
ALTER TABLE av_pic_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
|
||||
#av_voip_ip_cfg
|
||||
ALTER TABLE av_voip_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
|
||||
ALTER TABLE av_voip_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
ALTER TABLE av_voip_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
|
||||
ALTER TABLE av_voip_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
|
||||
#ddos_ip_cfg
|
||||
ALTER TABLE ddos_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
|
||||
ALTER TABLE ddos_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
ALTER TABLE ddos_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
|
||||
ALTER TABLE ddos_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
|
||||
#dns_ip_cfg
|
||||
ALTER TABLE dns_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
|
||||
ALTER TABLE dns_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
ALTER TABLE dns_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
|
||||
ALTER TABLE dns_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
|
||||
#ip_port_cfg
|
||||
ALTER TABLE ip_port_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
|
||||
ALTER TABLE ip_port_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
ALTER TABLE ip_port_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
|
||||
ALTER TABLE ip_port_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
|
||||
#ip_reuse_ip_cfg
|
||||
ALTER TABLE ip_reuse_ip_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
|
||||
ALTER TABLE ip_reuse_ip_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
ALTER TABLE ip_reuse_ip_cfg CHANGE port_pattern src_port_pattern INT COMMENT '源端口格式';
|
||||
ALTER TABLE ip_reuse_ip_cfg ADD dest_port_pattern INT COMMENT '目的端口格式';
|
||||
#ip_reuse_policy_cfg
|
||||
ALTER TABLE ip_reuse_policy_cfg CHANGE ip_pattern src_ip_pattern INT COMMENT '源ip格式';
|
||||
ALTER TABLE ip_reuse_policy_cfg ADD dest_ip_pattern INT COMMENT '目的ip格式';
|
||||
#修改字典的值
|
||||
UPDATE function_region_dict SET config_ip_pattern ="1,2,3;1,2,3" WHERE config_ip_pattern="1,2,3";
|
||||
UPDATE function_region_dict SET config_ip_pattern ="1;1" WHERE config_ip_pattern="1";
|
||||
UPDATE function_region_dict SET config_ip_pattern ="3;3" WHERE config_ip_pattern="3";
|
||||
UPDATE function_region_dict SET config_ip_pattern ="1,3;1,3" WHERE config_ip_pattern="1,3";
|
||||
|
||||
UPDATE function_region_dict SET config_port_pattern ="1;1" WHERE config_port_pattern="1";
|
||||
UPDATE function_region_dict SET config_port_pattern ="1,2;1,2" WHERE config_port_pattern="1,2";
|
||||
#Spoofing IP修改只显示目的IP
|
||||
UPDATE function_region_dict SET config_ip_port_show=3 WHERE function_id=401;
|
||||
#ASN IP修改只显示目的IP
|
||||
UPDATE function_region_dict SET config_ip_port_show=3 WHERE function_id=600;
|
||||
#sql 更新字段语句
|
||||
UPDATE app_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM app_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
UPDATE app_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM app_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
|
||||
UPDATE app_ip_range_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM app_ip_range_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
UPDATE app_ip_range_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM app_ip_range_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
|
||||
UPDATE area_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM area_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
UPDATE area_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM area_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
|
||||
UPDATE asn_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM asn_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
UPDATE asn_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM asn_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
|
||||
UPDATE av_cont_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM av_cont_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
UPDATE av_cont_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM av_cont_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
|
||||
UPDATE av_pic_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM av_pic_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
UPDATE av_pic_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM av_pic_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
|
||||
UPDATE av_voip_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM av_voip_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
UPDATE av_voip_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM av_voip_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
|
||||
UPDATE ddos_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM ddos_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
UPDATE ddos_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM ddos_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
|
||||
UPDATE dns_ip_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM dns_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
UPDATE dns_ip_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM dns_ip_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
|
||||
UPDATE ip_port_cfg c SET c.dest_ip_pattern =(SELECT b.src_ip_pattern FROM ( SELECT a.src_ip_pattern,a.`cfg_id` FROM ip_port_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
UPDATE ip_port_cfg c SET c.dest_port_pattern =(SELECT b.src_port_pattern FROM ( SELECT a.src_port_pattern,a.`cfg_id` FROM ip_port_cfg a) b WHERE b.cfg_id=c.`cfg_id`);
|
||||
@@ -164,6 +164,26 @@ function del(url){
|
||||
}
|
||||
}
|
||||
}else{
|
||||
var isAudit=$("#isAudit").val();
|
||||
var isValid=$("#isValid").val();
|
||||
|
||||
// 批量删除:is_audit 3/0/null && is_valid 0/null 此条件下允许(取反提示)
|
||||
if(!((isAudit==null || isAudit=='' || isAudit==3 || isAudit==0 )
|
||||
&& (isValid==null || isValid==''|| isValid==0))){
|
||||
top.$.jBox.tip("<spring:message code='has_prohibit_delete'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}
|
||||
|
||||
if(isAudit==null || isAudit==''){
|
||||
isAudit="3,0";
|
||||
}
|
||||
if(isValid==null || isValid==''){
|
||||
isValid="0";
|
||||
}
|
||||
|
||||
url=url+"&batchAuditValue="+isAudit;
|
||||
url=url+"&batchValidValue="+isValid;
|
||||
|
||||
url = url+"&"
|
||||
if(isBatch(url)) {
|
||||
top.$.jBox.confirm("<spring:message code='confirm_message'/>","<spring:message code='delete_all'/>",function(v,h,f){
|
||||
@@ -227,6 +247,24 @@ var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox");
|
||||
doAll(checkboxes,url);
|
||||
}
|
||||
}else{
|
||||
var isAudit=$("#isAudit").val();
|
||||
var isValid=$("#isValid").val();
|
||||
|
||||
// 审核通过:is_audit 0/null && is_valid 0 此条件下允许(取反提示)
|
||||
if(!((isAudit==null || isAudit=='' || isAudit==0 )
|
||||
&& (isValid==null || isValid==''|| isValid==0))){
|
||||
top.$.jBox.tip("<spring:message code='has_prohibit_pass'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}
|
||||
|
||||
if(isAudit==null || isAudit==''){
|
||||
isAudit="0";
|
||||
}
|
||||
if(isValid==null || isValid==''){
|
||||
isValid="0";
|
||||
}
|
||||
url=url+"&batchAuditValue="+isAudit;
|
||||
url=url+"&batchValidValue="+isValid;
|
||||
url = url+"&"
|
||||
//配置批量下发
|
||||
if(isBatch(url)){
|
||||
@@ -255,6 +293,27 @@ function noPassOpt(url){
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
var isAudit=$("#isAudit").val();
|
||||
var isValid=$("#isValid").val();
|
||||
|
||||
// 审核不通过:is_audit 0/null && is_valid 0/null 此条件下允许(取反提示)
|
||||
if(!((isAudit==null || isAudit=='' || isAudit==0 )
|
||||
&& (isValid==null || isValid==''|| isValid==0))){
|
||||
top.$.jBox.tip("<spring:message code='has_prohibit_nopass'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}
|
||||
|
||||
if(isAudit==null || isAudit==''){
|
||||
isAudit="0";
|
||||
}
|
||||
if(isValid==null || isValid==''){
|
||||
isValid="0";
|
||||
}
|
||||
|
||||
url=url+"&batchAuditValue="+isAudit;
|
||||
url=url+"&batchValidValue="+isValid;
|
||||
|
||||
url = url+"&"
|
||||
//配置批量审核(未通过)
|
||||
if(isBatch(url)){
|
||||
@@ -333,6 +392,24 @@ function cancelPassOpt(url){
|
||||
}
|
||||
|
||||
}else{
|
||||
var isAudit=$("#isAudit").val();
|
||||
var isValid=$("#isValid").val();
|
||||
// 取消审核通过:is_audit 1/null && is_valid 0(定时任务)/1/null 此条件下允许(取反提示)
|
||||
if(!((isAudit==null || isAudit=='' || isAudit==1 )
|
||||
&& (isValid==null || isValid=='' || isValid==1 || isValid==0))){
|
||||
top.$.jBox.tip("<spring:message code='hasnot_approved'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}
|
||||
|
||||
if(isAudit==null || isAudit==''){
|
||||
isAudit="1";
|
||||
}
|
||||
if(isValid==null || isValid==''){
|
||||
isValid="1,0";
|
||||
}
|
||||
url=url+"&batchAuditValue="+isAudit;
|
||||
url=url+"&batchValidValue="+isValid;
|
||||
|
||||
url = url+"&"
|
||||
//配置批量取消
|
||||
if(isBatch(url)){
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<%-- <shiro:hasPermission name="avContUrl:config"> --%>
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/basics/asnGroup/asnGroupForm'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -37,6 +37,8 @@
|
||||
$(".Wdate").attr("value",'');
|
||||
$("#description").attr("value",'');
|
||||
$("#searchForm")[0].reset();
|
||||
$("#organization").val("");
|
||||
$("#userRegion1").val("");
|
||||
});
|
||||
|
||||
if($("#exportType").val() != null && $("#exportType").val() != ""){
|
||||
@@ -66,7 +68,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<shiro:hasPermission name="asn:ip:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/basics/asn/addForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -77,7 +79,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<body>
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<button type="button" class="btn btn-primary" onClick="javascript:window.location='${ctx}/sys/dict/dictItemForm?dictionaryId=${sysDataDictionaryItem.dictionaryId }'">
|
||||
<button type="button" class="addId btn btn-primary" onClick="javascript:window.location='${ctx}/sys/dict/dictItemForm?dictionaryId=${sysDataDictionaryItem.dictionaryId }'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"/></button>
|
||||
</div>
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<%-- <shiro:hasPermission name="avContUrl:config"> --%>
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/basics/policyGroup/policyGroupForm?groupType=${cfg.groupType}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<button type="button" class="btn btn-primary" onClick="javascript:window.location='${ctx}/basics/innerProtectionList/form'">
|
||||
<button type="button" class="addId btn btn-primary" onClick="javascript:window.location='${ctx}/basics/innerProtectionList/form'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message>
|
||||
</button>
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<%-- <button type="button" class="btn btn-default" onclick="javascript:window.location='${ctx}/basics/serviceDictInfo/list?itType=${itType}'"><spring:message code="refresh"></spring:message></button> --%>
|
||||
<shiro:hasPermission name="basics:${permission_type}:add">
|
||||
<button type="button" class="btn btn-primary" onClick="javascript:window.location='${ctx}/basics/serviceDictInfo/form?itType=${itType}'"><i class="fa fa-plus"></i><spring:message code="add"></spring:message></button>
|
||||
<button type="button" class="addId btn btn-primary" onClick="javascript:window.location='${ctx}/basics/serviceDictInfo/form?itType=${itType}'"><i class="fa fa-plus"></i><spring:message code="add"></spring:message></button>
|
||||
</shiro:hasPermission>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<%-- <button type="button" class="btn btn-default" onclick="javascript:window.location='${ctx}/basics/sysDictInfo/list?itType=${itType}'"><spring:message code="refresh"></spring:message></button> --%>
|
||||
<shiro:hasPermission name="basics:${permission_type}:add">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/basics/sysDictInfo/form?itType=${itType}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
<shiro:hasPermission name="basics:taskInfo:config">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/basics/taskInfo/form?functionId=${taskInfo.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"/></button>
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<shiro:hasPermission name="asn:ip:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/basics/vpn/addForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<shiro:hasPermission name="app:built_in_file:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/app/appBuiltinFeatureFileForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="app:byte:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/app/byteCfgForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="app:domain:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/app/domainCfgForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -72,7 +72,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
</c:forEach>
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="${configPermissionName }">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/app/headerCfgForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="app:http:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/app/httpCfgForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -73,7 +73,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="app:ip:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/app/ipCfgForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -75,7 +75,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
</c:forEach>
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="${configPermissionName }">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/app/feature/multiFeatureCfgForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -131,7 +131,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
|
||||
@@ -59,14 +59,15 @@ $(function(){
|
||||
submitHandler: function(form){
|
||||
var flag = true;
|
||||
//代表所有业务都隐藏了,提示必须增加一种业务数据
|
||||
/* if($(".boxSolid").length ==$(".boxSolid.hidden").length){
|
||||
if($("[name=action]:checked").val()==1&&$(".boxSolid").length ==$(".boxSolid.hidden").length){
|
||||
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
} */
|
||||
}
|
||||
/*
|
||||
if($("[name=action]:checked").val()==1&&$(".ipPortAdd").parents(".form-section").next(".boxSolid").is(":hidden")){
|
||||
top.$.jBox.tip("<spring:message code='ip_must_select'/>", "<spring:message code='info'/>");
|
||||
return false;
|
||||
}
|
||||
}*/
|
||||
$(".boxSolid:visible").find("input[name$='cfgKeywords']").each(function(){
|
||||
if($(this).val()==''){
|
||||
$(this).parents(".form-group").find(
|
||||
|
||||
@@ -100,9 +100,12 @@
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
|
||||
<c:if test="${dict.itemValue eq 'social_app'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
|
||||
</c:forEach>
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="app:policy:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/app/policyCfgForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -119,7 +122,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
@@ -195,7 +198,14 @@
|
||||
<form:select id="actionSelect" path="action" class="selectpicker select2 input-small" >
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${serviceList}" var="service">
|
||||
<form:option value="${service.action }"><spring:message code="action_${service.actionCode }"/></form:option>
|
||||
<c:choose>
|
||||
<c:when test="${service.action eq 16}">
|
||||
<form:option value="${service.action }"><spring:message code="block_drop"/></form:option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<form:option value="${service.action }"><spring:message code="action_${service.actionCode }"/></form:option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
<form:select path="isValid" class="selectpicker select2 input-small" >
|
||||
@@ -444,8 +454,8 @@
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
</td>
|
||||
<td class="appCode" id="${cfg.appCode }">${cfg.appCode }</td>
|
||||
<td class="behavCode" id="${cfg.behavCode }">${cfg.behavCode }</td>
|
||||
<td class="appCode" id="${cfg.appCode }" cfgType="${app }"></td>
|
||||
<td class="behavCode" id="${cfg.behavCode }" cfgType="${app }"></td>
|
||||
<%-- <td>${cfg.ratelimit }</td> --%>
|
||||
<td>
|
||||
<c:choose>
|
||||
|
||||
@@ -95,6 +95,8 @@ function changeDistrict(obj){
|
||||
<input type="hidden" name="compileId" value="${_cfg.compileId}">
|
||||
<input type="hidden" name="functionId" value="${_cfg.functionId}">
|
||||
<input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}">
|
||||
<input type="hidden" name="isValid" value="${_cfg.isValid}">
|
||||
<input type="hidden" name="isAudit" value="${_cfg.isAudit}">
|
||||
<input type="hidden" id="appCode" name="appCode" value="${_cfg.appCode}">
|
||||
<input type="hidden" id="behavCode" name="behavCode" value="${_cfg.behavCode}">
|
||||
<!-- 配置域类型 -->
|
||||
@@ -434,18 +436,36 @@ function changeDistrict(obj){
|
||||
<%-- <%@include file="/WEB-INF/include/form/basicInfo.jsp" %> --%>
|
||||
</div>
|
||||
<div class="form-actions">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row">
|
||||
<div class="col-md-offset-3 col-md-8">
|
||||
<button id="save" type="submit" class="btn green"><spring:message code="submit"/></button>
|
||||
<button id="cancel" type="button" class="btn default"><spring:message code="cancel"/></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6"> </div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="row">
|
||||
<div class="col-md-offset-3 col-md-8">
|
||||
<c:set var="auditPermission" value="false"></c:set>
|
||||
<!-- 拥有配置新增直接生效的功能权限 -->
|
||||
<shiro:hasPermission name="save:audit:permission">
|
||||
<c:set var="auditPermission" value="true"></c:set>
|
||||
</shiro:hasPermission>
|
||||
<c:choose>
|
||||
<c:when test="${!(fns:getUser().isAdmin()) && auditPermission}">
|
||||
<button id="audit" type="submit" class="btn green">
|
||||
<spring:message code="submit" />
|
||||
</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button id="save" type="submit" class="btn green">
|
||||
<spring:message code="submit" />
|
||||
</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<button id="cancel" type="button" class="btn default">
|
||||
<spring:message code="cancel" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6"></div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- END FORM-->
|
||||
</div>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="app:ssl:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/app/sslCfgForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="app:tcp:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/app/tcpCfgForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="app:topic:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/app/topicDomainCfgForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -71,7 +71,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
<%-- <button type="button" class="btn btn-default" onclick="location='${ctx}/cfg/app/list?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}'"><spring:message code="refresh"></spring:message></button> --%>
|
||||
<c:if test="${audit==0}">
|
||||
<shiro:hasPermission name="cfg:add">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/cfg/app/form?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}'"><spring:message code="add"></spring:message></button>
|
||||
</shiro:hasPermission>
|
||||
</c:if>
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="asn:policy:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/cfg/asnPolicy/form?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<shiro:hasPermission name="avContIp:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/ntc/av/contIpForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -114,8 +114,8 @@
|
||||
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="avVoip:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<shiro:hasPermission name="avContUrl:config">
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/ntc/av/contUrlForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -132,7 +132,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
@@ -211,7 +211,7 @@
|
||||
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/> <i class="fa fa-angle-double-down"></i></button>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<shiro:hasPermission name="avVoip:config">
|
||||
<shiro:hasPermission name="avContUrl:config">
|
||||
<sys:delRow url="${ctx}/ntc/av/contUrlForm" id="contentTable" label="update"></sys:delRow>
|
||||
<sys:delRow url="${ctx}/ntc/av/updateAvContUrlValid?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
|
||||
<%-- <sys:delRow url="${ctx}/ntc/av/exportStream?functionId=${cfg.functionId }" searchUrl="${ctx}/ntc/av/contUrlList?functionId=${cfg.functionId}" id="contentTable" maxRow="10000" label="export"></sys:delRow> --%>
|
||||
|
||||
@@ -280,6 +280,13 @@ function hiddenlevel(level){
|
||||
$("select[name='level']").val("90");
|
||||
$("select[name='level']").selectpicker("refresh");
|
||||
}
|
||||
}else{
|
||||
var action=$("input[name='action']:checked").val();
|
||||
if(action==16){
|
||||
$(".level").addClass("hidden");
|
||||
}else {
|
||||
$(".level").removeClass("hidden");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="avFileSample:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/ntc/av/sample/fileSampleForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<shiro:hasPermission name="avPicIp:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/ntc/av/picIpForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<shiro:hasPermission name="avPicUrl:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/ntc/av/picUrlForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<shiro:hasPermission name="avSignSample:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/ntc/av/sample/audioSignSampleForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="avVoip:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/ntc/av/voipForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -130,7 +130,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
|
||||
@@ -66,11 +66,16 @@ $(function(){
|
||||
return;
|
||||
}
|
||||
*/
|
||||
var flag = true;
|
||||
//代表所有业务都隐藏了,提示必须增加一种业务数据
|
||||
if($("[name=action]:checked").val()==1&&$(".boxSolid").length ==$(".boxSolid.hidden").length) {
|
||||
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}
|
||||
/*
|
||||
if($("[name=action]:checked").val()==1&&$(".ipPortAdd").parents(".form-section").next(".boxSolid").is(":hidden")){
|
||||
top.$.jBox.tip("<spring:message code='ip_must_select'/>", "<spring:message code='info'/>");
|
||||
return false;
|
||||
}
|
||||
}*/
|
||||
$(".boxSolid:visible").find("input[name$='cfgKeywords']").each(function(){
|
||||
|
||||
if($(this).val()==''){
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
</c:forEach>
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="basicprotocol:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/basicprotocol/form?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -122,7 +122,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
@@ -199,7 +199,16 @@
|
||||
<form:select id="actionSelect" path="action" class="selectpicker select2 input-small" >
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${serviceList}" var="service">
|
||||
<form:option value="${service.action }"><spring:message code="action_${service.actionCode }"/></form:option>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${service.action eq 16}">
|
||||
<form:option value="${service.action }"><spring:message code="block_drop"/></form:option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<form:option value="${service.action }"><spring:message code="action_${service.actionCode }"/></form:option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
<form:select path="isValid" class="selectpicker select2 input-small" >
|
||||
@@ -446,7 +455,7 @@
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
</td>
|
||||
<td class="appCode" id="${cfg.appCode }">${cfg.appCode }</td>
|
||||
<td class="appCode" id="${cfg.appCode }" cfgType="${app }"></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>
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<%-- <button type="button" class="btn btn-default" onclick="location='${ctx}/cfg/string/list?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}'"><spring:message code="refresh"></spring:message></button> --%>
|
||||
<shiro:hasPermission name="${requiresPermissionPrefix.concat(':config')}">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}${urlPrefix}/form?functionId=${cfg.functionId}&cfgName=${cfgName}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
<!-- 模板导入,end -->
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="${requiresPermissionPrefix.concat(':config')}">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}${urlPrefix}/form?functionId=${cfg.functionId}&cfgName=${cfgName}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<%-- <button type="button" class="btn btn-default" onclick="location='${ctx}/cfg/complex/list?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}'"><spring:message code="refresh"></spring:message></button> --%>
|
||||
<c:if test="${audit==0}">
|
||||
<shiro:hasPermission name="cfg:complex:add">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/cfg/complex/form?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<shiro:hasPermission name="ddos:ip:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/manipulation/ddos/form?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -82,7 +82,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<shiro:hasPermission name="dns:fake:ip:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/cfg/dnsIp/form?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -81,7 +81,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
|
||||
@@ -50,6 +50,11 @@ $(function(){
|
||||
},
|
||||
submitHandler: function(form){
|
||||
var flag = true;
|
||||
//代表所有业务都隐藏了,提示必须增加一种业务数据
|
||||
if($("[name=action]:checked").val()==1&&$(".boxSolid").length ==$(".boxSolid.hidden").length){
|
||||
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}
|
||||
$(".boxSolid:visible").find("input[name$='cfgKeywords']").each(function(){
|
||||
if($(this).val()==''){
|
||||
$(this).parents(".form-group").find(
|
||||
|
||||
@@ -100,9 +100,12 @@
|
||||
<body>
|
||||
|
||||
<div class="page-content">
|
||||
<c:forEach items="${fns:getDictList('SPECIFIC_SERVICE_CFG_TYPE') }" var="dict">
|
||||
<c:if test="${dict.itemValue eq 'encrypted_tunnel_behavior'}"><c:set var="app" value="${dict.itemCode}"/></c:if>
|
||||
</c:forEach>
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="encryptedtunnelbehav:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/encryptedtunnelbehav/form?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -119,7 +122,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
@@ -196,7 +199,14 @@
|
||||
<form:select id="actionSelect" path="action" class="selectpicker select2 input-small" >
|
||||
<form:option value=""><spring:message code="select"/></form:option>
|
||||
<c:forEach items="${serviceList}" var="service">
|
||||
<form:option value="${service.action }"><spring:message code="action_${service.actionCode }"/></form:option>
|
||||
<c:choose>
|
||||
<c:when test="${service.action eq 16}">
|
||||
<form:option value="${service.action }"><spring:message code="block_drop"/></form:option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<form:option value="${service.action }"><spring:message code="action_${service.actionCode }"/></form:option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</form:select>
|
||||
<form:select path="isValid" class="selectpicker select2 input-small" >
|
||||
@@ -444,8 +454,8 @@
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
</td>
|
||||
<td class="appCode" id="${cfg.appCode }">${cfg.appCode }</td>
|
||||
<td class="behavCode" id="${cfg.behavCode }">${cfg.behavCode }</td>
|
||||
<td class="appCode" id="${cfg.appCode }" cfgType="${app }"></td>
|
||||
<td class="behavCode" id="${cfg.behavCode }" cfgType="${app }"></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>
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
sampleFileValidate();
|
||||
|
||||
});
|
||||
hiddenlevel($("select[name='cfdsLevel']").val());
|
||||
//hiddenlevel($("select[name='cfdsLevel']").val());
|
||||
hiddenlevel(null);
|
||||
$(".action").on("change", function() {
|
||||
$("#serviceId").val($(this).attr("serviceId"));
|
||||
$("#protocolId").val($(this).attr("protocolId"));
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="fileTransfer:fileDigest:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/ntc/fileTransfer/fileDigestForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -101,11 +101,11 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="fileTransfer:ftp:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/ntc/fileTransfer/ftpForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</shiro:hasPermission>
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="fileTransfer:p2p:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/ntc/fileTransfer/p2pForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -118,7 +118,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
<div class="page-content">
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<shiro:hasPermission name="intercept:${fn:toLowerCase(interceptType)}:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/proxy/intercept/intercept${interceptType}Form?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
@@ -127,7 +127,7 @@
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<c:if test="${serviceImport eq 'true' && regionImport eq 'true'}">
|
||||
<button type="button" class="btn btn-primary import" >
|
||||
<button type="button" class="importId btn btn-primary import" >
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="import"></spring:message></button>
|
||||
</c:if>
|
||||
@@ -411,7 +411,7 @@
|
||||
<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><spring:message code="is_schduler"/></th>
|
||||
<th column="do_log" ><spring:message code="do_log"/></th>
|
||||
<%-- <th column="do_log" ><spring:message code="do_log"/></th> --%>
|
||||
<th column="log_total" ><spring:message code="log_total"/></th>
|
||||
<th column="whether_area_block" ><spring:message code="whether_area_block"/></th>
|
||||
<th column="letter" ><spring:message code="letter"/></th>
|
||||
@@ -571,13 +571,13 @@
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</td>
|
||||
<td>
|
||||
<%-- <td>
|
||||
<c:forEach items="${fns:getDictList('DO_LOG') }" var="dict">
|
||||
<c:if test="${dict.itemCode eq indexCfg.doLog and indexCfg.action!=64 }">
|
||||
<c:if test="${dict.itemCode eq indexCfg.doLog}">
|
||||
<spring:message code="${dict.itemValue }"/>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
</td>
|
||||
</td> --%>
|
||||
<td audit="${indexCfg.isAudit}" functionId="${indexCfg.functionId}" compileId="${indexCfg.compileId}" action="${indexCfg.action}"><div class="loading-total"></div></td>
|
||||
<td>
|
||||
<c:if test="${indexCfg.isAreaEffective==0}"><spring:message code="all"/></c:if>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<shiro:hasPermission name="proxy:intercept:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/proxy/intercept/strateagy/form?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -120,7 +120,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
|
||||
<shiro:hasPermission name="proxy:trustedCert:config">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/proxy/intercept/strateagy/trustedCertForm?functionId=${cfg.functionId}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<div class="theme-panel hidden-xs hidden-sm">
|
||||
<%-- <button type="button" class="btn btn-default" onclick="location='${ctx}/cfg/ip/list?serviceId=${serviceId}&action=${action}&cfgName=${cfgName}&audit=${audit}'"><spring:message code="refresh"></spring:message></button> --%>
|
||||
<c:if test="${audit==0}">
|
||||
<button type="button" class="btn btn-primary"
|
||||
<button type="button" class="addId btn btn-primary"
|
||||
onClick="javascript:window.location='${ctx}/ntc/whitelist/form?audit=${audit}&cfgName=${cfgName}'">
|
||||
<i class="fa fa-plus"></i>
|
||||
<spring:message code="add"></spring:message></button>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user