From 3100cd07c69417b8df23afbe677b6680d6e21b34 Mon Sep 17 00:00:00 2001 From: zhanghongqing Date: Tue, 13 Nov 2018 20:19:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9ddos=20=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=BAmaat=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/configuration/DdosCfgService.java | 116 +++++++++++++++++- .../WEB-INF/include/form/dDosIpInfo.jsp | 29 ++--- .../WEB-INF/views/cfg/ddosIpCfgForm.jsp | 28 +++-- .../views/dashboard/trafficIpActiveList.jsp | 17 ++- 4 files changed, 162 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/nis/web/service/configuration/DdosCfgService.java b/src/main/java/com/nis/web/service/configuration/DdosCfgService.java index 5e72817f9..24397efcd 100644 --- a/src/main/java/com/nis/web/service/configuration/DdosCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/DdosCfgService.java @@ -18,9 +18,17 @@ import com.nis.domain.callback.InlineIp; import com.nis.domain.configuration.BaseIpCfg; import com.nis.domain.configuration.DdosIpCfg; import com.nis.domain.configuration.IpPortCfg; +import com.nis.domain.maat.MaatCfg; +import com.nis.domain.maat.ToMaatBean; import com.nis.domain.maat.ToMaatResult; +import com.nis.domain.maat.MaatCfg.DigestCfg; +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.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; +import com.nis.util.Constants; import com.nis.util.StringUtil; import com.nis.web.dao.configuration.DdosCfgDao; import com.nis.web.security.UserUtils; @@ -141,7 +149,7 @@ public class DdosCfgService extends BaseService{ * @param ids cfgId * @param functionId */ - @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + /* @Transactional(readOnly=false,rollbackFor=RuntimeException.class) public void audit(Integer isAudit,Integer isValid,Integer functionId,String id,Date auditTime){ DdosIpCfg entity = new DdosIpCfg(); @@ -211,5 +219,111 @@ public class DdosCfgService extends BaseService{ } } + }*/ + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void audit(Integer isAudit,Integer isValid,Integer functionId,String id,Date auditTime) throws Exception{ + DdosIpCfg entity = new DdosIpCfg(); + + entity=ddosCfgDao.getDdosIpCfg(Long.valueOf(id)); + List list = new ArrayList(); + + entity.setCfgId(Long.valueOf(id)); + entity.setIsAudit(isAudit); + entity.setIsValid(isValid); + entity.setAuditorId(UserUtils.getUser().getId()); + entity.setAuditTime(auditTime); + + ddosCfgDao.update(entity); + + + String antiddosProtocol = entity.getAntiddosProtocol(); + Long bpsThreadshold = entity.getBpsThreadshold(); + Long ppsThreadshold = entity.getPpsThreadshold(); + Map umap= new HashMap(); + if(StringUtil.isBlank(antiddosProtocol)) { + antiddosProtocol=""; + } + if(bpsThreadshold==null) { + bpsThreadshold=0l; + } + if(ppsThreadshold==null) { + ppsThreadshold=0l; + } + umap.put("protocol", antiddosProtocol); + umap.put("bps_threadshold", bpsThreadshold); + umap.put("pps_threadshold", ppsThreadshold); + String userRegion = new Gson().toJson(umap); + + ToMaatBean maatBean = new ToMaatBean(); + MaatCfg maatCfg = new MaatCfg(); + List configCompileList = new ArrayList(); + List groupRelationList = new ArrayList(); + List ipRegionList = new ArrayList(); + List strRegionList = new ArrayList(); + List numRegionList = new ArrayList(); + List digestRegionList = new ArrayList(); + List areaIpRegionList = new ArrayList(); + + + entity=this.getDdosIpCfg(entity.getCfgId()); + + if(entity.getIsAudit()==1){ + List ipList=new ArrayList(); + ipList.add(entity); + if(!StringUtil.isEmpty(ipList)){ + Map ipMap = cfgConvert(ipRegionList,ipList,1,entity,groupRelationList); + groupRelationList=ipMap.get("groupList"); + ipRegionList=ipMap.get("dstList"); + if(ipMap.get("numRegionList")!=null){ + numRegionList.addAll(ipMap.get("numRegionList")); + + } + } + + //调用服务接口下发配置数据 + maatCfg.initDefaultValue(); + BeanUtils.copyProperties(entity, maatCfg); + maatCfg.setAction(entity.getAction()); + maatCfg.setAuditTime(auditTime); + maatCfg.setIpRegionList(ipRegionList); + maatCfg.setStrRegionList(strRegionList); + maatCfg.setNumRegionList(numRegionList); + maatCfg.setDigestRegionList(digestRegionList); + maatCfg.setGroupRelationList(groupRelationList); + maatCfg.setGroupNum(groupRelationList.size()); + maatCfg.setAreaIpRegionList(areaIpRegionList); + maatCfg.setIsValid(entity.getIsValid()); + maatCfg.setUserRegion(userRegion);// 自定义域 + configCompileList.add(maatCfg); + maatBean.setConfigCompileList(configCompileList); + maatBean.setAuditTime(auditTime); + maatBean.setCreatorName(entity.getCurrentUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); + maatBean.setOpAction(Constants.INSERT_ACTION); + //调用服务接口下发配置数据 + String json=gsonToJson(maatBean); + logger.info("ddos 配置下发配置参数:"+json); + //调用服务接口下发配置 + ToMaatResult result = ConfigServiceUtil.postMaatCfg(json); + logger.info("ddos 配置下发响应信息:"+result.getMsg()); + + }else if(entity.getIsAudit()==3){ + maatCfg.setCompileId(entity.getCompileId()); + maatCfg.setServiceId(entity.getServiceId()); + maatCfg.setIsValid(0);//无效 + configCompileList.add(maatCfg); + maatBean.setConfigCompileList(configCompileList); + maatBean.setAuditTime(auditTime); + maatBean.setCreatorName(entity.getCurrentUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); + maatBean.setOpAction(Constants.UPDATE_ACTION); + //调用服务接口取消配置 + String json=gsonToJson(maatBean); + logger.info("ddos 配置下发配置参数:"+json); + //调用服务接口下发配置 + ToMaatResult result = ConfigServiceUtil.put(json,1); + logger.info("ddos 配置取消配置响应信息:"+result.getMsg()); + } + } } diff --git a/src/main/webapp/WEB-INF/include/form/dDosIpInfo.jsp b/src/main/webapp/WEB-INF/include/form/dDosIpInfo.jsp index 050fc87be..84db2f83b 100644 --- a/src/main/webapp/WEB-INF/include/form/dDosIpInfo.jsp +++ b/src/main/webapp/WEB-INF/include/form/dDosIpInfo.jsp @@ -30,6 +30,20 @@
+
+
+ +
+ + +
+
+
+
@@ -94,20 +108,7 @@
-
-
- -
- - -
-
-
-
+
diff --git a/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgForm.jsp b/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgForm.jsp index 0dc23bd4a..f5d94ad19 100644 --- a/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/ddosIpCfgForm.jsp @@ -91,23 +91,27 @@ $(function(){
-