diff --git a/src/main/java/com/nis/domain/callback/InlineIp.java b/src/main/java/com/nis/domain/callback/InlineIp.java index d710df9a6..35f36a492 100644 --- a/src/main/java/com/nis/domain/callback/InlineIp.java +++ b/src/main/java/com/nis/domain/callback/InlineIp.java @@ -20,6 +20,8 @@ import com.google.gson.annotations.Expose; * @version V1.0 */ public class InlineIp { + @Expose + private Integer id; @Expose private Integer cfgId; @Expose @@ -52,6 +54,8 @@ public class InlineIp { private Integer isValid; @Expose private Date opTime; + @Expose + private Long policyGroup; /** * action * @return action @@ -276,5 +280,17 @@ public class InlineIp { public void setService(Integer service) { this.service = service; } + public Integer getId() { + return id; + } + public void setId(Integer id) { + this.id = id; + } + public Long getPolicyGroup() { + return policyGroup; + } + public void setPolicyGroup(Long policyGroup) { + this.policyGroup = policyGroup; + } } diff --git a/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java b/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java index c7c912ad8..38b48622f 100644 --- a/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java +++ b/src/main/java/com/nis/domain/configuration/CfgIndexInfo.java @@ -52,6 +52,22 @@ public class CfgIndexInfo extends BaseCfg { private List stringList; private List digestList; + private Long dnsStrategyId; + private String dnsStrategyName; + + public Long getDnsStrategyId() { + return dnsStrategyId; + } + public void setDnsStrategyId(Long dnsStrategyId) { + this.dnsStrategyId = dnsStrategyId; + } + public String getDnsStrategyName() { + return dnsStrategyName; + } + public void setDnsStrategyName(String dnsStrategyName) { + this.dnsStrategyName = dnsStrategyName; + } + public AvVoipAccountCfg getVoipAccount() { return voipAccount; } diff --git a/src/main/java/com/nis/domain/configuration/IpPortCfg.java b/src/main/java/com/nis/domain/configuration/IpPortCfg.java index fabd3052f..4dcfce294 100644 --- a/src/main/java/com/nis/domain/configuration/IpPortCfg.java +++ b/src/main/java/com/nis/domain/configuration/IpPortCfg.java @@ -54,4 +54,5 @@ public class IpPortCfg extends BaseIpCfg { return tableName; } + } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java b/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java index 0a9176a76..39db242b5 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java @@ -23,6 +23,7 @@ import com.nis.domain.Page; import com.nis.domain.configuration.BaseStringCfg; import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.ComplexkeywordCfg; +import com.nis.domain.configuration.DnsResStrategy; import com.nis.domain.configuration.ComplexStringCfgTemplate; import com.nis.domain.configuration.IpCfgTemplate; import com.nis.domain.configuration.StringCfgTemplate; @@ -299,6 +300,9 @@ public class WebsiteController extends BaseController{ }else{ initFormCondition(model,entity); } + //获取所有响应策略信息 + List resStrategys=dnsResStrategyService.findDnsResStrategys(null, 1,1); + model.addAttribute("dnsResStrategys", resStrategys); model.addAttribute("_cfg", entity); return "/cfg/website/dnsForm"; } diff --git a/src/main/java/com/nis/web/controller/configuration/DnsIpCfgController.java b/src/main/java/com/nis/web/controller/configuration/proxy/DnsIpCfgController.java similarity index 94% rename from src/main/java/com/nis/web/controller/configuration/DnsIpCfgController.java rename to src/main/java/com/nis/web/controller/configuration/proxy/DnsIpCfgController.java index 8c5b788f6..5253c2305 100644 --- a/src/main/java/com/nis/web/controller/configuration/DnsIpCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/DnsIpCfgController.java @@ -1,4 +1,4 @@ -package com.nis.web.controller.configuration; +package com.nis.web.controller.configuration.proxy; import java.util.Date; import java.util.List; @@ -48,7 +48,7 @@ public class DnsIpCfgController extends BaseController { initFormCondition(model,cfg); } //获取所有响应策略信息 - List resStrategys=dnsResStrategyService.findDnsResStrategys(null, -1); + List resStrategys=dnsResStrategyService.findDnsResStrategys(null, 1,1); model.addAttribute("dnsResStrategys", resStrategys); model.addAttribute("_cfg", cfg); return "/cfg/dnsIpCfgForm"; @@ -77,7 +77,7 @@ public class DnsIpCfgController extends BaseController { return "redirect:" + adminPath +"/cfg/dnsIp/list?functionId="+functionId; } @RequestMapping(value = {"/audit"}) - @RequiresPermissions(value={"dns:fake:ip:audit"}) + //@RequiresPermissions(value={"dns:fake:ip:audit"}) public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { if(!StringUtil.isEmpty(ids)){ String[] idArray = ids.split(","); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/DnsResStrategyController.java b/src/main/java/com/nis/web/controller/configuration/proxy/DnsResStrategyController.java similarity index 95% rename from src/main/java/com/nis/web/controller/configuration/ntc/DnsResStrategyController.java rename to src/main/java/com/nis/web/controller/configuration/proxy/DnsResStrategyController.java index c0371704e..6b3843f46 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/DnsResStrategyController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/DnsResStrategyController.java @@ -1,4 +1,4 @@ -package com.nis.web.controller.configuration.ntc; +package com.nis.web.controller.configuration.proxy; import java.util.ArrayList; import java.util.Date; @@ -72,6 +72,7 @@ public class DnsResStrategyController extends BaseController { DnsResStrategy dns0=dnsResStrategyService.getDnsResStrategy(0l,null); if(dns0 == null){ cfg.setCfgId(0l); + cfg.setCfgDesc("无策略"); } initFormCondition(model, cfg); model.addAttribute("isAdd", true); diff --git a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml index 6cb21d12d..3a9192d02 100644 --- a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml @@ -60,7 +60,10 @@ left join sys_user e on r.editor_id=e.id left join sys_user u on r.auditor_id=u.id left join request_info ri on r.request_id=ri.id - + + + AND ${page.where} + AND r.CFG_ID=#{cfgId,jdbcType=BIGINT} @@ -163,14 +166,25 @@ AND r.FUNCTION_ID=#{functionId,jdbcType=INTEGER} - + + + ${sqlMap.dsf} + + + + ORDER BY ${page.orderBy} + + + ORDER BY r.CFG_ID desc + + diff --git a/src/main/java/com/nis/web/dao/configuration/DnsResStrategyDao.java b/src/main/java/com/nis/web/dao/configuration/DnsResStrategyDao.java index c3e34131c..3a1cfd3ad 100644 --- a/src/main/java/com/nis/web/dao/configuration/DnsResStrategyDao.java +++ b/src/main/java/com/nis/web/dao/configuration/DnsResStrategyDao.java @@ -11,6 +11,8 @@ import com.nis.web.dao.MyBatisDao; @MyBatisDao public interface DnsResStrategyDao extends CrudDao { List findPage(DnsResStrategy dnsResStrategy); - List findList(@Param("cfgId")Long cfgId,@Param("isValid")Integer isValid); + List findList(@Param("cfgId")Long cfgId + ,@Param("isAudit")Integer isAudit + ,@Param("isValid")Integer isValid); } \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/DnsResStrategyDao.xml b/src/main/java/com/nis/web/dao/configuration/DnsResStrategyDao.xml index 5357362a6..bc2b53131 100644 --- a/src/main/java/com/nis/web/dao/configuration/DnsResStrategyDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/DnsResStrategyDao.xml @@ -145,15 +145,22 @@ AND r.is_valid !=-1 - AND r.is_valid ==1 + AND r.is_valid =1 - AND r.is_valid ==0 + AND r.is_valid =0 + + + AND r.is_audit =0 + + + AND r.is_audit =1 AND r.CFG_ID=#{cfgId,jdbcType=BIGINT} + order by cfg_Id insert into dns_res_strategy ( diff --git a/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml index 744496790..d1ed4cc11 100644 --- a/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml @@ -23,6 +23,8 @@ + + @@ -121,7 +123,7 @@ a.CFG_ID,a.CFG_DESC,a.ACTION,a.IS_VALID,a.IS_AUDIT, a.CREATOR_ID,a.CREATE_TIME,a.EDITOR_ID,a.EDIT_TIME,a.AUDITOR_ID,a.AUDIT_TIME, a.SERVICE_ID,a.REQUEST_ID,a.COMPILE_ID,a.IS_AREA_EFFECTIVE,a.CLASSIFY, - a.ATTRIBUTE,a.LABLE,a.AREA_EFFECTIVE_IDS,a.function_id + a.ATTRIBUTE,a.LABLE,a.AREA_EFFECTIVE_IDS,a.function_id,a.dns_strategy_id a.cfg_id,a.cfg_desc,a.ip_type,a.src_ip_address,a.ip_pattern,a.port_pattern,a.src_port @@ -148,9 +150,10 @@ , s.name as creator_name,e.name as editor_name,u.name as auditor_name - ,ri.request_title as requestName + ,ri.request_title as requestName,dns.cfg_desc as dns_strategy_name FROM cfg_index_info a + left join dns_res_strategy dns on a.dns_strategy_id=dns.cfg_id left join sys_user s on a.creator_id=s.id left join sys_user e on a.editor_id=e.id left join sys_user u on a.auditor_id=u.id @@ -388,7 +391,8 @@ ATTRIBUTE, LABLE, AREA_EFFECTIVE_IDS, - function_id + function_id, + dns_strategy_id )values ( #{cfgDesc,jdbcType=VARCHAR}, #{action,jdbcType=INTEGER}, @@ -408,7 +412,8 @@ #{attribute,jdbcType=VARCHAR}, #{lable,jdbcType=VARCHAR}, #{areaEffectiveIds,jdbcType=VARCHAR}, - #{functionId,jdbcType=INTEGER} + #{functionId,jdbcType=INTEGER}, + #{dnsStrategyId,jdbcType=INTEGER} ) @@ -774,6 +779,7 @@ function_id = #{functionId,jdbcType=INTEGER}, + dns_strategy_id = #{dnsStrategyId,jdbcType=INTEGER}, where cfg_id = #{cfgId,jdbcType=BIGINT} diff --git a/src/main/java/com/nis/web/service/BaseService.java b/src/main/java/com/nis/web/service/BaseService.java index 37e9fd967..fd8d8883f 100644 --- a/src/main/java/com/nis/web/service/BaseService.java +++ b/src/main/java/com/nis/web/service/BaseService.java @@ -528,9 +528,10 @@ public abstract class BaseService { return resStrategy; } //ip转换为callback用ip - public InlineIp convertCallBackIp(BaseIpCfg cfg){ + public InlineIp convertCallBackIp(BaseIpCfg cfg,Long policyGroup){ IpCfg c=ipConvert(new IpCfg(),cfg); InlineIp ip=new InlineIp(); + ip.setId(cfg.getCompileId()); ip.setCfgId(cfg.getCompileId()); ip.setAction(cfg.getAction()); ip.setService(cfg.getServiceId()); @@ -547,6 +548,7 @@ public abstract class BaseService { ip.setDirection(cfg.getDirection()); ip.setIsValid(cfg.getIsValid()); ip.setOpTime(cfg.getAuditTime()); + ip.setPolicyGroup(policyGroup); return ip; } //区域IPsetAreaEffectiveIds设置 diff --git a/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java b/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java index 97877079f..3cd0d6d04 100644 --- a/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java @@ -13,6 +13,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.nis.domain.Page; +import com.nis.domain.callback.InlineIp; import com.nis.domain.callback.NtcDnsResStrategy; import com.nis.domain.configuration.AreaBean; import com.nis.domain.configuration.AreaIpCfg; @@ -146,36 +147,36 @@ public class DnsIpCfgService extends BaseService{ String json=""; if(entity.getIsAudit()==1){ - List resStrategyList=new ArrayList(); - //NtcDnsResStrategy resStrategy=convertCallBackIp(entity); - //resStrategyList.add(resStrategy); + List resStrategyList=new ArrayList(); + InlineIp resStrategy=convertCallBackIp(entity,entity.getDnsStrategyId()); + resStrategyList.add(resStrategy); //调用服务接口下发配置数据 json=gsonToJson(resStrategyList); - logger.info("DNS响应策略配置下发配置参数:"+json); + logger.info("DNS欺骗ip配置下发配置参数:"+json); //调用服务接口下发配置 try { ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json); if(result!=null){ - logger.info("DNS响应策略配置下发响应信息:"+result.getMsg()); + logger.info("DNS欺骗ip配置下发响应信息:"+result.getMsg()); } } catch (Exception e) { - logger.error("DNS响应策略配置配置下发失败",e); + logger.error("DNS欺骗ip配置下发失败",e); throw e; } }else if(entity.getIsAudit()==3){ - List resStrategyList=new ArrayList<>(); - //NtcDnsResStrategy ntcDnsResStrategy=convertCallBackDnsResStrategy(cfg); - //resStrategyList.add(ntcDnsResStrategy); + List resStrategyList=new ArrayList<>(); + InlineIp resStrategy=convertCallBackIp(entity,entity.getDnsStrategyId()); + resStrategyList.add(resStrategy); //调用服务接口取消配置 json=gsonToJson(resStrategyList); - logger.info("DNS响应策略配置配置参数:"+json); + logger.info("DNS欺骗ip配置参数:"+json); //调用服务接口取消配置 try { ToMaatResult result = ConfigServiceUtil.put(json, 2); - logger.info("DNS响应策略配置响应信息:"+result.getMsg()); + logger.info("DNS欺骗ip配置响应信息:"+result.getMsg()); } catch (Exception e) { e.printStackTrace(); - logger.info("DNS响应策略配置配置失败"); + logger.info("DNS欺骗ip配置配置失败"); throw e; } } diff --git a/src/main/java/com/nis/web/service/configuration/DnsResStrategyService.java b/src/main/java/com/nis/web/service/configuration/DnsResStrategyService.java index 9ecfe19e2..17a3e0fca 100644 --- a/src/main/java/com/nis/web/service/configuration/DnsResStrategyService.java +++ b/src/main/java/com/nis/web/service/configuration/DnsResStrategyService.java @@ -56,13 +56,13 @@ public class DnsResStrategyService extends BaseService{ page.setList(list); return page; } - public List findDnsResStrategys(Long cfgId,Integer isValid) { - List list=dnsResStrategyDao.findList(cfgId,isValid); + public List findDnsResStrategys(Long cfgId,Integer isValid,Integer isAudit) { + List list=dnsResStrategyDao.findList(cfgId,isValid,isAudit); return list; } public DnsResStrategy getDnsResStrategy(Long id,Integer isValid) { - List list=dnsResStrategyDao.findList(id,isValid); + List list=dnsResStrategyDao.findList(id,isValid,null); DnsResStrategy dnsResStrategy=null; if(list != null && list.size()>0){ dnsResStrategy=list.get(0); @@ -73,7 +73,7 @@ public class DnsResStrategyService extends BaseService{ public void saveOrUpdate(DnsResStrategy entity){ Date createTime=new Date(); setAreaEffectiveIds(entity); - List list=dnsResStrategyDao.findList(entity.getCfgId(),null); + List list=dnsResStrategyDao.findList(entity.getCfgId(),null,null); //新增 if(list==null || list.size()==0){ entity.initDefaultValue(); diff --git a/src/main/java/com/nis/web/service/configuration/IpCfgService.java b/src/main/java/com/nis/web/service/configuration/IpCfgService.java index 2ca15f57c..94e7b07eb 100644 --- a/src/main/java/com/nis/web/service/configuration/IpCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/IpCfgService.java @@ -157,7 +157,7 @@ public class IpCfgService extends CrudService { if(cfg.getIsAudit()==1){ if(Constants.DROP_ACTION==cfg.getAction()||Constants.LOOP_ACTION==cfg.getAction()){ List ipList=new ArrayList<>(); - InlineIp ip=convertCallBackIp(cfg); + InlineIp ip=convertCallBackIp(cfg,null); ipList.add(ip); //调用服务接口下发配置数据 json=gsonToJson(ipList); @@ -215,7 +215,7 @@ public class IpCfgService extends CrudService { }else if(cfg.getIsAudit()==3){ if(Constants.DROP_ACTION==cfg.getAction()||Constants.LOOP_ACTION==cfg.getAction()){ List ipList=new ArrayList<>(); - InlineIp ip=convertCallBackIp(cfg); + InlineIp ip=convertCallBackIp(cfg,null); ipList.add(ip); //调用服务接口取消配置 json=gsonToJson(ipList); diff --git a/src/main/java/com/nis/web/service/configuration/WebsiteCfgService.java b/src/main/java/com/nis/web/service/configuration/WebsiteCfgService.java index 5d4c1002f..8b5a596bb 100644 --- a/src/main/java/com/nis/web/service/configuration/WebsiteCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/WebsiteCfgService.java @@ -867,7 +867,10 @@ public class WebsiteCfgService extends CrudService { maatCfg.setGroupNum(groupRelationList.size()); maatCfg.setAreaIpRegionList(areaIpRegionList); maatCfg.setIsValid(entity.getIsValid()); - + // dns reject userRegion=;dnsStrategyId; + if(!StringUtil.isEmpty(entity.getDnsStrategyId())){ + maatCfg.setUserRegion(Constants.USER_REGION_SPLIT+entity.getDnsStrategyId()+Constants.USER_REGION_SPLIT); + } configCompileList.add(maatCfg); maatBean.setConfigCompileList(configCompileList); maatBean.setAuditTime(entity.getAuditTime()); diff --git a/src/main/webapp/WEB-INF/tags/sys/delRow.tag b/src/main/webapp/WEB-INF/tags/sys/delRow.tag index 339b31928..50a19af98 100644 --- a/src/main/webapp/WEB-INF/tags/sys/delRow.tag +++ b/src/main/webapp/WEB-INF/tags/sys/delRow.tag @@ -129,14 +129,30 @@ var checkboxes=$("#${id} ${value} tbody tr td input.i-checks:checkbox"); var compileIdStr=""; var ids=""; var compileIds=""; + var flag=false;//是否删除的为但是响应策略的无策略配置 checkboxes.each(function(){ if(true == $(this).is(':checked')){ - str+=$(this).attr("id")+","; - if($(this).attr("compileId")){ - compileIdStr +=$(this).attr("compileId")+","; - } + var id=$(this).attr("id"); + var serviceId=$(this).attr("id"); + if($(this).attr("serviceId")){ + serviceId=$(this).attr("serviceId"); + } + if(serviceId == 65 && id==0){ + flag=true; + } + str+=$(this).attr("id")+","; + if($(this).attr("compileId")){ + compileIdStr +=$(this).attr("compileId")+","; + } } }); + + + if(flag && url.indexOf("?isAudit=3") > 1){ + top.$.jBox.tip("", ""); + return; + } + if(str.substr(str.length-1)== ','){ ids = str.substr(0,str.length-1); } diff --git a/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgForm.jsp b/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgForm.jsp index c742f0fb0..80a6bc677 100644 --- a/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgForm.jsp @@ -53,6 +53,7 @@ $(function(){ + @@ -76,8 +77,7 @@ $(function(){
diff --git a/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp index 940cd3a61..fbcaad6af 100644 --- a/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp @@ -121,7 +121,6 @@ -
-
href="javascript:;"> diff --git a/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp b/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp index d3ef7aff0..5662afef5 100644 --- a/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/maintenance/dnsResStrategy/list.jsp @@ -280,7 +280,7 @@ - + ${cfg.cfgId }
+
+
+
+ +
+ +
+
+
+
diff --git a/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp b/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp index d3841325b..9c9bb09a1 100644 --- a/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/website/dnsList.jsp @@ -305,6 +305,7 @@ + @@ -329,6 +330,7 @@ ${indexCfg.cfgDesc } + ${indexCfg.dnsStrategyName } diff --git a/src/main/webapp/static/global/scripts/common.js b/src/main/webapp/static/global/scripts/common.js index 208d4b443..9529123bc 100644 --- a/src/main/webapp/static/global/scripts/common.js +++ b/src/main/webapp/static/global/scripts/common.js @@ -23,6 +23,12 @@ $(function(){ $("select[name$='portPattern']").on("change",function(){ switchIpInfo(this); }); + switchAction($("input[name='action']:checked").val()); + //DNS REJECT 时选择dnsStrategyId + $("input[name='action']").on('change',function(){ + var action=$(this).val(); + switchAction(action); + }); $(".glyphicon-plus").on("click",function(){ var obj=$(this).parents(".form-section").next(".container-fluid").clone(); var len=$(this).parents("div").find(".container-fluid:visible").size(); @@ -344,6 +350,20 @@ var switchIpType=function(obj){ } } } +var switchAction=function(action){ + if(action == 16){ //reject + $(".policy").find("input,select,div,button").each(function(){ + $(this).removeAttr("disabled"); + $(this).removeClass("hidden"); + $(this).removeClass("disabled"); + }) + }else{ + $(".policy").find("input,select,div,button").each(function(){ + $(this).attr("disabled","disabled"); + $(this).addClass("hidden"); + }) + } +} //ipType、ipPattern、portPattern选项变化时调用此方法,添加默认值 var switchIpInfo=function(obj){ var ipType="";