(1)IP复用提交

(2)修改保存区域IP的Dao为AreaIpCfgDao
(3)共用页面兼容性调整
(4)针对IP复用的loop action做了特殊处理,此处审核不是走callback
This commit is contained in:
wangxin
2018-06-25 16:55:45 +08:00
parent ea43be405a
commit 393c0f9917
20 changed files with 307 additions and 87 deletions

View File

@@ -46,7 +46,22 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
protected Integer portPattern;
protected String srcPort;
protected String destPort;
protected Long dnsStrategyId;
protected String groupName;
/**
* groupName
* @return groupName
*/
public String getGroupName() {
return groupName;
}
/**
* @param groupName the groupName to set
*/
public void setGroupName(String groupName) {
this.groupName = groupName;
}
/**
* 方向
*/
@@ -227,6 +242,21 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
public void setDestPort(String destPort) {
this.destPort = destPort;
}
/**
* dnsStrategyId
* @return dnsStrategyId
*/
public Long getDnsStrategyId() {
return dnsStrategyId;
}
/**
* @param dnsStrategyId the dnsStrategyId to set
*/
public void setDnsStrategyId(Long dnsStrategyId) {
this.dnsStrategyId = dnsStrategyId;
}
@Override
public void initDefaultValue(){
super.initDefaultValue();

View File

@@ -7,6 +7,10 @@ import java.util.Map;
import com.google.gson.GsonBuilder;
public final class Constants {
/**
* IP复用业务类型
*/
public static final int SERVICE_IP_MULITIPLEX = Configurations.getIntProperty("service_ip_mulitiplex", 768);
/**
* 当前时区
*/

View File

@@ -0,0 +1,90 @@
/**
*@Title: ControlController.java
*@Package com.nis.web.controller.configuration.proxy
*@Description TODO
*@author dell
*@date 2018年6月22日 下午4:35:42
*@version 版本号
*/
package com.nis.web.controller.configuration.manipulation;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.shiro.authz.annotation.Logical;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import com.nis.domain.SysDataDictionaryItem;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.util.DictUtils;
import com.nis.web.controller.configuration.CommonController;
/**
* @ClassName: ControlController.java
* @Description: TODO
* @author (dell)
* @date 2018年6月22日 下午4:35:42
* @version V1.0
*/
@Controller
@RequestMapping("${adminPath}/manipulation/ipmulitiplex")
public class IpMultiplexController extends CommonController {
@RequestMapping(value = {"/list"})
@RequiresPermissions(value={"ip:mulitiplex:config","ip:mulitiplex:audit"},logical=Logical.OR)
public String ipList(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) {
this._ipList(cfgName,model, cfg, request, response);
model.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
model.addAttribute("requiresPermissionPrefix","ip:mulitiplex");
return "/cfg/common/ipList";
}
@RequestMapping(value = {"/form"})
@RequiresPermissions(value={"ip:mulitiplex:config"})
public String ipForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
this._ipForm(cfgName,model, ids, functionId, entity);
SysDataDictionaryItem dict=null;
List<SysDataDictionaryItem> dictList= DictUtils.getDictList("POLICY_GROUP_TYPE");
for(SysDataDictionaryItem di:dictList){
if("ipmulitiplex_type".equals(di.getItemValue())){
dict=di;
break;
}
}
if(dict!=null){
List<PolicyGroupInfo> policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(Integer.parseInt(dict.getItemCode()));
model.addAttribute("policyGroups", policyGroups);
}
model.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
model.addAttribute("requiresPermissionPrefix","ip:mulitiplex");
return "/cfg/common/ipForm";
}
@RequestMapping(value = {"/saveOrUpdate"})
public String saveOrUpdateIp(String cfgName,RedirectAttributes model, IpPortCfg cfg) {
this._saveOrUpdateIp(cfgName,model, cfg);
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+cfg.getFunctionId();
}
@RequestMapping(value = {"/delete"})
@RequiresPermissions("ip:mulitiplex:config")
public String deleteIp(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) {
this._deleteIp(cfgName,ids, compileIds, functionId, model);
model.addAttribute("urlPrefix","/proxy/ipmulitiplex");
model.addAttribute("requiresPermissionPrefix","ip:mulitiplex");
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+functionId;
}
@RequestMapping(value = {"/audit"})
// @RequiresPermissions("ip:mulitiplex:audit")
public String auditIp(String cfgName,String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) {
this._auditIp(cfgName,ids, cfg, redirectAttributes);
redirectAttributes.addAttribute("urlPrefix","/manipulation/ipmulitiplex");
redirectAttributes.addAttribute("requiresPermissionPrefix","ip:mulitiplex");
return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+cfg.getFunctionId();
}
}

View File

@@ -39,7 +39,7 @@ public class RatelimitController extends CommonController {
@RequiresPermissions(value={"ip:ratelimit:config","ip:ratelimit:audit"},logical=Logical.OR)
public String ipList(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) {
this._ipList(cfgName,model, cfg, request, response);
model.addAttribute("urlPrefix","/manipulation/ratelimit");
model.addAttribute("urlPrefix","/manipulation/ratelimit/ip");
model.addAttribute("requiresPermissionPrefix","ip:ratelimit");
return "/cfg/common/ipList";
}
@@ -47,7 +47,7 @@ public class RatelimitController extends CommonController {
@RequiresPermissions(value={"domain:ratelimit:config","domain:ratelimit:audit"},logical=Logical.OR)
public String domainList(String cfgName,Model model,@ModelAttribute("cfg")HttpUrlCfg cfg,HttpServletRequest request,HttpServletResponse response) {
this._domainList(cfgName,model, cfg, request, response);
model.addAttribute("urlPrefix","/manipulation/ratelimit");
model.addAttribute("urlPrefix","/manipulation/ratelimit/domain");
model.addAttribute("requiresPermissionPrefix","domain:ratelimit");
return "/cfg/common/domainList";
}
@@ -55,7 +55,7 @@ public class RatelimitController extends CommonController {
@RequiresPermissions(value={"ip:ratelimit:config"})
public String ipForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
this._ipForm(cfgName,model, ids, functionId, entity);
model.addAttribute("urlPrefix","/manipulation/ratelimit");
model.addAttribute("urlPrefix","/manipulation/ratelimit/ip");
model.addAttribute("requiresPermissionPrefix","ip:ratelimit");
return "/cfg/common/ipForm";
}
@@ -63,7 +63,7 @@ public class RatelimitController extends CommonController {
@RequiresPermissions(value={"domain:ratelimit:config"})
public String domainForm(String cfgName,Model model,String ids,Integer functionId,BaseStringCfg entity) {
this._domainForm(cfgName, model, ids, functionId, entity);
model.addAttribute("urlPrefix","/manipulation/ratelimit");
model.addAttribute("urlPrefix","/manipulation/ratelimit/domain");
model.addAttribute("requiresPermissionPrefix","domain:ratelimit");
return "/cfg/common/domainForm";
}
@@ -81,7 +81,7 @@ public class RatelimitController extends CommonController {
@RequiresPermissions("ip:ratelimit:config")
public String deleteIp(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) {
this._deleteIp(cfgName,ids, compileIds, functionId, model);
model.addAttribute("urlPrefix","/proxy/ratelimit");
model.addAttribute("urlPrefix","/proxy/ratelimit/ip");
model.addAttribute("requiresPermissionPrefix","ip:ratelimit");
return "redirect:" + adminPath +"/manipulation/ratelimit/ip/list?functionId="+functionId;
}
@@ -89,7 +89,7 @@ public class RatelimitController extends CommonController {
@RequiresPermissions("domain:ratelimit:config")
public String deleteDomain(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) {
this._deleteDomain(cfgName, ids, compileIds, functionId, model);
model.addAttribute("urlPrefix","/manipulation/ratelimit");
model.addAttribute("urlPrefix","/manipulation/ratelimit/domain");
model.addAttribute("requiresPermissionPrefix","domain:ratelimit");
return "redirect:" + adminPath +"/manipulation/ratelimit/domain/list?functionId="+functionId;
}
@@ -97,7 +97,7 @@ public class RatelimitController extends CommonController {
// @RequiresPermissions("ip:ratelimit:audit")
public String auditIp(String cfgName,String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) {
this._auditIp(cfgName,ids, cfg, redirectAttributes);
redirectAttributes.addAttribute("urlPrefix","/manipulation/ratelimit");
redirectAttributes.addAttribute("urlPrefix","/manipulation/ratelimit/ip");
redirectAttributes.addAttribute("requiresPermissionPrefix","ip:ratelimit");
return "redirect:" + adminPath +"/manipulation/ratelimit/ip/list?functionId="+cfg.getFunctionId();
}
@@ -105,7 +105,7 @@ public class RatelimitController extends CommonController {
// @RequiresPermissions("domain:ratelimit:audit")
public String auditDomain(String ids,HttpUrlCfg cfg,RedirectAttributes redirectAttributes) {
this._auditDomain(ids, cfg, redirectAttributes);
redirectAttributes.addAttribute("urlPrefix","/manipulation/ratelimit");
redirectAttributes.addAttribute("urlPrefix","/manipulation/ratelimit/domain");
redirectAttributes.addAttribute("requiresPermissionPrefix","domain:ratelimit");
return "redirect:" + adminPath +"/manipulation/ratelimit/domain/list?functionId="+cfg.getFunctionId();
}

View File

@@ -129,7 +129,7 @@ public class WhiteListController extends BaseController{
}else{//修改
cfg.setEditorId(cfg.getCurrentUser().getId());
cfg.setEditTime(new Date());
stringCfgService.updateStringCfg((BaseStringCfg)cfg,null,null,null);
stringCfgService.updateStringCfg((BaseStringCfg)cfg);
}
addMessage(model,"save_success");
}catch(Exception e){

View File

@@ -39,7 +39,7 @@ public class ControlController extends CommonController {
@RequiresPermissions(value={"control:ip:config","control:ip:audit"},logical=Logical.OR)
public String ipList(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) {
this._ipList(cfgName,model, cfg, request, response);
model.addAttribute("urlPrefix","/proxy/control");
model.addAttribute("urlPrefix","/proxy/control/ip");
model.addAttribute("requiresPermissionPrefix","control:ip");
return "/cfg/common/ipList";
}
@@ -47,7 +47,7 @@ public class ControlController extends CommonController {
@RequiresPermissions(value={"control:domain:config","control:domain:audit"},logical=Logical.OR)
public String domainList(String cfgName,Model model,@ModelAttribute("cfg")HttpUrlCfg cfg,HttpServletRequest request,HttpServletResponse response) {
this._domainList(cfgName,model, cfg, request, response);
model.addAttribute("urlPrefix","/proxy/control");
model.addAttribute("urlPrefix","/proxy/control/domain");
model.addAttribute("requiresPermissionPrefix","control:domain");
return "/cfg/common/domainList";
}
@@ -55,7 +55,7 @@ public class ControlController extends CommonController {
@RequiresPermissions(value={"control:ip:config"})
public String ipForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
this._ipForm(cfgName,model, ids, functionId, entity);
model.addAttribute("urlPrefix","/proxy/control");
model.addAttribute("urlPrefix","/proxy/control/ip");
model.addAttribute("requiresPermissionPrefix","control:ip");
return "/cfg/common/ipForm";
}
@@ -63,7 +63,7 @@ public class ControlController extends CommonController {
@RequiresPermissions(value={"control:domain:config"})
public String domainForm(String cfgName,Model model,String ids,Integer functionId,BaseStringCfg entity) {
this._domainForm(cfgName, model, ids, functionId, entity);
model.addAttribute("urlPrefix","/proxy/control");
model.addAttribute("urlPrefix","/proxy/control/domain");
model.addAttribute("requiresPermissionPrefix","control:domain");
return "/cfg/common/domainForm";
}
@@ -81,7 +81,7 @@ public class ControlController extends CommonController {
@RequiresPermissions("control:ip:config")
public String deleteIp(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) {
this._deleteIp(cfgName,ids, compileIds, functionId, model);
model.addAttribute("urlPrefix","/proxy/control");
model.addAttribute("urlPrefix","/proxy/control/ip");
model.addAttribute("requiresPermissionPrefix","control:ip");
return "redirect:" + adminPath +"/proxy/control/ip/list?functionId="+functionId;
}
@@ -89,7 +89,7 @@ public class ControlController extends CommonController {
@RequiresPermissions("config:domain:config")
public String deleteDomain(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) {
this._deleteDomain(cfgName, ids, compileIds, functionId, model);
model.addAttribute("urlPrefix","/proxy/control");
model.addAttribute("urlPrefix","/proxy/control/domain");
model.addAttribute("requiresPermissionPrefix","control:domain");
return "redirect:" + adminPath +"/proxy/control/domain/list?functionId="+functionId;
}
@@ -97,7 +97,7 @@ public class ControlController extends CommonController {
// @RequiresPermissions("control:ip:audit")
public String auditIp(String cfgName,String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) {
this._auditIp(cfgName,ids, cfg, redirectAttributes);
redirectAttributes.addAttribute("urlPrefix","/proxy/control");
redirectAttributes.addAttribute("urlPrefix","/proxy/control/ip");
redirectAttributes.addAttribute("requiresPermissionPrefix","control:ip");
return "redirect:" + adminPath +"/proxy/control/ip/list?functionId="+cfg.getFunctionId();
}
@@ -105,7 +105,7 @@ public class ControlController extends CommonController {
// @RequiresPermissions("control:domain:audit")
public String auditDomain(String ids,HttpUrlCfg cfg,RedirectAttributes redirectAttributes) {
this._auditDomain(ids, cfg, redirectAttributes);
redirectAttributes.addAttribute("urlPrefix","/proxy/control");
redirectAttributes.addAttribute("urlPrefix","/proxy/control/domain");
redirectAttributes.addAttribute("requiresPermissionPrefix","control:domain");
return "redirect:" + adminPath +"/proxy/control/domain/list?functionId="+cfg.getFunctionId();
}

View File

@@ -29,7 +29,7 @@ public class InterceptController extends CommonController{
@RequiresPermissions(value={"intercept:ip:config","intercept:ip:audit"},logical=Logical.OR)
public String ipList(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) {
this._ipList(cfgName,model, cfg, request, response);
model.addAttribute("urlPrefix","/proxy/intercept");
model.addAttribute("urlPrefix","/proxy/intercept/ip");
model.addAttribute("requiresPermissionPrefix","intercept:ip");
return "/cfg/common/ipList";
}
@@ -37,7 +37,7 @@ public class InterceptController extends CommonController{
@RequiresPermissions(value={"intercept:domain:config","intercept:domain:audit"},logical=Logical.OR)
public String domainList(String cfgName,Model model,@ModelAttribute("cfg")HttpUrlCfg cfg,HttpServletRequest request,HttpServletResponse response) {
this._domainList(cfgName,model, cfg, request, response);
model.addAttribute("urlPrefix","/proxy/intercept");
model.addAttribute("urlPrefix","/proxy/intercept/domain");
model.addAttribute("requiresPermissionPrefix","intercept:domain");
return "/cfg/common/domainList";
}
@@ -45,7 +45,7 @@ public class InterceptController extends CommonController{
@RequiresPermissions(value={"intercept:ip:config"})
public String ipForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) {
this._ipForm(cfgName,model, ids, functionId, entity);
model.addAttribute("urlPrefix","/proxy/intercept");
model.addAttribute("urlPrefix","/proxy/intercept/ip");
model.addAttribute("requiresPermissionPrefix","intercept:ip");
return "/cfg/common/ipForm";
}
@@ -53,7 +53,7 @@ public class InterceptController extends CommonController{
@RequiresPermissions(value={"intercept:domain:config"})
public String domainForm(String cfgName,Model model,String ids,Integer functionId,BaseStringCfg entity) {
this._domainForm(cfgName, model, ids, functionId, entity);
model.addAttribute("urlPrefix","/proxy/intercept");
model.addAttribute("urlPrefix","/proxy/intercept/domain");
model.addAttribute("requiresPermissionPrefix","intercept:domain");
return "/cfg/common/domainForm";
}
@@ -71,7 +71,7 @@ public class InterceptController extends CommonController{
@RequiresPermissions("intercept:ip:config")
public String deleteIp(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) {
this._deleteIp(cfgName,ids, compileIds, functionId, model);
model.addAttribute("urlPrefix","/proxy/intercept");
model.addAttribute("urlPrefix","/proxy/intercept/ip");
model.addAttribute("requiresPermissionPrefix","intercept:ip");
return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+functionId;
}
@@ -79,7 +79,7 @@ public class InterceptController extends CommonController{
@RequiresPermissions("intercept:domain:config")
public String deleteDomain(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) {
this._deleteDomain(cfgName, ids, compileIds, functionId, model);
model.addAttribute("urlPrefix","/proxy/intercept");
model.addAttribute("urlPrefix","/proxy/intercept/domain");
model.addAttribute("requiresPermissionPrefix","intercept:domain");
return "redirect:" + adminPath +"/proxy/intercept/domain/list?functionId="+functionId;
}
@@ -87,7 +87,7 @@ public class InterceptController extends CommonController{
// @RequiresPermissions("intercept:ip:audit")
public String auditIp(String cfgName,String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) {
this._auditIp(cfgName,ids, cfg, redirectAttributes);
redirectAttributes.addAttribute("urlPrefix","/proxy/intercept");
redirectAttributes.addAttribute("urlPrefix","/proxy/intercept/ip");
redirectAttributes.addAttribute("requiresPermissionPrefix","intercept:ip");
return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+cfg.getFunctionId();
}
@@ -95,7 +95,7 @@ public class InterceptController extends CommonController{
// @RequiresPermissions("intercept:domain:audit")
public String auditDomain(String ids,HttpUrlCfg cfg,RedirectAttributes redirectAttributes) {
this._auditDomain(ids, cfg, redirectAttributes);
redirectAttributes.addAttribute("urlPrefix","/proxy/intercept");
redirectAttributes.addAttribute("urlPrefix","/proxy/intercept/domain");
redirectAttributes.addAttribute("requiresPermissionPrefix","intercept:domain");
return "redirect:" + adminPath +"/proxy/intercept/domain/list?functionId="+cfg.getFunctionId();
}

View File

@@ -11,6 +11,7 @@ import com.nis.web.dao.MyBatisDao;
public interface PolicyGroupInfoDao extends CrudDao<PolicyGroupInfo> {
List<PolicyGroupInfo> findPolicyGroupInfoList(PolicyGroupInfo policyGroupInfo);
List<PolicyGroupInfo> findPolicyGroupInfos();
List<PolicyGroupInfo> findPolicyGroupInfosByType(int groupType);
PolicyGroupInfo getById(int id);
}

View File

@@ -66,6 +66,12 @@
FROM policy_group_info r
where r.is_valid=1
</select>
<select id="findPolicyGroupInfosByType" resultMap="PolicyGroupInfoMap">
SELECT
<include refid="PolicyGroupInfoColumns"/>
FROM policy_group_info r
where r.is_valid=1 and r.group_type=#{groupType,jdbcType=INTEGER}
</select>
<insert id="insert" parameterType="com.nis.domain.basics.PolicyGroupInfo" >
insert into policy_group_info(
IS_VALID,

View File

@@ -121,6 +121,77 @@
#{cfgRegionCode,jdbcType=INTEGER}
)
</insert>
<!-- insert 方法用于区域IP的批量处理请勿删除 -->
<insert id="insert" parameterType="com.nis.domain.configuration.AreaIpCfg" >
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
SELECT LAST_INSERT_ID()
</selectKey>
insert into area_ip_cfg (
CFG_DESC,
ACTION,
IS_VALID,
IS_AUDIT,
CREATOR_ID,
CREATE_TIME,
EDITOR_ID,
EDIT_TIME,
AUDITOR_ID,
AUDIT_TIME,
SERVICE_ID,
REQUEST_ID,
COMPILE_ID,
IS_AREA_EFFECTIVE,
CLASSIFY,
ATTRIBUTE,
LABLE,
AREA_EFFECTIVE_IDS,
function_id,
ip_type,
src_ip_address,
ip_pattern,
port_pattern,
src_port,
protocol,
protocol_id,
direction,
dest_port,
dest_ip_address,
cfg_type,
cfg_region_code
)values (
#{cfgDesc,jdbcType=VARCHAR},
#{action,jdbcType=INTEGER},
0,
0,
#{creatorId,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP},
#{editorId,jdbcType=INTEGER},
#{editTime,jdbcType=TIMESTAMP},
#{auditorId,jdbcType=INTEGER},
#{auditTime,jdbcType=TIMESTAMP},
#{serviceId,jdbcType=INTEGER},
#{requestId,jdbcType=INTEGER},
#{compileId,jdbcType=INTEGER},
#{isAreaEffective,jdbcType=INTEGER},
#{classify,jdbcType=VARCHAR},
#{attribute,jdbcType=VARCHAR},
#{lable,jdbcType=VARCHAR},
#{areaEffectiveIds,jdbcType=VARCHAR},
#{functionId,jdbcType=INTEGER},
#{ipType,jdbcType=INTEGER},
#{srcIpAddress,jdbcType=VARCHAR},
#{ipPattern,jdbcType=INTEGER},
#{portPattern,jdbcType=INTEGER},
#{srcPort,jdbcType=VARCHAR},
#{protocol,jdbcType=INTEGER},
#{protocolId,jdbcType=INTEGER},
#{direction,jdbcType=INTEGER},
#{destPort,jdbcType=VARCHAR},
#{destIpAddress,jdbcType=VARCHAR},
#{cfgType,jdbcType=VARCHAR},
#{cfgRegionCode,jdbcType=INTEGER}
)
</insert>
<!-- update av_voip_ip_cfg表信息 -->
<update id="updateAreaIpCfg" parameterType="com.nis.domain.configuration.AreaIpCfg" >

View File

@@ -35,13 +35,13 @@
<result column="area_effective_ids" property="areaEffectiveIds" jdbcType="VARCHAR" />
<result column="function_id" property="functionId" jdbcType="INTEGER" />
<result column="ratelimit" property="ratelimit" jdbcType="INTEGER" />
<result column="dns_strategy_id" property="dnsStrategyId" jdbcType="INTEGER" />
</resultMap>
<resultMap id="BaseIpMapWithUser" type="com.nis.domain.configuration.BaseIpCfg" extends="BaseIpMap" >
<result column="creator_name" property="creatorName" jdbcType="VARCHAR" />
<result column="auditor_name" property="auditorName" jdbcType="VARCHAR" />
<result column="editor_name" property="editorName" jdbcType="VARCHAR" />
<result column="group_name" property="groupName" jdbcType="VARCHAR" />
</resultMap>
<sql id="BaseIpCfg_Column_List_with_id" >
@@ -49,7 +49,7 @@
DIRECTION,PROTOCOL,PROTOCOL_ID,ACTION,IS_VALID,IS_AUDIT,
CREATOR_ID,CREATE_TIME,EDITOR_ID,EDIT_TIME,AUDITOR_ID,AUDIT_TIME,
SERVICE_ID,REQUEST_ID,COMPILE_ID,IS_AREA_EFFECTIVE,CLASSIFY,
ATTRIBUTE,LABLE,AREA_EFFECTIVE_IDS,FUNCTION_ID,RATELIMIT
ATTRIBUTE,LABLE,AREA_EFFECTIVE_IDS,FUNCTION_ID,RATELIMIT,DNS_STRATEGY_ID
</sql>
<sql id="BaseIpCfg_Column_List_with_id_alias" >
<choose>
@@ -59,7 +59,8 @@
${page.alias}.DIRECTION as direction,${page.alias}.PROTOCOL as protocol,${page.alias}.PROTOCOL_ID as protocolId,${page.alias}.ACTION as action,${page.alias}.IS_VALID as isValid,${page.alias}.IS_AUDIT as isAudit,
${page.alias}.CREATOR_ID as creatorId,${page.alias}.CREATE_TIME AS createTime,${page.alias}.EDITOR_ID as editorId,${page.alias}.EDIT_TIME AS editTime,${page.alias}.AUDITOR_ID as auditorId,${page.alias}.AUDIT_TIME AS auditTime,
${page.alias}.SERVICE_ID as serviceId,${page.alias}.REQUEST_ID AS requestId,${page.alias}.COMPILE_ID AS compileId,${page.alias}.IS_AREA_EFFECTIVE as isAreaEffective,${page.alias}.classify,
${page.alias}.ATTRIBUTE AS attribute,${page.alias}.LABLE AS lable,${page.alias}.AREA_EFFECTIVE_IDS AS areaEffectiveIds,${page.alias}.FUNCTION_ID AS functionId,${page.alias}.RATELIMIT AS ratelimit
${page.alias}.ATTRIBUTE AS attribute,${page.alias}.LABLE AS lable,${page.alias}.AREA_EFFECTIVE_IDS AS areaEffectiveIds,${page.alias}.FUNCTION_ID AS functionId,${page.alias}.RATELIMIT AS ratelimit,
${page.alias}.DNS_STRATEGY_ID AS dnsStrategyId
</when>
<otherwise>
r.CFG_ID as cfgId, r.CFG_DESC as cfgDesc,r.CFG_REGION_CODE as cfgRegionCode,r.CFG_TYPE as cfgType, r.IP_TYPE as ipType,
@@ -67,7 +68,8 @@
r.DIRECTION as direction,r.PROTOCOL as protocol,r.PROTOCOL_ID as protocolId,r.ACTION as action,r.IS_VALID as isValid,r.IS_AUDIT as isAudit,
r.CREATOR_ID as creatorId,r.CREATE_TIME AS createTime,r.EDITOR_ID as editorId,r.EDIT_TIME AS editTime,r.AUDITOR_ID as auditorId,r.AUDIT_TIME AS auditTime,
r.SERVICE_ID as serviceId,r.REQUEST_ID AS requestId,r.COMPILE_ID AS compileId,r.IS_AREA_EFFECTIVE as isAreaEffective,r.classify,
r.ATTRIBUTE AS attribute,r.LABLE AS lable,r.AREA_EFFECTIVE_IDS AS areaEffectiveIds,r.FUNCTION_ID as functionId,r.RATELIMIT AS ratelimit
r.ATTRIBUTE AS attribute,r.LABLE AS lable,r.AREA_EFFECTIVE_IDS AS areaEffectiveIds,r.FUNCTION_ID as functionId,r.RATELIMIT AS ratelimit,
r.DNS_STRATEGY_ID AS dnsStrategyId
</otherwise>
</choose>
</sql>
@@ -81,7 +83,7 @@
AUDITOR_ID,AUDIT_TIME,SERVICE_ID,
REQUEST_ID,COMPILE_ID,IS_AREA_EFFECTIVE,
CLASSIFY,ATTRIBUTE,LABLE,
AREA_EFFECTIVE_IDS,FUNCTION_ID,RATELIMIT
AREA_EFFECTIVE_IDS,FUNCTION_ID,RATELIMIT,DNS_STRATEGY_ID
</sql>
<sql id="BaseIpCfg_Value_List" >
#{cfgDesc,jdbcType=VARCHAR},#{cfgRegionCode,jdbcType=INTEGER},#{cfgType,jdbcType=VARCHAR},
@@ -93,7 +95,8 @@
#{auditorId,jdbcType=INTEGER},#{auditTime,jdbcType=TIMESTAMP},#{serviceId,jdbcType=INTEGER},
#{requestId,jdbcType=INTEGER},#{compileId,jdbcType=INTEGER},#{isAreaEffective,jdbcType=INTEGER},
#{classify,jdbcType=VARCHAR},#{attribute,jdbcType=VARCHAR},#{lable,jdbcType=VARCHAR},
#{areaEffectiveIds,jdbcType=VARCHAR}, #{functionId,jdbcType=INTEGER}, #{ratelimit,jdbcType=INTEGER}
#{areaEffectiveIds,jdbcType=VARCHAR}, #{functionId,jdbcType=INTEGER}, #{ratelimit,jdbcType=INTEGER},
#{dnsStrategyId,jdbcType=INTEGER}
</sql>
<select id="getById" resultMap="BaseIpMap" parameterType="java.lang.Long" >
SELECT
@@ -142,7 +145,7 @@
</choose> -->
<trim prefix="," prefixOverrides=",">
, 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,po.group_name as group_name
</trim>
from ${tableName}
<choose>
@@ -155,6 +158,7 @@
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
left join policy_group_info po on r.dns_strategy_id=po.group_id
<trim prefix="WHERE" prefixOverrides="AND |OR ">
<if test="page !=null and page.where != null and page.where != ''">
AND ${page.where}
@@ -263,6 +267,9 @@
<if test="ratelimit != null">
AND ${page.alias}.RATELIMIT=#{ratelimit,jdbcType=INTEGER}
</if>
<if test="dnsStrategyId != null">
AND ${page.alias}.DNS_STRATEGY_ID=#{dnsStrategyId,jdbcType=INTEGER}
</if>
</when>
<otherwise>
<if test="cfgId != null">
@@ -367,6 +374,9 @@
<if test="ratelimit != null">
AND r.RATELIMIT=#{ratelimit,jdbcType=INTEGER}
</if>
<if test="dnsStrategyId != null">
AND r.DNS_STRATEGY_ID=#{dnsStrategyId,jdbcType=INTEGER}
</if>
</otherwise>
</choose>
<!-- 数据范围过滤 -->
@@ -511,11 +521,14 @@
area_effective_ids = #{areaEffectiveIds,jdbcType=VARCHAR},
</if>
<if test="functionId != null">
FUNCTION_ID=#{functionId,jdbcType=INTEGER}
FUNCTION_ID=#{functionId,jdbcType=INTEGER},
</if>
<if test="ratelimit != null">
RATELIMIT=#{ratelimit,jdbcType=INTEGER}
RATELIMIT=#{ratelimit,jdbcType=INTEGER},
</if>
<if test="dnsStrategyId != null">
DNS_STRATEGY_ID=#{dnsStrategyId,jdbcType=INTEGER},
</if>
</trim>
</set>
where cfg_id = #{cfgId,jdbcType=BIGINT}

View File

@@ -16,6 +16,7 @@ import com.nis.domain.configuration.AreaIpCfg;
import com.nis.domain.configuration.BaseCfg;
import com.nis.domain.configuration.BaseIpCfg;
import com.nis.web.dao.CrudDao;
import com.nis.web.dao.configuration.AreaIpCfgDao;
import com.nis.web.dao.configuration.IpCfgDao;
/**
@@ -133,7 +134,7 @@ public abstract class CrudService<D extends CrudDao<T>, T extends BaseEntity<T>>
batchSqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
for(int index = 0; index < areaIpCfgs.size();index++){
AreaIpCfg t = areaIpCfgs.get(index);
((CrudDao<BaseIpCfg>) batchSqlSession.getMapper(IpCfgDao.class)).insert(t);
((CrudDao<AreaIpCfg>) batchSqlSession.getMapper(AreaIpCfgDao.class)).insert(t);
}
batchSqlSession.commit();
}finally {

View File

@@ -1,22 +1,14 @@
package com.nis.web.service.basics;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.nis.domain.Page;
import com.nis.domain.basics.PolicyGroupInfo;
import com.nis.domain.configuration.AreaIpCfg;
import com.nis.domain.configuration.AvVoipAccountCfg;
import com.nis.domain.configuration.AvVoipIpCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.exceptions.MaatConvertException;
import com.nis.util.ConfigServiceUtil;
import com.nis.util.StringUtil;
import com.nis.web.dao.basics.PolicyGroupInfoDao;
import com.nis.web.security.UserUtils;
@@ -44,6 +36,10 @@ public class PolicyGroupInfoService extends BaseService{
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyGroupInfos();
return list;
}
public List<PolicyGroupInfo> findPolicyGroupInfosByType(int type) {
List<PolicyGroupInfo> list=policyGroupInfoDao.findPolicyGroupInfosByType(type);
return list;
}
public PolicyGroupInfo getById(int id) {
PolicyGroupInfo policyGroupInfo=policyGroupInfoDao.getById(id);

View File

@@ -155,7 +155,7 @@ public class IpCfgService extends CrudService<IpCfgDao,BaseIpCfg> {
BeanUtils.copyProperties(cfg, maatCfg);
String json="";
if(cfg.getIsAudit()==1){
if(Constants.DROP_ACTION==cfg.getAction()||Constants.LOOP_ACTION==cfg.getAction()){
if(Constants.SERVICE_IP_MULITIPLEX!=cfg.getServiceId().intValue() &&(Constants.DROP_ACTION==cfg.getAction()||Constants.LOOP_ACTION==cfg.getAction())){
List<InlineIp> ipList=new ArrayList<>();
InlineIp ip=convertCallBackIp(cfg,null);
ipList.add(ip);

View File

@@ -111,29 +111,6 @@ public class StringCfgService extends CrudService<StringCfgDao,BaseStringCfg> {
}
}
/**
*
* updateStringCfg(更新IP类配置)
* (继承BaseStringCfg这个类方可使用)
* @param baseStringCfg
* @return
*int
* @exception
* @since 1.0.0
*/
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public int updateStringCfg(BaseStringCfg baseStringCfg,List<BaseIpCfg> addAreaCfg,List<BaseIpCfg> updateAreaCfg,List<BaseIpCfg> deleteAreaCfgs){
if(addAreaCfg!=null&&addAreaCfg.size()>0){
// this.saveIpBatch(addAreaCfg);
}
if(updateAreaCfg!=null&&updateAreaCfg.size()>0){
this.updateIpBatch(updateAreaCfg);
}
if(deleteAreaCfgs!=null&&deleteAreaCfgs.size()>0){
this.deleteIpBatch(deleteAreaCfgs);
}
return stringCfgDao.update(baseStringCfg);
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void updateStringCfg(BaseStringCfg cfg){
AreaIpCfg area=new AreaIpCfg();