From 57793c7264f8810a5e170837ff19cdd0af8ed35c Mon Sep 17 00:00:00 2001 From: zhanghongqing Date: Wed, 23 Jan 2019 08:16:48 +0000 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=A1=8C=E4=B8=BA=E6=9F=A5=E8=AF=A2=E6=97=B6=E9=97=B4=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit 6fe94fa3b8e8a9e6a8ed1ae3454db78fa5eb9c1d) --- src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp b/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp index a2d38a1ae..aa0721297 100644 --- a/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp +++ b/src/main/webapp/WEB-INF/views/dashboard/trafficUserBehavior.jsp @@ -243,7 +243,7 @@ + value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTimeByFormat('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false,'yyyy-MM-dd hh')"/>
From 3cd969978e696954d887c587762711fabb1b52ef Mon Sep 17 00:00:00 2001 From: tanghao Date: Wed, 23 Jan 2019 18:08:09 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B5=81=E9=87=8FB?= =?UTF-8?q?=E5=92=8Cb=E6=8D=A2=E7=AE=97=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/dashboard/DashboardController.java | 2 +- .../dashboard/TrafficStatisticsInfoController.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/nis/web/controller/dashboard/DashboardController.java b/src/main/java/com/nis/web/controller/dashboard/DashboardController.java index 239669b2c..c37c0c380 100644 --- a/src/main/java/com/nis/web/controller/dashboard/DashboardController.java +++ b/src/main/java/com/nis/web/controller/dashboard/DashboardController.java @@ -268,7 +268,7 @@ public class DashboardController extends BaseController{ //两个时间段之间的秒数 double allSeconds = DateUtils.getSecondsOfTwoDate(sdf.parse(beginDate),sdf.parse(endDate)); for(TrafficIpActiveStatistic data:list) { - data.setAvgByte(f.format(Long.parseLong(data.get_byte())/1024/1024/1024/allSeconds)); + data.setAvgByte(f.format(Long.parseLong(data.get_byte())*8/1024/1024/1024/allSeconds)); data.setAvgPacket(lf.format(Long.parseLong(data.get_packet())/allSeconds)); } } diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java index c643b11a2..45804829d 100644 --- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java +++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java @@ -352,7 +352,7 @@ public class TrafficStatisticsInfoController extends BaseController { m.put("linkNum", lf.format(m.get("linkNum"))); double avgPacket=Double.parseDouble(m.get("packets").toString())/allSeconds; m.put("pps",lf.format(avgPacket)); - double avgByte=Double.parseDouble(m.get("GByte").toString())/allSeconds; + double avgByte=Double.parseDouble(m.get("GByte").toString())*8/allSeconds; m.put("bps",f.format(avgByte)); totalLink+=Long.parseLong( m.get("linkNum").toString()); totalPackets+=Long.parseLong(m.get("packets").toString()); @@ -442,7 +442,7 @@ public class TrafficStatisticsInfoController extends BaseController { double avgPacket=Double.parseDouble(m.get("packets").toString())/allSeconds; m.put("pps",lf.format(avgPacket)); - double avgByte=Double.parseDouble(m.get("GByte").toString())/allSeconds; + double avgByte=Double.parseDouble(m.get("GByte").toString())*8/allSeconds; m.put("bps",f.format(avgByte)); } for (Object object : list) { @@ -553,7 +553,7 @@ public class TrafficStatisticsInfoController extends BaseController { for(Map m:list) { double avgPacket=Double.parseDouble(m.get("pktNum").toString())/allSeconds; m.put("pps",dl.format(avgPacket)); - double avgByte=Double.parseDouble(m.get("byteNum").toString())/1024/1024/1024/allSeconds; + double avgByte=Double.parseDouble(m.get("byteNum").toString())*8/1024/1024/1024/allSeconds; m.put("bps",f.format(avgByte)); } } @@ -673,7 +673,7 @@ public class TrafficStatisticsInfoController extends BaseController { double avgPacket=Double.parseDouble(m.get("pktCount").toString())/allSeconds; m.put("pps",dl.format(avgPacket)); - double avgByte=Double.parseDouble(m.get("byteCount").toString())/1024/1024/1024/allSeconds; + double avgByte=Double.parseDouble(m.get("byteCount").toString())*8/1024/1024/1024/allSeconds; m.put("bps",f.format(avgByte)); } List codeList = appCfgService.getDomainDict(new WebsiteDomainTopic()); @@ -756,7 +756,7 @@ public class TrafficStatisticsInfoController extends BaseController { totalGByte+=Double.parseDouble(lf.format(m.get("count"))); double avgPacket=Double.parseDouble(m.get("packets").toString())/allSeconds; m.put("pps",lf.format(avgPacket)); - double avgByte=Double.parseDouble(m.get("count").toString())/1024/1024/1024/allSeconds; + double avgByte=Double.parseDouble(m.get("count").toString())*8/1024/1024/1024/allSeconds; m.put("bps",f.format(avgByte)); m.remove("domainData"); Double value1=0d; From 0858b89ffa9536455509e85140ab3ebbd0791149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E6=99=93=E7=87=95?= Date: Wed, 23 Jan 2019 10:10:02 +0000 Subject: [PATCH 3/3] Merge branch 'bugfix-20190123-import' into 'dev-ycx' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修正Ip Spoofing配置导入模板'direction'字段默认值批注;修改配置导入域名字段校验;修复配置导入属性验证发生异常后无提示信息问题(王鑫) See merge request K18_NTCS_WEB/NTC!11 (cherry picked from commit 6704549d61a525406f33a02eb8f93762d272aa40) 38f563ce 修正Ip Spoofing配置导入模板'direction'字段默认值批注;修改配置导入域名字段校验;修复配置导入属性验证发生异常后无提示信息问题(王鑫) --- .../java/com/nis/util/excel/ExportExcel.java | 6 +- ...ckAppFeatureComplexStringFormatThread.java | 6 + .../CheckComplexStringFormatThread.java | 6 + .../CheckDnsResStrategyFormatThread.java | 6 + .../excel/thread/CheckIpFormatThread.java | 6 + .../excel/thread/CheckStringFormatThread.java | 8 +- .../thread/CheckTopicWebsiteFormatThread.java | 8 +- .../nis/web/controller/BaseController.java | 115 ++++++++++++++++-- .../resources/messages/message_en.properties | 3 +- .../resources/messages/message_ru.properties | 3 +- .../messages/message_zh_CN.properties | 3 +- 11 files changed, 149 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/nis/util/excel/ExportExcel.java b/src/main/java/com/nis/util/excel/ExportExcel.java index f37273b7a..d891c014d 100644 --- a/src/main/java/com/nis/util/excel/ExportExcel.java +++ b/src/main/java/com/nis/util/excel/ExportExcel.java @@ -496,7 +496,7 @@ public class ExportExcel { commentStr=commentStr+"▶"+msgProp.getProperty("required")+"\n"; index++; } - if(("domain_name".equals(headerStr)) && (region.getFunctionId().equals(560))){ + if("domain_name".equals(headerStr)){ commentStr=commentStr+msgProp.getProperty("rule_desc_tip")+":\n"; index++; //1、非空 @@ -1113,9 +1113,9 @@ public class ExportExcel { commentStr=""; } if(StringUtil.isEmpty(defaultValue)){ - defaultValue="0"; + defaultValue = region.getConfigDirection().split(",")[0]; } - defaultValue = region.getFunctionId().equals(301)?"1":defaultValue; + } /*}*/ /*if(StringUtil.isEmpty(commentStr)){ diff --git a/src/main/java/com/nis/util/excel/thread/CheckAppFeatureComplexStringFormatThread.java b/src/main/java/com/nis/util/excel/thread/CheckAppFeatureComplexStringFormatThread.java index 2d6a4917b..6a97ef509 100644 --- a/src/main/java/com/nis/util/excel/thread/CheckAppFeatureComplexStringFormatThread.java +++ b/src/main/java/com/nis/util/excel/thread/CheckAppFeatureComplexStringFormatThread.java @@ -45,6 +45,7 @@ public class CheckAppFeatureComplexStringFormatThread implements Callable dataList=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE); StringBuffer msg=new StringBuffer(); + boolean error = false; while(!srcQueue.isEmpty()) { int size=srcQueue.drainTo(dataList,Constants.MAAT_JSON_SEND_SIZE); if(regionDict.getRegionType().intValue()==3) { @@ -57,10 +58,15 @@ public class CheckAppFeatureComplexStringFormatThread implements Callable checkAppComplexFeatureCfg(StringBuffer msg, diff --git a/src/main/java/com/nis/util/excel/thread/CheckComplexStringFormatThread.java b/src/main/java/com/nis/util/excel/thread/CheckComplexStringFormatThread.java index e01a35d7c..a2b0bd291 100644 --- a/src/main/java/com/nis/util/excel/thread/CheckComplexStringFormatThread.java +++ b/src/main/java/com/nis/util/excel/thread/CheckComplexStringFormatThread.java @@ -45,6 +45,7 @@ public class CheckComplexStringFormatThread implements Callable{ public String call() throws Exception { List dataList=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE); StringBuffer msg=new StringBuffer(); + boolean error = false; while(!srcQueue.isEmpty()) { int size=srcQueue.drainTo(dataList,Constants.MAAT_JSON_SEND_SIZE); if(regionDict.getRegionType().intValue()==3) { @@ -57,10 +58,15 @@ public class CheckComplexStringFormatThread implements Callable{ //msg=e.getMessage(); //msg.append(e.getMessage()); //break; + error = true; } } dataList.clear(); } + if(error) { + msg.append("validate_error"); + } + return msg.toString(); } public List checkComplexStringCfg(StringBuffer msg, diff --git a/src/main/java/com/nis/util/excel/thread/CheckDnsResStrategyFormatThread.java b/src/main/java/com/nis/util/excel/thread/CheckDnsResStrategyFormatThread.java index 107ae5be1..ec8813803 100644 --- a/src/main/java/com/nis/util/excel/thread/CheckDnsResStrategyFormatThread.java +++ b/src/main/java/com/nis/util/excel/thread/CheckDnsResStrategyFormatThread.java @@ -42,6 +42,7 @@ public class CheckDnsResStrategyFormatThread implements Callable{ public String call() throws Exception { List dataList=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE); StringBuffer msg=new StringBuffer(); + boolean error = false; while(!srcQueue.isEmpty()) { int size=srcQueue.drainTo(dataList,Constants.MAAT_JSON_SEND_SIZE); if(regionDict.getRegionType().intValue()==6) { @@ -53,10 +54,15 @@ public class CheckDnsResStrategyFormatThread implements Callable{ // TODO: handle exception //msg=e.getMessage(); //break; + error = true; } } dataList.clear(); } + if(error) { + msg.append("validate_error"); + } + return msg.toString(); } public List checkDnsResStrategyCfg(StringBuffer msg,List list) diff --git a/src/main/java/com/nis/util/excel/thread/CheckIpFormatThread.java b/src/main/java/com/nis/util/excel/thread/CheckIpFormatThread.java index fb8bc3f73..d32e8d80f 100644 --- a/src/main/java/com/nis/util/excel/thread/CheckIpFormatThread.java +++ b/src/main/java/com/nis/util/excel/thread/CheckIpFormatThread.java @@ -51,6 +51,7 @@ public class CheckIpFormatThread implements Callable{ public String call() throws Exception { List dataList=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE); StringBuffer msg=new StringBuffer(); + boolean error = false; while(!srcQueue.isEmpty()) { int size=srcQueue.drainTo(dataList,Constants.MAAT_JSON_SEND_SIZE); if(regionDict.getRegionType().intValue()==1) { @@ -63,10 +64,15 @@ public class CheckIpFormatThread implements Callable{ // TODO: handle exception //msg.append(e.getMessage()); //break; + error = true; } } dataList.clear(); } + if(error) { + msg.append("validate_error"); + } + return msg.toString(); } public List checkIpCfg(StringBuffer msg,List> asnNos, List list) diff --git a/src/main/java/com/nis/util/excel/thread/CheckStringFormatThread.java b/src/main/java/com/nis/util/excel/thread/CheckStringFormatThread.java index ff770be4d..846f8dfb7 100644 --- a/src/main/java/com/nis/util/excel/thread/CheckStringFormatThread.java +++ b/src/main/java/com/nis/util/excel/thread/CheckStringFormatThread.java @@ -44,6 +44,7 @@ public class CheckStringFormatThread implements Callable{ public String call() throws Exception { List dataList=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE); StringBuffer msg=new StringBuffer(); + boolean error = false; while(!srcQueue.isEmpty()) { int size=srcQueue.drainTo(dataList,Constants.MAAT_JSON_SEND_SIZE); if(regionDict.getRegionType().intValue()==2) { @@ -55,10 +56,15 @@ public class CheckStringFormatThread implements Callable{ // TODO: handle exception //msg=e.getMessage(); //break; + error = true; } } dataList.clear(); } + if(error) { + msg.append("validate_error"); + } + return msg.toString(); } @@ -84,7 +90,7 @@ public class CheckStringFormatThread implements Callable{ } StringBuffer errTip = new StringBuffer(); Pattern pattern = Pattern.compile("\t|\r|\n|\b|\f"); - Pattern domainPattern = Pattern.compile(Constants.DOMAIN_REGEXP); + Pattern domainPattern = Pattern.compile("^[a-zA-Z0-9.-]*$"); for (int i = 0; i < list.size(); i++) { StringBuffer errInfo = new StringBuffer(); BaseStringCfg baseStringCfg = new BaseStringCfg(); diff --git a/src/main/java/com/nis/util/excel/thread/CheckTopicWebsiteFormatThread.java b/src/main/java/com/nis/util/excel/thread/CheckTopicWebsiteFormatThread.java index 34b8165a6..dd59f0194 100644 --- a/src/main/java/com/nis/util/excel/thread/CheckTopicWebsiteFormatThread.java +++ b/src/main/java/com/nis/util/excel/thread/CheckTopicWebsiteFormatThread.java @@ -47,6 +47,7 @@ public class CheckTopicWebsiteFormatThread implements Callable{ public String call() throws Exception { List dataList=Lists.newArrayList(Constants.MAAT_JSON_SEND_SIZE); StringBuffer msg=new StringBuffer(); + boolean error = false; while(!srcQueue.isEmpty()) { int size=srcQueue.drainTo(dataList,Constants.MAAT_JSON_SEND_SIZE); if(regionDict.getRegionType().intValue()==2) { @@ -58,10 +59,15 @@ public class CheckTopicWebsiteFormatThread implements Callable{ // TODO: handle exception //msg=e.getMessage(); //break; + error = true; } } dataList.clear(); } + if(error) { + msg.append("validate_error"); + } + return msg.toString(); } @@ -87,7 +93,7 @@ public class CheckTopicWebsiteFormatThread implements Callable{ } StringBuffer errTip = new StringBuffer(); Pattern pattern = Pattern.compile("\t|\r|\n|\b|\f"); - Pattern domainPattern = Pattern.compile(Constants.DOMAIN_REGEXP); + Pattern domainPattern = Pattern.compile("^[a-zA-Z0-9.-]*$"); for (int i = 0; i < list.size(); i++) { StringBuffer errInfo = new StringBuffer(); AppTopicDomainCfg baseStringCfg = new AppTopicDomainCfg(); diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index f0ab92c1c..6bc1acbe2 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -963,8 +963,10 @@ public class BaseController { BlockingQueue queue=new ArrayBlockingQueue<>(list.size()); ExecutorService service=Executors.newFixedThreadPool(Constants.MULITY_THREAD_SIZE); List> futures=new ArrayList<>(); + + Properties props=this.getMsgProp(); for(int i=0;i future:futures) { String msg = future.get(); if(StringUtils.isNotBlank(msg)) { + if(msg.equals("validate_error")) { + valideteError=true; + }else if(msg.endsWith("validate_error")) { + _msg.append(msg.substring(0, msg.length()-1-"validate_error".length())); + valideteError=true; + }else { + _msg.append(msg); + } //throw new ServiceException(msg); - _msg.append(msg); + } } + if(valideteError) { + _msg.append(props.getProperty("validate_error", "Unexpected error occurred while validating")); + } + long end=System.currentTimeMillis(); logger.warn("checkIpCfgMulity finish,cost:"+(end-start)+",size:"+queue.size()); return queue; @@ -1005,8 +1020,10 @@ public class BaseController { BlockingQueue> queue=new ArrayBlockingQueue<>(list.size()); ExecutorService service=Executors.newFixedThreadPool(Constants.MULITY_THREAD_SIZE); List> futures=new ArrayList<>(); + + Properties props=this.getMsgProp(); for(int i=0;i future:futures) { String msg = future.get(); if(StringUtils.isNotBlank(msg)) { + if(msg.equals("validate_error")) { + valideteError=true; + }else if(msg.endsWith("validate_error")) { + _msg.append(msg.substring(0, msg.length()-1-"validate_error".length())); + valideteError=true; + }else { + _msg.append(msg); + } //throw new ServiceException(msg); - _msg.append(msg); + } } + if(valideteError) { + _msg.append(props.getProperty("validate_error", "Unexpected error occurred while validating")); + } + long end=System.currentTimeMillis(); logger.warn("checkStringCfgMulity finish,cost:"+(end-start)+",size:"+queue.size()); return queue; @@ -1045,8 +1075,10 @@ public class BaseController { BlockingQueue queue=new ArrayBlockingQueue<>(list.size()); ExecutorService service=Executors.newFixedThreadPool(Constants.MULITY_THREAD_SIZE); List> futures=new ArrayList<>(); + + Properties props=this.getMsgProp(); for(int i=0;i future:futures) { String msg = future.get(); if(StringUtils.isNotBlank(msg)) { + if(msg.equals("validate_error")) { + valideteError=true; + }else if(msg.endsWith("validate_error")) { + _msg.append(msg.substring(0, msg.length()-1-"validate_error".length())); + valideteError=true; + }else { + _msg.append(msg); + } //throw new ServiceException(msg); - _msg.append(msg); + } } + if(valideteError) { + _msg.append(props.getProperty("validate_error", "Unexpected error occurred while validating")); + } + long end=System.currentTimeMillis(); logger.warn("checkComplexStringCfgMulity finish,cost:"+(end-start)+",size:"+queue.size()); return queue; @@ -1085,8 +1130,10 @@ public class BaseController { BlockingQueue queue=new ArrayBlockingQueue<>(list.size()); ExecutorService service=Executors.newFixedThreadPool(Constants.MULITY_THREAD_SIZE); List> futures=new ArrayList<>(); + + Properties props=this.getMsgProp(); for(int i=0;i future:futures) { String msg = future.get(); if(StringUtils.isNotBlank(msg)) { - _msg.append(msg); + if(msg.equals("validate_error")) { + valideteError=true; + }else if(msg.endsWith("validate_error")) { + _msg.append(msg.substring(0, msg.length()-1-"validate_error".length())); + valideteError=true; + }else { + _msg.append(msg); + } //throw new ServiceException(msg); + } } + if(valideteError) { + _msg.append(props.getProperty("validate_error", "Unexpected error occurred while validating")); + } + long end=System.currentTimeMillis(); logger.warn("checkDnsResStrategyCfgMulity finish,cost:"+(end-start)+",size:"+queue.size()); return queue; @@ -1127,8 +1187,10 @@ public class BaseController { BlockingQueue queue=new ArrayBlockingQueue<>(list.size()); ExecutorService service=Executors.newFixedThreadPool(Constants.MULITY_THREAD_SIZE); List> futures=new ArrayList<>(); + + Properties props=this.getMsgProp(); for(int i=0;i future:futures) { String msg = future.get(); if(StringUtils.isNotBlank(msg)) { - _msg.append(msg); + if(msg.equals("validate_error")) { + valideteError=true; + }else if(msg.endsWith("validate_error")) { + _msg.append(msg.substring(0, msg.length()-1-"validate_error".length())); + valideteError=true; + }else { + _msg.append(msg); + } //throw new ServiceException(msg); + } } + if(valideteError) { + _msg.append(props.getProperty("validate_error", "Unexpected error occurred while validating")); + } + long end=System.currentTimeMillis(); logger.warn("checkAppComplexFeatureStringCfgMulity finish,cost:"+(end-start)+",size:"+queue.size()); return queue; @@ -1168,10 +1243,11 @@ public class BaseController { BlockingQueue queue=new ArrayBlockingQueue<>(list.size()); ExecutorService service=Executors.newFixedThreadPool(Constants.MULITY_THREAD_SIZE); List> futures=new ArrayList<>(); + + Properties props=this.getMsgProp(); for(int i=0;i future:futures) { String msg = future.get(); if(StringUtils.isNotBlank(msg)) { + if(msg.equals("validate_error")) { + valideteError=true; + }else if(msg.endsWith("validate_error")) { + _msg.append(msg.substring(0, msg.length()-1-"validate_error".length())); + valideteError=true; + }else { + _msg.append(msg); + } //throw new ServiceException(msg); - _msg.append(msg); + } } + if(valideteError) { + _msg.append(props.getProperty("validate_error", "Unexpected error occurred while validating")); + } + long end=System.currentTimeMillis(); logger.warn("checkTopicWebsiteCfgMulity finish,cost:"+(end-start)+",size:"+queue.size()); return queue; diff --git a/src/main/resources/messages/message_en.properties b/src/main/resources/messages/message_en.properties index b309c80e5..a6b07fe9a 100644 --- a/src/main/resources/messages/message_en.properties +++ b/src/main/resources/messages/message_en.properties @@ -1490,4 +1490,5 @@ endTime=End Time single=Single everyDay=Every Day everyWeek=Every Week -everyMonth=Every Month \ No newline at end of file +everyMonth=Every Month +validate_error=Unexpected error occurred while validating \ No newline at end of file diff --git a/src/main/resources/messages/message_ru.properties b/src/main/resources/messages/message_ru.properties index 18b4969ed..6c57a5a43 100644 --- a/src/main/resources/messages/message_ru.properties +++ b/src/main/resources/messages/message_ru.properties @@ -1494,4 +1494,5 @@ 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 \ No newline at end of file +everyMonth=\u0415\u0436\u0435\u043C\u0435\u0441\u044F\u0447\u043D\u043E +validate_error=Unexpected error occurred while validating \ No newline at end of file diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index a10363d75..4bf89325b 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -1490,4 +1490,5 @@ endTime=\u7ED3\u675F\u65F6\u95F4 single=\u5355\u6B21 everyDay=\u6BCF\u5929 everyWeek=\u6BCF\u5468 -everyMonth=\u6BCF\u6708 \ No newline at end of file +everyMonth=\u6BCF\u6708 +validate_error=\u9A8C\u8BC1\u65F6\u53D1\u751F\u610F\u5916\u9519\u8BEF \ No newline at end of file