Merge branch 'develop' of http://192.168.10.125/k18_web/NFS.git into
develop Conflicts: src/main/webapp/WEB-INF/include/excel/importModal.jsp src/main/webapp/WEB-INF/views/cfg/ipaddr/ipList.jsp 增加region和service导入属性,动态控制导入业务 优化导入界面
This commit is contained in:
@@ -28,6 +28,14 @@ public class FunctionRegionDict extends BaseCfg<FunctionRegionDict> {
|
||||
private String configDirection;
|
||||
private String configProtocol;
|
||||
private Integer configRegionSort;
|
||||
private Integer isImport;
|
||||
|
||||
public Integer getIsImport() {
|
||||
return isImport;
|
||||
}
|
||||
public void setIsImport(Integer isImport) {
|
||||
this.isImport = isImport;
|
||||
}
|
||||
|
||||
public Integer getConfigRegionSort() {
|
||||
return configRegionSort;
|
||||
|
||||
@@ -18,6 +18,15 @@ public class FunctionServiceDict extends BaseCfg<FunctionServiceDict> {
|
||||
private String actionCode;
|
||||
private String regionCode;
|
||||
|
||||
private Integer isImport;
|
||||
|
||||
public Integer getIsImport() {
|
||||
return isImport;
|
||||
}
|
||||
public void setIsImport(Integer isImport) {
|
||||
this.isImport = isImport;
|
||||
}
|
||||
|
||||
public String getRegionCode() {
|
||||
return regionCode;
|
||||
}
|
||||
|
||||
@@ -23,14 +23,14 @@ public class IpPayloadTemplate extends IpAllTemplate {
|
||||
public String getUserRegion2() {
|
||||
return userRegion2;
|
||||
}
|
||||
public void setUserRegion2(String userRegion1) {
|
||||
public void setUserRegion2(String userRegion2) {
|
||||
this.userRegion2 = userRegion2;
|
||||
}
|
||||
@ExcelField(title="replace_content",align=2,sort=4)
|
||||
public String getUserRegion3() {
|
||||
return userRegion3;
|
||||
}
|
||||
public void setUserRegion3(String userRegion1) {
|
||||
public void setUserRegion3(String userRegion3) {
|
||||
this.userRegion3 = userRegion3;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -359,7 +359,11 @@ public class ImportExcel {
|
||||
ExcelField ef = (ExcelField)os[0];
|
||||
// If is dict type, get dict value
|
||||
if (StringUtils.isNotBlank(ef.dictType())){
|
||||
val = DictUtils.getDictCode(ef.dictType(), val.toString(), "");
|
||||
Object val1 = DictUtils.getDictCode(ef.dictType(), val.toString(), "");
|
||||
//没有获取到字典值的话会影响验证判断
|
||||
if(val1!=null&&StringUtils.isNotBlank(val1.toString())) {
|
||||
val=val1;
|
||||
}
|
||||
//log.debug("Dictionary type value: ["+i+","+colunm+"] " + val);
|
||||
}
|
||||
// Get param type and type cast
|
||||
|
||||
@@ -50,6 +50,7 @@ import com.nis.domain.configuration.RequestInfo;
|
||||
import com.nis.domain.configuration.StringCfgTemplate;
|
||||
import com.nis.domain.configuration.template.IpAllTemplate;
|
||||
import com.nis.domain.configuration.template.IpCfgTemplate;
|
||||
import com.nis.domain.configuration.template.IpPayloadTemplate;
|
||||
import com.nis.domain.configuration.template.IpRateLimitTemplate;
|
||||
import com.nis.domain.log.BaseLogEntity;
|
||||
import com.nis.domain.log.SearchReport;
|
||||
@@ -825,6 +826,44 @@ public class BaseController {
|
||||
StringBuffer errInfo = new StringBuffer();
|
||||
IpPortCfg baseIpCfg = new IpPortCfg();
|
||||
BeanUtils.copyProperties(list.get(i), baseIpCfg);
|
||||
//特殊字段验证
|
||||
//packet ip ratelimit
|
||||
if(serviceDict.getFunctionId().intValue()==5&&serviceDict.getAction().intValue()==64) {
|
||||
String userRegion1=baseIpCfg.getUserRegion1();
|
||||
try {
|
||||
Double ratelimt= Double.parseDouble(userRegion1);
|
||||
if(ratelimt>0.009||ratelimt<0.001) {
|
||||
errInfo.append(prop.getProperty("ratelimit")+"."+String.format(prop.getProperty("must_between"),0.001,0.009)+";");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
errInfo.append(String.format(prop.getProperty("not_number"), prop.getProperty("ratelimit"))+";");
|
||||
}
|
||||
}
|
||||
//payload ip
|
||||
if(regionDict.getFunctionId().equals(212)) {
|
||||
//replace_zone
|
||||
String userRegion1=baseIpCfg.getUserRegion1();
|
||||
if(StringUtils.isNotBlank(userRegion1)) {
|
||||
Object val = DictUtils.getDictLabel("INTERCEPT_REPLACE_ZONE", userRegion1);
|
||||
if(StringUtils.isBlank(val.toString())) {
|
||||
errInfo.append(String.format(prop.getProperty("is_incorrect"), prop.getProperty("replace_zone"))+";");
|
||||
}
|
||||
}else {
|
||||
errInfo.append(String.format(prop.getProperty("can_not_null"), prop.getProperty("replace_zone"))+";");
|
||||
}
|
||||
|
||||
//replaced_content
|
||||
String userRegion2=baseIpCfg.getUserRegion2();
|
||||
if(StringUtils.isBlank(userRegion2)) {
|
||||
errInfo.append(String.format(prop.getProperty("can_not_null"), prop.getProperty("replaced_content"))+";");
|
||||
}
|
||||
//replace_content
|
||||
String userRegion3=baseIpCfg.getUserRegion3();
|
||||
if(StringUtils.isBlank(userRegion3)) {
|
||||
errInfo.append(String.format(prop.getProperty("can_not_null"), prop.getProperty("replace_content"))+";");
|
||||
}
|
||||
}
|
||||
if (regionDict.getRegionType().equals(1)) {
|
||||
// 校验必填的IP,端口
|
||||
for (String code : configIpPortShow.split(",")) {
|
||||
@@ -1205,7 +1244,7 @@ public class BaseController {
|
||||
}
|
||||
}
|
||||
if (!has) {
|
||||
errInfo.append(String.format(prop.getProperty("is_incorrect"), prop.getProperty("direction")) + ","
|
||||
errInfo.append(String.format(prop.getProperty("is_incorrect"), prop.getProperty("direction")) + "."
|
||||
+ String.format(prop.getProperty("alternative_values"), directionPattern) + ";");
|
||||
}
|
||||
return has;
|
||||
@@ -1233,7 +1272,7 @@ public class BaseController {
|
||||
}
|
||||
}
|
||||
if (!has) {
|
||||
errInfo.append(String.format(prop.getProperty("is_incorrect"), prop.getProperty("protocol")) + ","
|
||||
errInfo.append(String.format(prop.getProperty("is_incorrect"), prop.getProperty("protocol")) + "."
|
||||
+ String.format(prop.getProperty("alternative_values"), protocolPattern) + ";");
|
||||
}
|
||||
return has;
|
||||
@@ -2415,6 +2454,11 @@ public class BaseController {
|
||||
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
|
||||
}
|
||||
}
|
||||
}else if(regionDict.getFunctionId().equals(212)) {
|
||||
if (regionDict.getRegionType().equals(1)) {
|
||||
List<IpPayloadTemplate> list = ei.getDataList(IpPayloadTemplate.class);
|
||||
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
|
||||
}
|
||||
} else if (regionDict.getRegionType().equals(1)) {
|
||||
List<IpAllTemplate> list = ei.getDataList(IpAllTemplate.class);
|
||||
ipPortCfgs = this.checkIpCfg(serviceDict, regionDict, list);
|
||||
|
||||
@@ -5,6 +5,7 @@ import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -232,29 +233,18 @@ public class IpController extends BaseController{
|
||||
,FunctionRegionDict regionDict
|
||||
,FunctionServiceDict serviceDict
|
||||
,Integer requestId) throws Exception{
|
||||
String fileName = "template.xlsx";
|
||||
//ip类模板
|
||||
if(regionDict.getRegionType().equals(1)){
|
||||
if(regionDict.getFunctionId().equals(5)){// IP Address
|
||||
if(serviceDict.getAction().equals(64)){//ip限速
|
||||
List<IpRateLimitTemplate> classList=new ArrayList<IpRateLimitTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpRateLimitTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}else{
|
||||
List<IpAllTemplate> classList=new ArrayList<IpAllTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpAllTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}
|
||||
}else if(regionDict.getFunctionId().equals(212)){ //IP Payload
|
||||
List<IpPayloadTemplate> classList=new ArrayList<IpPayloadTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpPayloadTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}else if(regionDict.getFunctionId().equals(7)){ //Dns IP
|
||||
List<DnsIpTemplate> classList=new ArrayList<DnsIpTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, DnsIpTemplate.class, 2);
|
||||
Properties pro=getMsgProp();
|
||||
String serviceName=pro.getProperty(serviceDict.getServiceName());
|
||||
String regionName=pro.getProperty(regionDict.getConfigRegionValue());
|
||||
serviceName=StringUtil.isEmpty(serviceName) ?serviceDict.getServiceName():serviceName;
|
||||
regionName=StringUtil.isEmpty(regionName) ?regionDict.getConfigRegionValue():regionName;
|
||||
String fileName = serviceName+"_"+regionName+"_template.xlsx";
|
||||
//ip类模板
|
||||
if(regionDict.getRegionType().equals(1)){
|
||||
if(regionDict.getFunctionId().equals(5)){// IP Address
|
||||
if(serviceDict.getAction().equals(64)){//ip限速
|
||||
List<IpRateLimitTemplate> classList=new ArrayList<IpRateLimitTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpRateLimitTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}else{
|
||||
@@ -263,41 +253,57 @@ public class IpController extends BaseController{
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}
|
||||
}
|
||||
//str类模板
|
||||
if(regionDict.getRegionType().equals(2)){
|
||||
List<StringAllTemplate> classList=new ArrayList<StringAllTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, StringAllTemplate.class, 2);
|
||||
}else if(regionDict.getFunctionId().equals(212)){ //IP Payload
|
||||
List<IpPayloadTemplate> classList=new ArrayList<IpPayloadTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpPayloadTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}else if(regionDict.getFunctionId().equals(7)){ //Dns IP
|
||||
List<DnsIpTemplate> classList=new ArrayList<DnsIpTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, DnsIpTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}else{
|
||||
List<IpAllTemplate> classList=new ArrayList<IpAllTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, IpAllTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}
|
||||
//district类模板
|
||||
if(regionDict.getRegionType().equals(3)){
|
||||
if(regionDict.getFunctionId().equals(7)){//DNS DISTRICT STRING
|
||||
List<DnsComplexStringTemplate> classList=new ArrayList<DnsComplexStringTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, StringAllTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}else{
|
||||
List<ComplexStringAllTemplate> classList=new ArrayList<ComplexStringAllTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, ComplexStringAllTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}
|
||||
}
|
||||
//str类模板
|
||||
if(regionDict.getRegionType().equals(2)){
|
||||
List<StringAllTemplate> classList=new ArrayList<StringAllTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, StringAllTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}
|
||||
//district类模板
|
||||
if(regionDict.getRegionType().equals(3)){
|
||||
if(regionDict.getFunctionId().equals(7)){//DNS DISTRICT STRING
|
||||
List<DnsComplexStringTemplate> classList=new ArrayList<DnsComplexStringTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, StringAllTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}else{
|
||||
List<ComplexStringAllTemplate> classList=new ArrayList<ComplexStringAllTemplate>();
|
||||
ExportExcel excel=new ExportExcel(serviceDict,regionDict,this.getMsgProp(),null, ComplexStringAllTemplate.class, 2);
|
||||
excel.setDataList(this.getMsgProp(),classList,null).
|
||||
write(request,response, fileName).dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//ip配置导入
|
||||
@RequestMapping(value = "import", method=RequestMethod.POST)
|
||||
public String importIp(RedirectAttributes redirectAttributes,
|
||||
@RequestParam("files") MultipartFile[] files
|
||||
,Integer serviceDictId
|
||||
,Integer requestId
|
||||
,String regionDictIds) {
|
||||
this._import(redirectAttributes, files,serviceDictId,regionDictIds,requestId);
|
||||
|
||||
return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+5;
|
||||
}
|
||||
@RequestMapping(value = "import", method=RequestMethod.POST)
|
||||
public String importIp(RedirectAttributes redirectAttributes,
|
||||
@RequestParam("files") MultipartFile[] files
|
||||
,Integer serviceDictId
|
||||
,Integer requestId
|
||||
,String regionDictIds
|
||||
,String importPath) {
|
||||
this._import(redirectAttributes, files,serviceDictId,regionDictIds,requestId);
|
||||
return "redirect:" + adminPath+ importPath;
|
||||
}
|
||||
//ip配置导出
|
||||
@RequestMapping(value = "exportIpAddr")
|
||||
public void exportIp(Model model,HttpServletRequest request,HttpServletResponse response,
|
||||
|
||||
@@ -23,12 +23,13 @@
|
||||
<result column="config_direction" property="configDirection" jdbcType="VARCHAR" />
|
||||
<result column="config_protocol" property="configProtocol" jdbcType="VARCHAR" />
|
||||
<result column="config_region_sort" property="configRegionSort" jdbcType="INTEGER" />
|
||||
<result column="is_import" property="isImport" jdbcType="INTEGER" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List" >
|
||||
dict_id, function_id, config_region_value,config_region_code, config_district, config_desc, is_valid,is_maat,region_type
|
||||
,config_multi_keywords,config_hex,config_expr_type,config_match_method,config_service_type,config_ip_port_show,config_ip_type,
|
||||
config_ip_pattern,config_port_pattern,config_direction,config_protocol,config_region_sort
|
||||
config_ip_pattern,config_port_pattern,config_direction,config_protocol,config_region_sort,is_import
|
||||
</sql>
|
||||
<select id="getList" resultMap="BaseResultMap" >
|
||||
select
|
||||
|
||||
@@ -12,10 +12,11 @@
|
||||
<result column="service_desc" property="serviceDesc" jdbcType="VARCHAR" />
|
||||
<result column="is_valid" property="isValid" jdbcType="INTEGER" />
|
||||
<result column="region_code" property="regionCode" jdbcType="VARCHAR" />
|
||||
<result column="is_import" property="isImport" jdbcType="INTEGER" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List" >
|
||||
dict_id, function_id, protocol_id, action,action_code, service_id, service_name,service_desc,is_valid,region_code
|
||||
dict_id, function_id, protocol_id, action,action_code, service_id, service_name,service_desc,is_valid,region_code,is_import
|
||||
</sql>
|
||||
<select id="getList" resultMap="BaseResultMap" >
|
||||
select
|
||||
|
||||
Reference in New Issue
Block a user