Merge branch 'develop' of https://git.mesalab.cn/K18_NTCS_WEB/NTC.git into develop

This commit is contained in:
tanghao
2018-12-17 23:44:20 +08:00
17 changed files with 397 additions and 40 deletions

View File

@@ -39,6 +39,7 @@ public class AppFeatureIndex extends BaseCfg<AppFeatureIndex> {
private List<AppIpCfg> ipPortList = new ArrayList(); private List<AppIpCfg> ipPortList = new ArrayList();
private List<AppStringFeatureCfg> strList = new ArrayList(); private List<AppStringFeatureCfg> strList = new ArrayList();
private List<AppComplexFeatureCfg> complexList = new ArrayList(); private List<AppComplexFeatureCfg> complexList = new ArrayList();
private List<AppTcpCfg> numCfgList = new ArrayList();
protected Integer exprType ; protected Integer exprType ;
protected Integer matchMethod ; protected Integer matchMethod ;
protected Integer isHexbin; protected Integer isHexbin;
@@ -126,5 +127,11 @@ public class AppFeatureIndex extends BaseCfg<AppFeatureIndex> {
public void setCfgRegionCode1(String cfgRegionCode1) { public void setCfgRegionCode1(String cfgRegionCode1) {
this.cfgRegionCode1 = cfgRegionCode1; this.cfgRegionCode1 = cfgRegionCode1;
} }
public List<AppTcpCfg> getNumCfgList() {
return numCfgList;
}
public void setNumCfgList(List<AppTcpCfg> numCfgList) {
this.numCfgList = numCfgList;
}
} }

View File

@@ -34,7 +34,6 @@ public class PolicyGroupController extends BaseController {
Page<PolicyGroupInfo> pageCondition = new Page<PolicyGroupInfo>(request, response,"r"); Page<PolicyGroupInfo> pageCondition = new Page<PolicyGroupInfo>(request, response,"r");
Page page = policyGroupInfoService.findPolicyGroupInfoList(pageCondition,cfg); Page page = policyGroupInfoService.findPolicyGroupInfoList(pageCondition,cfg);
model.addAttribute("cfg", cfg); model.addAttribute("cfg", cfg);
model.addAttribute("page", page); model.addAttribute("page", page);
return "/basics/policyGroupList"; return "/basics/policyGroupList";
@@ -49,11 +48,12 @@ public class PolicyGroupController extends BaseController {
*/ */
//@RequiresPermissions(value={"basics:classification:add","basics:attribute:add","basics:label:add","basics:classification:edit","basics:attribute:edit","basics:label:edit","basics:classification:view","basics:attribute:view","basics:label:view"},logical=Logical.OR) //@RequiresPermissions(value={"basics:classification:add","basics:attribute:add","basics:label:add","basics:classification:edit","basics:attribute:edit","basics:label:edit","basics:classification:view","basics:attribute:view","basics:label:view"},logical=Logical.OR)
@RequestMapping(value={"/policyGroupForm"}) @RequestMapping(value={"/policyGroupForm"})
public String form(String ids,Model model,String doAction,RedirectAttributes redirectAttributes) { public String form(Integer groupType,String ids,Model model,String doAction,RedirectAttributes redirectAttributes) {
PolicyGroupInfo policyGroup=new PolicyGroupInfo(); PolicyGroupInfo policyGroup=new PolicyGroupInfo();
if(!StringUtil.isEmpty(ids)){ if(!StringUtil.isEmpty(ids)){
policyGroup=policyGroupInfoService.getById(Integer.parseInt(ids)); policyGroup=policyGroupInfoService.getById(Integer.parseInt(ids));
} }
policyGroup.setGroupType(groupType);
model.addAttribute("_cfg", policyGroup); model.addAttribute("_cfg", policyGroup);
return "/basics/policyGroupForm"; return "/basics/policyGroupForm";
} }
@@ -64,7 +64,7 @@ public class PolicyGroupController extends BaseController {
//@RequiresPermissions(value={"basics:classification:add","basics:attribute:add","basics:label:add","basics:classification:edit","basics:attribute:edit","basics:label:edit"},logical=Logical.OR) //@RequiresPermissions(value={"basics:classification:add","basics:attribute:add","basics:label:add","basics:classification:edit","basics:attribute:edit","basics:label:edit"},logical=Logical.OR)
@RequestMapping(value = "saveOrUpdate") @RequestMapping(value = "saveOrUpdate")
public String saveOrUpdate(PolicyGroupInfo cfg,Model model, public String saveOrUpdate(PolicyGroupInfo cfg,Model model,
RedirectAttributes redirectAttributes,String itType) { RedirectAttributes redirectAttributes,String itType,Integer groupType) {
try { try {
policyGroupInfoService.saveOrUpdate(cfg); policyGroupInfoService.saveOrUpdate(cfg);
@@ -74,7 +74,7 @@ public class PolicyGroupController extends BaseController {
addMessage(redirectAttributes,"error","save_failed"); addMessage(redirectAttributes,"error","save_failed");
} }
return "redirect:" + adminPath + "/basics/policyGroup/policyGroupList"; return "redirect:" + adminPath + "/basics/policyGroup/policyGroupList?groupType="+groupType;
} }
@@ -86,7 +86,7 @@ public class PolicyGroupController extends BaseController {
*/ */
//@RequiresPermissions(value={"basics:classification:del","basics:attribute:del","basics:label:del"},logical=Logical.OR) //@RequiresPermissions(value={"basics:classification:del","basics:attribute:del","basics:label:del"},logical=Logical.OR)
@RequestMapping(value={"delete"}) @RequestMapping(value={"delete"})
public String delete(RedirectAttributes redirectAttributes, String ids,int isValid) { public String delete(RedirectAttributes redirectAttributes, Integer groupType,String ids,int isValid) {
try { try {
policyGroupInfoService.deldete(ids,isValid); policyGroupInfoService.deldete(ids,isValid);
addMessage(redirectAttributes,"success","delete_success"); addMessage(redirectAttributes,"success","delete_success");
@@ -94,7 +94,7 @@ public class PolicyGroupController extends BaseController {
logger.error("删除失败",e); logger.error("删除失败",e);
addMessage(redirectAttributes,"error","delete_failed"); addMessage(redirectAttributes,"error","delete_failed");
} }
return "redirect:" + adminPath + "/basics/policyGroup/policyGroupList"; return "redirect:" + adminPath + "/basics/policyGroup/policyGroupList?groupType="+groupType;
} }
@RequestMapping(value="ajaxServiceIdState",method=RequestMethod.POST) @RequestMapping(value="ajaxServiceIdState",method=RequestMethod.POST)
@ResponseBody @ResponseBody
@@ -121,7 +121,7 @@ public class PolicyGroupController extends BaseController {
if(cfg.getGroupId() != null){ if(cfg.getGroupId() != null){
PolicyGroupInfo policyGroup = policyGroupInfoService.getInfoByAsnNo(cfg); PolicyGroupInfo policyGroup = policyGroupInfoService.getInfoByAsnNo(cfg);
if(policyGroup != null && policyGroup.getAsnNo().equals(cfg.getAsnNo()) ){ if(policyGroup != null &&policyGroup.getIsValid()!=0&& policyGroup.getAsnNo().equals(cfg.getAsnNo()) ){
return true; return true;
} }
} }

View File

@@ -104,6 +104,7 @@ public class AppFeatureCfgController extends BaseController {
entity.setIpPortList(appMultiFeatureCfgService.getAppIpRangeCfg(entity.getCompileId(), entity.getFunctionId())); entity.setIpPortList(appMultiFeatureCfgService.getAppIpRangeCfg(entity.getCompileId(), entity.getFunctionId()));
entity.setStrList(appMultiFeatureCfgService.getAppStringFeatureCfg(entity.getCompileId(), entity.getFunctionId(),null)); entity.setStrList(appMultiFeatureCfgService.getAppStringFeatureCfg(entity.getCompileId(), entity.getFunctionId(),null));
entity.setComplexList(appMultiFeatureCfgService.getAppComplexFeatureCfg(entity.getCompileId(), entity.getFunctionId(),null)); entity.setComplexList(appMultiFeatureCfgService.getAppComplexFeatureCfg(entity.getCompileId(), entity.getFunctionId(),null));
entity.setNumCfgList(appMultiFeatureCfgService.getAppTcpCfg(entity.getCompileId(), entity.getFunctionId(),null));
initUpdateFormCondition(model,entity); initUpdateFormCondition(model,entity);
}else{ }else{
initFormCondition(model,entity); initFormCondition(model,entity);
@@ -249,6 +250,10 @@ public class AppFeatureCfgController extends BaseController {
List<AppComplexFeatureCfg> complexList = appMultiFeatureCfgService.getAppComplexFeatureCfg(compileId,functionId,Integer.valueOf(cfgRegionCode[i])); List<AppComplexFeatureCfg> complexList = appMultiFeatureCfgService.getAppComplexFeatureCfg(compileId,functionId,Integer.valueOf(cfgRegionCode[i]));
map.put("complexList", complexList); map.put("complexList", complexList);
} }
if("4".equals(cfgRegionType[i])){
List<AppTcpCfg> numCfgList = appMultiFeatureCfgService.getAppTcpCfg(compileId,functionId,Integer.valueOf(cfgRegionCode[i]));
map.put("numCfgList", numCfgList);
}
tabList.add(map); tabList.add(map);
} }
}else{ }else{

View File

@@ -56,6 +56,12 @@ public interface AppMultiFeatureCfgDao {
//增强字符串类特征配置 //增强字符串类特征配置
public List<AppComplexFeatureCfg> getAppComplexFeatureCfg(@Param("compileId")Integer compileId, public List<AppComplexFeatureCfg> getAppComplexFeatureCfg(@Param("compileId")Integer compileId,
@Param("functionId")Integer functionId,@Param("cfgRegionCode")Integer cfgRegionCode); @Param("functionId")Integer functionId,@Param("cfgRegionCode")Integer cfgRegionCode);
//数值类特征配置
public List<AppTcpCfg> getAppTcpCfg(@Param("compileId")Integer compileId,
@Param("functionId")Integer functionId,@Param("cfgRegionCode")Integer cfgRegionCode);
public int insertAppTcpCfg(AppTcpCfg entity);
public void deleteAppTcpCfg(BaseCfg entity);
public int insertAppComplexFeatureCfg(AppComplexFeatureCfg entity); public int insertAppComplexFeatureCfg(AppComplexFeatureCfg entity);
public void deleteAppComplexFeatureCfg(BaseCfg entity); public void deleteAppComplexFeatureCfg(BaseCfg entity);
//IP RANGE配置 //IP RANGE配置

View File

@@ -137,6 +137,36 @@
<result column="do_log" property="doLog" jdbcType="INTEGER" /> <result column="do_log" property="doLog" jdbcType="INTEGER" />
<result column="cfg_type" property="cfgType" jdbcType="VARCHAR" /> <result column="cfg_type" property="cfgType" jdbcType="VARCHAR" />
</resultMap> </resultMap>
<!-- 数值域 -->
<resultMap id="AppTcpCfgMap" type="com.nis.domain.configuration.AppTcpCfg" >
<id column="cfg_id" property="cfgId" jdbcType="BIGINT" />
<result column="spec_service_id" property="specServiceId" jdbcType="INTEGER" />
<result column="app_code" property="appCode" jdbcType="INTEGER" />
<result column="behav_code" property="behavCode" jdbcType="INTEGER" />
<result column="low_boundary" property="lowBoundary" jdbcType="BIGINT" />
<result column="up_boundary" property="upBoundary" jdbcType="BIGINT" />
<result column="cfg_desc" property="cfgDesc" jdbcType="VARCHAR" />
<result column="action" property="action" jdbcType="INTEGER" />
<result column="is_valid" property="isValid" jdbcType="INTEGER" />
<result column="is_audit" property="isAudit" jdbcType="INTEGER" />
<result column="creator_id" property="creatorId" jdbcType="INTEGER" />
<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
<result column="editor_id" property="editorId" jdbcType="INTEGER" />
<result column="edit_time" property="editTime" jdbcType="TIMESTAMP" />
<result column="auditor_id" property="auditorId" jdbcType="INTEGER" />
<result column="audit_time" property="auditTime" jdbcType="TIMESTAMP" />
<result column="service_id" property="serviceId" jdbcType="INTEGER" />
<result column="request_id" property="requestId" jdbcType="INTEGER" />
<result column="compile_id" property="compileId" jdbcType="INTEGER" />
<result column="is_area_effective" property="isAreaEffective" jdbcType="INTEGER" />
<result column="classify" property="classify" jdbcType="VARCHAR" />
<result column="attribute" property="attribute" jdbcType="VARCHAR" />
<result column="lable" property="lable" jdbcType="VARCHAR" />
<result column="area_effective_ids" property="areaEffectiveIds" jdbcType="VARCHAR" />
<result column="ratelimit" property="ratelimit" jdbcType="VARCHAR" />
<result column="function_id" property="functionId" jdbcType="INTEGER" />
<result column="do_log" property="doLog" jdbcType="INTEGER" />
</resultMap>
<sql id="AppFeatureIndex_Column" > <sql id="AppFeatureIndex_Column" >
r.CFG_ID,r.CFG_DESC,r.ACTION,r.IS_VALID,r.IS_AUDIT, r.CFG_ID,r.CFG_DESC,r.ACTION,r.IS_VALID,r.IS_AUDIT,
@@ -181,6 +211,13 @@
#{classify,jdbcType=VARCHAR},#{attribute,jdbcType=VARCHAR},#{lable,jdbcType=VARCHAR}, #{classify,jdbcType=VARCHAR},#{attribute,jdbcType=VARCHAR},#{lable,jdbcType=VARCHAR},
#{areaEffectiveIds,jdbcType=VARCHAR},#{functionId,jdbcType=INTEGER} #{areaEffectiveIds,jdbcType=VARCHAR},#{functionId,jdbcType=INTEGER}
</sql> </sql>
<sql id="AppTcpCfg_Column" >
r.CFG_ID, r.APP_CODE,r.BEHAV_CODE,r.SPEC_SERVICE_ID,r.CFG_DESC,r.ACTION,r.IS_VALID,r.IS_AUDIT,
r.CREATOR_ID,r.CREATE_TIME,r.EDITOR_ID,r.EDIT_TIME,r.AUDITOR_ID,r.AUDIT_TIME,
r.SERVICE_ID,r.REQUEST_ID,r.COMPILE_ID,r.IS_AREA_EFFECTIVE,r.CLASSIFY,
r.ATTRIBUTE,r.LABLE,r.AREA_EFFECTIVE_IDS,r.RATELIMIT,r.FUNCTION_ID,r.CFG_TYPE,r.CFG_REGION_CODE,
r.low_boundary,r.up_boundary as upBoundary,r.do_log
</sql>
<select id="getAppFeatureIndex" resultMap="AppFeatureIndexMap" parameterType="java.lang.Long" > <select id="getAppFeatureIndex" resultMap="AppFeatureIndexMap" parameterType="java.lang.Long" >
SELECT SELECT
<include refid="AppFeatureIndex_Column" /> <include refid="AppFeatureIndex_Column" />
@@ -448,6 +485,16 @@
AND r.cfg_region_code = #{cfgRegionCode,jdbcType=BIGINT} AND r.cfg_region_code = #{cfgRegionCode,jdbcType=BIGINT}
</if> </if>
</select> </select>
<!-- 查询数值类特征子配置列表 -->
<select id="getAppTcpCfg" resultMap="AppTcpCfgMap">
SELECT
<include refid="AppTcpCfg_Column" />
FROM app_session_cfg r
WHERE r.compile_id=#{compileId} and r.function_id=#{functionId}
<if test="cfgRegionCode !=null ">
AND r.cfg_region_code = #{cfgRegionCode,jdbcType=BIGINT}
</if>
</select>
<!-- 新增app_ip_range子配置 --> <!-- 新增app_ip_range子配置 -->
<insert id="insertAppIpRangeCfg" parameterType="com.nis.domain.configuration.AppIpCfg" > <insert id="insertAppIpRangeCfg" parameterType="com.nis.domain.configuration.AppIpCfg" >
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId"> <selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
@@ -509,6 +556,24 @@
#{userRegion3,jdbcType=VARCHAR},#{userRegion4,jdbcType=VARCHAR},#{userRegion5,jdbcType=VARCHAR} #{userRegion3,jdbcType=VARCHAR},#{userRegion4,jdbcType=VARCHAR},#{userRegion5,jdbcType=VARCHAR}
) )
</insert> </insert>
<!-- 新增APP数值域特征子配置 -->
<insert id="insertAppTcpCfg" parameterType="com.nis.domain.configuration.AppTcpCfg" >
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
SELECT LAST_INSERT_ID()
</selectKey>
insert into app_session_cfg (
APP_CODE,BEHAV_CODE,SPEC_SERVICE_ID,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,CFG_TYPE,CFG_REGION_CODE,
low_boundary,up_boundary,DO_LOG
)values (
<include refid="AppCommonCfg_Value_List" />,
#{cfgType,jdbcType=VARCHAR},#{cfgRegionCode,jdbcType=INTEGER},
#{lowBoundary,jdbcType=INTEGER},#{upBoundary,jdbcType=INTEGER},
#{doLog,jdbcType=INTEGER}
)
</insert>
<!-- 删除app_ip_range子配置 --> <!-- 删除app_ip_range子配置 -->
<delete id="deleteAppIpRangeCfg" > <delete id="deleteAppIpRangeCfg" >
delete from app_ip_range_cfg where compile_id=#{compileId} and function_id=#{functionId} delete from app_ip_range_cfg where compile_id=#{compileId} and function_id=#{functionId}
@@ -521,6 +586,10 @@
<delete id="deleteAppComplexFeatureCfg" > <delete id="deleteAppComplexFeatureCfg" >
delete from app_complex_feature_cfg where compile_id=#{compileId} and function_id=#{functionId} delete from app_complex_feature_cfg where compile_id=#{compileId} and function_id=#{functionId}
</delete> </delete>
<!-- 删除数值域特征子配置 -->
<delete id="deleteAppTcpCfg" >
delete from app_session_cfg where compile_id=#{compileId} and function_id=#{functionId}
</delete>
<select id="findAppByFeatureIndexList" resultMap="AppFeatureIndexMap"> <select id="findAppByFeatureIndexList" resultMap="AppFeatureIndexMap">
select select

View File

@@ -18,6 +18,7 @@ import com.nis.domain.configuration.AppFeatureIndex;
import com.nis.domain.configuration.AppHttpCfg; import com.nis.domain.configuration.AppHttpCfg;
import com.nis.domain.configuration.AppIpCfg; import com.nis.domain.configuration.AppIpCfg;
import com.nis.domain.configuration.AppStringFeatureCfg; import com.nis.domain.configuration.AppStringFeatureCfg;
import com.nis.domain.configuration.AppTcpCfg;
import com.nis.domain.configuration.CfgIndexInfo; import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.HttpUrlCfg; import com.nis.domain.configuration.HttpUrlCfg;
import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.IpPortCfg;
@@ -111,6 +112,15 @@ public class AppMultiFeatureCfgService extends BaseService {
} }
} }
if(entity.getNumCfgList()!=null){
for(AppTcpCfg cfg:entity.getNumCfgList()){
if(cfg.getLowBoundary()!=null && cfg.getUpBoundary()!=null){
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType"});
appMultiFeatureCfgDao.insertAppTcpCfg(cfg);//复用AppTcpCfg对象作为数值类对象
}
}
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
@@ -126,6 +136,7 @@ public class AppMultiFeatureCfgService extends BaseService {
appMultiFeatureCfgDao.deleteAppIpRangeCfg(entity); appMultiFeatureCfgDao.deleteAppIpRangeCfg(entity);
appMultiFeatureCfgDao.deleteAppStringFeatureCfg(entity); appMultiFeatureCfgDao.deleteAppStringFeatureCfg(entity);
appMultiFeatureCfgDao.deleteAppComplexFeatureCfg(entity); appMultiFeatureCfgDao.deleteAppComplexFeatureCfg(entity);
appMultiFeatureCfgDao.deleteAppTcpCfg(entity);//复用AppTcpCfg对象作为数值类对象
entity.setCreateTime(new Date()); entity.setCreateTime(new Date());
entity.setCreatorId(entity.getCurrentUser().getId()); entity.setCreatorId(entity.getCurrentUser().getId());
if(entity.getIpPortList()!=null){ if(entity.getIpPortList()!=null){
@@ -150,6 +161,14 @@ public class AppMultiFeatureCfgService extends BaseService {
} }
} }
} }
if(entity.getNumCfgList()!=null){
for(AppTcpCfg cfg:entity.getNumCfgList()){
if(cfg.getLowBoundary()!=null && cfg.getUpBoundary()!=null){
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType"});
appMultiFeatureCfgDao.insertAppTcpCfg(cfg);
}
}
}
} }
} }
public void auditAppFeatureCfg(AppFeatureIndex entity, Integer isAudit) { public void auditAppFeatureCfg(AppFeatureIndex entity, Integer isAudit) {
@@ -212,6 +231,18 @@ public class AppMultiFeatureCfgService extends BaseService {
strRegionList=map.get("dstList"); strRegionList=map.get("dstList");
} }
} }
List<AppTcpCfg> numCfgList = appMultiFeatureCfgDao.getAppTcpCfg(entity.getCompileId(),entity.getFunctionId(),null);
if(numCfgList!=null && numCfgList.size()>0){
AppTcpCfg cfg = new AppTcpCfg();
BeanUtils.copyProperties(entity, cfg, new String[]{"cfgId"});
cfg.setTableName(AppTcpCfg.getTablename());
appMultiFeatureCfgDao.auditCfg(cfg);
if(isAudit==1){
Map<String,List> map = cfgConvert(numRegionList,numCfgList,4,entity,groupRelationList);
groupRelationList=map.get("groupList");
numRegionList=map.get("dstList");
}
}
// 构造提交综合服务参数格式,一条配置提交一次综合服务 // 构造提交综合服务参数格式,一条配置提交一次综合服务
if (isAudit == 1) { if (isAudit == 1) {
maatCfg.initDefaultValue(); maatCfg.initDefaultValue();
@@ -299,6 +330,13 @@ public class AppMultiFeatureCfgService extends BaseService {
cfg.setTableName(AppComplexFeatureCfg.getTablename()); cfg.setTableName(AppComplexFeatureCfg.getTablename());
appMultiFeatureCfgDao.updateCfgValid(cfg); appMultiFeatureCfgDao.updateCfgValid(cfg);
} }
//修改数值域配置表状态
if (!StringUtil.isEmpty(entity.getNumCfgList())) {
AppTcpCfg cfg = new AppTcpCfg();
BeanUtils.copyProperties(entity, cfg, new String[] { "cfgId" });
cfg.setTableName(AppTcpCfg.getTablename());
appMultiFeatureCfgDao.updateCfgValid(cfg);
}
} }
} }
@@ -315,6 +353,10 @@ public class AppMultiFeatureCfgService extends BaseService {
public List<AppIpCfg> getAppIpRangeCfg(Integer compileId,Integer functionId){ public List<AppIpCfg> getAppIpRangeCfg(Integer compileId,Integer functionId){
return appMultiFeatureCfgDao.getAppIpRangeCfg(compileId,functionId); return appMultiFeatureCfgDao.getAppIpRangeCfg(compileId,functionId);
} }
//I数值域配置
public List<AppTcpCfg> getAppTcpCfg(Integer compileId,Integer functionId,Integer cfgRegionCode){
return appMultiFeatureCfgDao.getAppTcpCfg(compileId,functionId,cfgRegionCode);
}
public Map<String, List> exportFeature(AppFeatureIndex entity){ public Map<String, List> exportFeature(AppFeatureIndex entity){
Map<String, List> dataMap=new HashMap<String, List>(); Map<String, List> dataMap=new HashMap<String, List>();

View File

@@ -1372,8 +1372,8 @@ bps=Bps
bps_percent=Bps Percent bps_percent=Bps Percent
pps=pps pps=pps
pps_percent=pps Percent pps_percent=pps Percent
spoofing_ip_object=Spoofing Policy Object spoofing_ip_object=Spoofing IP Pool
spoofing_ip_policy=Spoofing Policy spoofing_ip_policy=IP Spoofing
action_spoofing=Spoofing action_spoofing=Spoofing
spoofing=spoofing spoofing=spoofing
service=Service service=Service
@@ -1395,4 +1395,11 @@ end_ip=End IP
action_detail=Action Detail action_detail=Action Detail
pass=Pass pass=Pass
live_link=Live Link live_link=Live Link
area_type=Area Type area_type=Area Type
dns_group_manage=DNS Group Manage
asn_group_manage=ASN Group Manage
ip_group_manage=IP Group Manage
ip_spoofing_group_manage=IP Spoofing Group Manage
min_tcp=Min
max_tcp=Max
APP_TCP_SESSION_BYTE=Session

View File

@@ -1376,8 +1376,8 @@ bps=Bps
bps_percent=Bps Percent bps_percent=Bps Percent
pps=pps pps=pps
pps_percent=pps Percent pps_percent=pps Percent
spoofing_ip_object=Spoofing Policy Object spoofing_ip_object=Spoofing IP Pool
spoofing_ip_policy=Spoofing Policy spoofing_ip_policy=IP Spoofing
action_spoofing=Spoofing action_spoofing=Spoofing
spoofing=spoofing spoofing=spoofing
service=Service service=Service
@@ -1399,4 +1399,11 @@ end_ip=End IP
action_detail=Action Detail action_detail=Action Detail
pass=Pass pass=Pass
live_link=Live Link live_link=Live Link
area_type=Area Type area_type=Area Type
dns_group_manage=DNS Group Manage
asn_group_manage=ASN Group Manage
ip_group_manage=IP Group Manage
ip_spoofing_group_manage=IP Spoofing Group Manage
min_tcp=Min
max_tcp=Max
APP_TCP_SESSION_BYTE=Session

View File

@@ -1372,8 +1372,8 @@ bps=Bps
bps_percent=Bps Percent bps_percent=Bps Percent
pps=pps pps=pps
pps_percent=pps Percent pps_percent=pps Percent
spoofing_ip_object=Spoofing Policy Object spoofing_ip_object=Spoofing IP Pool
spoofing_ip_policy=Spoofing Policy spoofing_ip_policy=IP Spoofing
action_spoofing=Spoofing action_spoofing=Spoofing
spoofing=spoofing spoofing=spoofing
service=Service service=Service
@@ -1395,4 +1395,11 @@ end_ip=End IP
action_detail=\u52a8\u4f5c\u8be6\u60c5 action_detail=\u52a8\u4f5c\u8be6\u60c5
pass=Pass pass=Pass
live_link=Live Link live_link=Live Link
area_type=Area Type area_type=Area Type
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
APP_TCP_SESSION_BYTE=Session

View File

@@ -0,0 +1,4 @@
insert into `sys_menu`(`id`,`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 (1197,109,'0,1,109,','asn_group_manage','ASN分组',470,'/basics/policyGroup/policyGroupList?groupType=4','','fa fa-sitemap',1,'','1','2018-12-16 22:17:54','1','2018-12-17 20:03:13','',1,NULL,0,0,NULL);
insert into `sys_menu`(`id`,`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 (1203,109,'0,1,109,','ip_spoofing_group_manage','IP spoofing 分组',500,'/basics/policyGroup/policyGroupList?groupType=6','','fa fa-gear',1,'','1','2018-12-17 20:02:22','1','2018-12-17 20:09:53','',1,NULL,0,0,NULL);
insert into `sys_menu`(`id`,`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 (1205,109,'0,1,109,','ip_group_manage','IP分组管理',530,'/basics/policyGroup/policyGroupList?groupType=5','','fa fa-tasks',1,'','1','2018-12-17 20:05:14','1','2018-12-17 20:08:44','',1,NULL,0,0,NULL);
UPDATE sys_menu SET CODE='dns_group_manage',NAME='dns分组管理', href='/basics/policyGroup/policyGroupList?groupType=1' WHERE id=716;

View File

@@ -17,16 +17,16 @@ $(function(){
$("#serviceId").val($(this).attr("serviceId")); $("#serviceId").val($(this).attr("serviceId"));
}); */ }); */
if($("#groupType").val() == 4){ if("${_cfg.groupType}" == 4){
$("#asnNo").parents(".form-group").removeClass("hidden"); $("#asnNo").parents(".form-group").removeClass("hidden");
} }
$("#groupType").on("change",function(){ /* $("#groupType").on("change",function(){
if($(this).val() != 4){ if($(this).val() != 4){
$("#asnNo").parents(".form-group").addClass("hidden"); $("#asnNo").parents(".form-group").addClass("hidden");
}else{ }else{
$("#asnNo").parents(".form-group").removeClass("hidden"); $("#asnNo").parents(".form-group").removeClass("hidden");
} }
}); }); */
$("#cfgFrom").validate({ $("#cfgFrom").validate({
errorPlacement: function(error,element){ errorPlacement: function(error,element){
if($(element).parents().hasClass("tagsinput")){ if($(element).parents().hasClass("tagsinput")){
@@ -49,7 +49,18 @@ $(function(){
<div class="page-content"> <div class="page-content">
<h3 class="page-title"> <h3 class="page-title">
<spring:message code="policy_group_manage"></spring:message> <c:if test="${_cfg.groupType==1}">
<spring:message code="dns_group_manage"/>
</c:if>
<c:if test="${_cfg.groupType==4}">
<spring:message code="asn_group_manage"/>
</c:if>
<c:if test="${_cfg.groupType==5}">
<spring:message code="ip_group_manage"/>
</c:if>
<c:if test="${_cfg.groupType==6}">
<spring:message code="ip_spoofing_group_manage"/>
</c:if>
</h3> </h3>
<div class="row"> <div class="row">
@@ -66,6 +77,7 @@ $(function(){
<!-- BEGIN FORM--> <!-- BEGIN FORM-->
<form:form id="cfgFrom" modelAttribute="_cfg" action="${ctx}/basics/policyGroup/saveOrUpdate" method="post" class="form-horizontal"> <form:form id="cfgFrom" modelAttribute="_cfg" action="${ctx}/basics/policyGroup/saveOrUpdate" method="post" class="form-horizontal">
<input type="hidden" name="groupId" value="${_cfg.groupId}"> <input type="hidden" name="groupId" value="${_cfg.groupId}">
<input type="hidden" name="groupType" value="${_cfg.groupType}">
<div class="form-body"> <div class="form-body">
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
@@ -77,7 +89,7 @@ $(function(){
<div for="groupName"></div> <div for="groupName"></div>
</div> </div>
</div> </div>
<div class="col-md-6"> <%-- <div class="col-md-6">
<div class="form-group"> <div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="group_type"/></label> <label class="control-label col-md-3"><font color="red">*</font><spring:message code="group_type"/></label>
<div class="col-md-6"> <div class="col-md-6">
@@ -91,7 +103,7 @@ $(function(){
</div> </div>
<div for="groupType"></div> <div for="groupType"></div>
</div> </div>
</div> </div> --%>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">

View File

@@ -8,6 +8,8 @@
//搜索框提示语初始化 //搜索框提示语初始化
if("${cfg.groupName}"){ if("${cfg.groupName}"){
$("#intype").val("${cfg.groupName}"); $("#intype").val("${cfg.groupName}");
}else if(''!="${cfg.asnNo}"){
$("#intype").val("${cfg.asnNo}");
}else{ }else{
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text()); $("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
} }
@@ -116,14 +118,25 @@
<%-- <shiro:hasPermission name="avContUrl:config"> --%> <%-- <shiro:hasPermission name="avContUrl:config"> --%>
<button type="button" class="btn btn-primary" <button type="button" class="btn btn-primary"
onClick="javascript:window.location='${ctx}/basics/policyGroup/policyGroupForm'"> onClick="javascript:window.location='${ctx}/basics/policyGroup/policyGroupForm?groupType=${cfg.groupType}'">
<i class="fa fa-plus"></i> <i class="fa fa-plus"></i>
<spring:message code="add"></spring:message></button> <spring:message code="add"></spring:message></button>
<%--</shiro:hasPermission>--%> <%--</shiro:hasPermission>--%>
</div> </div>
<h3 class="page-title"> <h3 class="page-title">
<spring:message code="policy_group_manage"/> <c:if test="${cfg.groupType==1}">
<spring:message code="dns_group_manage"/>
</c:if>
<c:if test="${cfg.groupType==4}">
<spring:message code="asn_group_manage"/>
</c:if>
<c:if test="${cfg.groupType==5}">
<spring:message code="ip_group_manage"/>
</c:if>
<c:if test="${cfg.groupType==6}">
<spring:message code="ip_spoofing_group_manage"/>
</c:if>
</h3> </h3>
<h5 class="page-header"></h5> <h5 class="page-header"></h5>
<div class="col-md-12"> <div class="col-md-12">
@@ -133,13 +146,14 @@
<form:form id="searchForm" modelAttribute="cfg" action="${ctx}/basics/policyGroup/policyGroupList" method="post" class="form-search"> <form:form id="searchForm" modelAttribute="cfg" action="${ctx}/basics/policyGroup/policyGroupList" method="post" class="form-search">
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/> <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/> <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
<input id="groupType" name="groupType" type="hidden" value="${cfg.groupType}"/>
<sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}" <sys:tableSort id="orderBy" name="orderBy" value="${page.orderBy}"
callback="page();" /> callback="page();" />
<!-- 筛选按钮展开状态--> <!-- 筛选按钮展开状态-->
<input id="isFilterAction" name="isFilterAction" type="hidden" value="${cfg.isFilterAction }"/> <input id="isFilterAction" name="isFilterAction" type="hidden" value="${cfg.isFilterAction }"/>
<!-- 搜索内容与操作按钮栏 --> <!-- 搜索内容与操作按钮栏 -->
<div class="col-md-12"> <div class="col-md-12">
<div class="pull-left"> <%-- <div class="pull-left">
<spring:message code='group_type'/> <spring:message code='group_type'/>
<select name="groupType" class="selectpicker select2 input-small"> <select name="groupType" class="selectpicker select2 input-small">
<option value=""><spring:message code="all_types"/></option> <option value=""><spring:message code="all_types"/></option>
@@ -155,7 +169,7 @@
</c:if> </c:if>
</c:forEach> </c:forEach>
</select> </select>
</div> </div> --%>
<div class="pull-left"> <div class="pull-left">
@@ -164,7 +178,9 @@
<form:select path="seltype" class="selectpicker select2 input-small" > <form:select path="seltype" class="selectpicker select2 input-small" >
<form:option value="groupName"><spring:message code="group_name"></spring:message></form:option> <form:option value="groupName"><spring:message code="group_name"></spring:message></form:option>
<c:if test="${cfg.groupType==4}">
<form:option value="asnNo"><spring:message code="asn_no"></spring:message></form:option> <form:option value="asnNo"><spring:message code="asn_no"></spring:message></form:option>
</c:if>
</form:select> </form:select>
</div> </div>
@@ -180,8 +196,8 @@
</div> </div>
<div class="pull-right"> <div class="pull-right">
<%-- <shiro:hasPermission name="avContUrl:config"> --%> <%-- <shiro:hasPermission name="avContUrl:config"> --%>
<sys:delRow url="${ctx}/basics/policyGroup/policyGroupForm" id="contentTable" label="update"></sys:delRow> <sys:delRow url="${ctx}/basics/policyGroup/policyGroupForm?groupType=${cfg.groupType}" id="contentTable" label="update"></sys:delRow>
<a href="javascript:void(0);" class="btn btn-default" onclick="deletes('${ctx}/basics/policyGroup/delete?isValid=0')" data-toggle="tooltip" data-placement="top"> <a href="javascript:void(0);" class="btn btn-default" onclick="deletes('${ctx}/basics/policyGroup/delete?isValid=0&groupType=${cfg.groupType}')" data-toggle="tooltip" data-placement="top">
<i class="fa fa-trash"> <spring:message code="delete"/></i> <i class="fa fa-trash"> <spring:message code="delete"/></i>
</a> </a>
<%-- <sys:delRow url="${ctx}/basics/asn/delete?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow> --%> <%-- <sys:delRow url="${ctx}/basics/asn/delete?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow> --%>
@@ -245,7 +261,9 @@
<th><input type="checkbox" class="i-checks" id="checkAll"></th> <th><input type="checkbox" class="i-checks" id="checkAll"></th>
<th><spring:message code="group_name"/></th> <th><spring:message code="group_name"/></th>
<th><spring:message code="group_type"/></th> <th><spring:message code="group_type"/></th>
<th><spring:message code="asn_no"/></th> <c:if test="${cfg.groupType==4}">
<th><spring:message code="asn_no"/></th>
</c:if>
<th><spring:message code="desc"/></th> <th><spring:message code="desc"/></th>
<th><spring:message code="creator"/></th> <th><spring:message code="creator"/></th>
<th class="sort-column r.create_time"><spring:message code="config_time"/></th> <th class="sort-column r.create_time"><spring:message code="config_time"/></th>
@@ -269,7 +287,9 @@
<c:if test="${cfg.groupType==groupTypeC.itemCode }"><spring:message code="${groupTypeC.itemValue}"/></c:if> <c:if test="${cfg.groupType==groupTypeC.itemCode }"><spring:message code="${groupTypeC.itemValue}"/></c:if>
</c:forEach> </c:forEach>
</td> </td>
<c:if test="${cfg.groupType==4}">
<td>${cfg.asnNo}</td> <td>${cfg.asnNo}</td>
</c:if>
<td title="${cfg.description }">${fns:abbr(cfg.description,20)}</td> <td title="${cfg.description }">${fns:abbr(cfg.description,20)}</td>
<td>${cfg.creatorName }</td> <td>${cfg.creatorName }</td>
<td><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td> <td><fmt:formatDate value="${cfg.createTime }" pattern="yyyy-MM-dd HH:mm:ss"/></td>

View File

@@ -50,6 +50,20 @@ $(function(){
} }
} }
}); });
var maxTtl=$("[name$=upBoundary]").val();
maxTtl = parseInt(maxTtl);
var minTtl=$("[name$=lowBoundary]").val();
minTtl = parseInt(minTtl);
if(maxTtl > 4294967295){
message="<spring:message code='min'/>";
$("div[for=upBoundary]").html("<label for=\"upBoundary\" class=\"error\" id=\"upBoundary-error\">"+message+"</label>");
flag=false;
}
if(minTtl>maxTtl){
message="<spring:message code='max_shouldnot_less_than_min'/>";
$("div[for=upBoundary]").html("<label for=\"upBoundary\" class=\"error\" id=\"upBoundary-error\">"+message+"</label>");
flag=false;
}
if(flag){ if(flag){
//将disable属性的元素删除 //将disable属性的元素删除
$(".disabled").each(function(){ $(".disabled").each(function(){
@@ -202,7 +216,8 @@ var delContent = function(contentClassName, addBtnClassName) {
</c:if> </c:if>
<c:set var="ipCfgIndex" value="0"></c:set> <c:set var="ipCfgIndex" value="0"></c:set>
<c:set var="complexCfgIndex" value="0"></c:set> <c:set var="complexCfgIndex" value="0"></c:set>
<c:set var="stfCfgIndex" value="0"></c:set> <c:set var="strCfgIndex" value="0"></c:set>
<c:set var="numCfgIndex" value="0"></c:set>
<c:forEach items="${regionList}" var="region" varStatus="status"> <c:forEach items="${regionList}" var="region" varStatus="status">
<c:if test="${region.regionType eq 1 }"> <c:if test="${region.regionType eq 1 }">
@@ -306,7 +321,7 @@ var delContent = function(contentClassName, addBtnClassName) {
onClick="addContent(this,'${tabName}')" title="add"></span></small> onClick="addContent(this,'${tabName}')" title="add"></span></small>
</h4> </h4>
<c:set var="cfgName" <c:set var="cfgName"
value="strList[${stfCfgIndex}]"></c:set> value="strList[${strCfgIndex}]"></c:set>
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%> <%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
<c:choose> <c:choose>
<c:when test="${fn:length(_cfg.strList)>0}"> <c:when test="${fn:length(_cfg.strList)>0}">
@@ -324,8 +339,8 @@ var delContent = function(contentClassName, addBtnClassName) {
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }"> <input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
</div> </div>
<c:set var="isBreak" value="true"></c:set> <c:set var="isBreak" value="true"></c:set>
<c:set var="stfCfgIndex" <c:set var="strCfgIndex"
value="${stfCfgIndex+1 }"></c:set> value="${strCfgIndex+1 }"></c:set>
</c:when> </c:when>
</c:choose> </c:choose>
</c:forEach> </c:forEach>
@@ -334,8 +349,8 @@ var delContent = function(contentClassName, addBtnClassName) {
class="row boxSolid ${tabName}${status.index} hidden disabled"> class="row boxSolid ${tabName}${status.index} hidden disabled">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%> <%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div> </div>
<c:set var="stfCfgIndex" <c:set var="strCfgIndex"
value="${stfCfgIndex+1 }"></c:set> value="${strCfgIndex+1 }"></c:set>
</c:if> </c:if>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
@@ -347,7 +362,61 @@ var delContent = function(contentClassName, addBtnClassName) {
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }"> <input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%> <%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div> </div>
<c:set var="stfCfgIndex" value="${stfCfgIndex+1 }"></c:set> <c:set var="strCfgIndex" value="${strCfgIndex+1 }"></c:set>
</c:otherwise>
</c:choose>
</c:if>
<c:if test="${region.regionType eq 4 }">
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
<h4 class="form-section">
<spring:message code="${region.configRegionValue}" />
<small> <span
class="glyphicon glyphicon-plus ${tabName}Add <c:if test="${fn:length(regionList)==1 or status.index==0}"> hidden</c:if>"
onClick="addContent(this,'${tabName}')" title="add"></span></small>
</h4>
<c:set var="cfgName"
value="numCfgList[${numCfgIndex}]"></c:set>
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
<c:choose>
<c:when test="${fn:length(_cfg.numCfgList)>0}">
<c:set var="isBreak" value="false"></c:set>
<c:forEach items="${_cfg.numCfgList}" var="cfg">
<c:choose>
<c:when
test="${region.configRegionCode eq cfg.cfgRegionCode and !isBreak}">
<div
class="row boxSolid ${tabName}${status.index}">
<%@include file="/WEB-INF/views/cfg/numCfgForm.jsp"%>
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
</div>
<c:set var="isBreak" value="true"></c:set>
<c:set var="numCfgIndex"
value="${numCfgIndex+1 }"></c:set>
</c:when>
</c:choose>
</c:forEach>
<c:if test="${!isBreak}">
<div
class="row boxSolid ${tabName}${status.index} hidden disabled">
<%@include file="/WEB-INF/views/cfg/numCfgForm.jsp"%>
</div>
<c:set var="numCfgIndex"
value="${numCfgIndex+1 }"></c:set>
</c:if>
</c:when>
<c:otherwise>
<div
class="row boxSolid ${tabName}${status.index} <c:if test="${fn:length(regionList)>1 and status.index>0}"> hidden disabled</c:if>">
<input type="hidden" name="cfgRegionValue" value="${region.configRegionValue }">
<input type="hidden" name="cfgRegionType" value="${region.regionType }">
<input type="hidden" name="cfgRegionCode1" value="${region.configRegionCode }">
<%@include file="/WEB-INF/views/cfg/numCfgForm.jsp"%>
</div>
<c:set var="numCfgIndex" value="${numCfgIndex+1 }"></c:set>
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>
</c:if> </c:if>

View File

@@ -37,7 +37,7 @@
<c:forEach items="${tabList}" var="region" varStatus="regionStatus"> <c:forEach items="${tabList}" var="region" varStatus="regionStatus">
<div id="${region.regionValue}_${regionStatus.index}Title${index}" onclick="switchSubCfgTabInfo('${region.regionValue}_${regionStatus.index}',${index})" <div id="${region.regionValue}_${regionStatus.index}Title${index}" onclick="switchSubCfgTabInfo('${region.regionValue}_${regionStatus.index}',${index})"
class="col-md-1 tabInfo" name="tabTitle${index }"> class="col-md-1 tabInfo" name="tabTitle${index }">
<spring:message code='${region.regionValue}_${regionStatus.index}' /> <spring:message code='${region.regionValue}' /><%-- _${regionStatus.index} --%>
<i id="${region.regionValue}_${regionStatus.index}${index}" class="fa" name="tabFlag${index}"></i> <i id="${region.regionValue}_${regionStatus.index}${index}" class="fa" name="tabFlag${index}"></i>
</div> </div>
</c:forEach> </c:forEach>
@@ -357,6 +357,24 @@
</div> </div>
</c:forEach> </c:forEach>
</c:if> </c:if>
<c:if test="${region.regionType eq 4 }">
<c:forEach items="${region.numCfgList}" var="cfg">
<div id="${region.regionValue}_${regionStatus.index}Info${index}" class="content content${region[0]}" name="subCfg${index}">
<div class="row">
<div class="col-md-2">
<div class="form-group">
<label><spring:message code='min' />: ${cfg.lowBoundary }</label>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label><spring:message code='max' />: ${cfg.upBoundary}</label>
</div>
</div>
</div>
</div>
</c:forEach>
</c:if>
</c:forEach> </c:forEach>

View File

@@ -0,0 +1,83 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
<title></title>
</head>
<%-- <c:forEach items="${regionList}" var="regionDistrict">
<c:if
test="${cfg.functionId eq regionDistrict.functionId
and regionDistrict.regionType eq 3
and regionValue eq regionDistrict.configRegionValue}"> --%>
<!-- regionDistrict.regionType==3表示增强字符串类配置 -->
<input type="hidden" name="${cfgName}.cfgType" value="${region.configRegionValue }">
<input type="hidden" name="${cfgName}.cfgRegionCode" serviceType="${region.configServiceType }" value="${region.configRegionCode }">
<input type="hidden" name="${cfgName}.configMultiKeywords" value="${region.configMultiKeywords }">
<input type="hidden" name="${cfgName}.configServiceType" value="${region.configServiceType }">
<input type="hidden" name="${cfgName}.configHex" value="${region.configHex }">
<%-- </c:if>
</c:forEach> --%>
<div class="row">
<div class="pull-right">
<span class="glyphicon glyphicon-remove pull-right" title="remove"
onClick="delContent('${tabName}${status.index}','${tabName}Add');" />
</div>
</div>
<br>
<c:if test="${!empty region.configDistrict }">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font>
<spring:message code="district" /></label>
<div class="col-md-6">
<select name="${cfgName}.district"
class="selectpicker show-tick form-control required district" onchange="changeDistrict($(this))">
<c:forEach items="${fn:split(region.configDistrict,',')}"
var="_district">
<option value="${_district }"
<c:if test="${cfg.district==_district}">selected</c:if>>${_district }</option>
</c:forEach>
</select>
<input type="hidden" name="${cfgName}.districtShowName" maxlength="64" placeholder="<spring:message code='please_input'/> <spring:message code='custom_region'/>" class="otherValue form-control invisibleChar" value="${cfg.district}"/>
</div>
<div for="${cfgName}.districtShowName"></div>
<div for="${cfgName}.district"></div>
</div>
</div>
</div>
</c:if>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="min_tcp"/></label>
<div class="col-md-6">
<input class="form-control required number" type="text" name="${cfgName}.lowBoundary" value="${cfg.lowBoundary}" min="0">
</div>
<div for="${cfgName}.lowBoundary"></div>
<div for="lowBoundary"></div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="max_tcp"/></label>
<div class="col-md-6">
<input class="form-control required number" type="text" name="${cfgName}.upBoundary" value="${cfg.upBoundary}" min="0">
</div>
<div for="${cfgName}.upBoundary"></div>
<div for="upBoundary"></div>
</div>
</div>
</div>
</html>
<script type="text/javascript">
function changeDistrict(obj){
if("others"==obj.val()){
obj.parent().siblings(".otherValue").prop("type","text");
}else{
obj.parent().siblings(".otherValue").prop("type","hidden");
}
}
</script>

View File

@@ -27,7 +27,7 @@ $(function(){
<div class="page-content"> <div class="page-content">
<h3 class="page-title"> <h3 class="page-title">
<spring:message code="spoofing_ip_pool"></spring:message> <spring:message code="spoofing_ip_object"></spring:message>
</h3> </h3>
<div class="row"> <div class="row">
@@ -51,6 +51,7 @@ $(function(){
<input type="hidden" name="protocol" value="0"> <input type="hidden" name="protocol" value="0">
<input type="hidden" name="port" value="0"> <input type="hidden" name="port" value="0">
<input type="hidden" name="userRegion" value="0"> <input type="hidden" name="userRegion" value="0">
<input type="hidden" name="isAreaEffective" value="0">
<input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}"> <input type="hidden" id="serviceId" name="serviceId" value="${_cfg.serviceId}">
<!-- 配置域类型 --> <!-- 配置域类型 -->
<c:forEach items="${regionList}" var="region"> <c:forEach items="${regionList}" var="region">
@@ -153,7 +154,7 @@ $(function(){
</div> </div>
</div> </div>
</div> </div>
<%@include file="/WEB-INF/include/form/areaInfo.jsp"%> <%-- <%@include file="/WEB-INF/include/form/areaInfo.jsp"%> --%>
<br> <br>
<%@include file="/WEB-INF/include/form/basicInfo.jsp" %> <%@include file="/WEB-INF/include/form/basicInfo.jsp" %>
</div> </div>

View File

@@ -73,7 +73,7 @@
</div> </div>
<h3 class="page-title"> <h3 class="page-title">
<spring:message code="spoofing_ip_pool"></spring:message> <spring:message code="spoofing_ip_object"></spring:message>
</h3> </h3>
<h5 class="page-header"></h5> <h5 class="page-header"></h5>
<div class="col-md-12"> <div class="col-md-12">