HTTP配置审核界面配置转maat配置处理逻辑提交
This commit is contained in:
@@ -8,6 +8,8 @@
|
||||
*/
|
||||
package com.nis.domain.configuration;
|
||||
|
||||
import com.nis.util.Constants;
|
||||
|
||||
/**
|
||||
* @ClassName: AreaIpCfg.java
|
||||
* @Description: TODO
|
||||
@@ -54,6 +56,14 @@ public class AreaIpCfg extends BaseIpCfg {
|
||||
this.protocolId=0;
|
||||
this.isAreaEffective=0;
|
||||
this.areaEffectiveIds=null;
|
||||
this.cfgType=Constants.AREA_REGION;
|
||||
this.cfgRegionCode=1;
|
||||
this.protocol=0;
|
||||
this.portPattern=1;
|
||||
this.srcPort="0";
|
||||
this.destPort="0";
|
||||
this.direction=0;
|
||||
this.destIpAddress="0.0.0.0";
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.nis.domain.configuration.BaseIpCfg;
|
||||
import com.nis.domain.configuration.BaseStringCfg;
|
||||
import com.nis.domain.configuration.ComplexkeywordCfg;
|
||||
import com.nis.domain.configuration.NumBoundaryCfg;
|
||||
import com.nis.util.DateUtils;
|
||||
|
||||
/**
|
||||
* @ClassName: MaatCfg.java
|
||||
@@ -72,7 +73,7 @@ public class MaatCfg implements Serializable {
|
||||
@Expose
|
||||
private Integer fatherCfgId;
|
||||
@Expose
|
||||
@SerializedName("opTime")
|
||||
@SerializedName("auditTime")
|
||||
private Date auditTime;
|
||||
@Expose
|
||||
private List<GroupCfg> groupRelationList;
|
||||
@@ -84,6 +85,9 @@ public class MaatCfg implements Serializable {
|
||||
private List<NumBoundaryCfg> numRegionList;
|
||||
@Expose
|
||||
private List<DigestCfg> digestRegionList;
|
||||
@Expose
|
||||
@SerializedName("ipClientRangeList ")
|
||||
private List<IpCfg> areaIpRegionList;
|
||||
|
||||
public static class GroupCfg{
|
||||
@Expose
|
||||
@@ -93,7 +97,7 @@ public class MaatCfg implements Serializable {
|
||||
@Expose
|
||||
private Integer isValid;
|
||||
@Expose
|
||||
private Date opTime;
|
||||
private Date auditTime;
|
||||
public Integer getGroupId() {
|
||||
return groupId;
|
||||
}
|
||||
@@ -112,11 +116,11 @@ public class MaatCfg implements Serializable {
|
||||
public void setIsValid(Integer isValid) {
|
||||
this.isValid = isValid;
|
||||
}
|
||||
public Date getOpTime() {
|
||||
return opTime;
|
||||
public Date getAuditTime() {
|
||||
return auditTime;
|
||||
}
|
||||
public void setOpTime(Date opTime) {
|
||||
this.opTime = opTime;
|
||||
public void setAuditTime(Date auditTime) {
|
||||
this.auditTime = auditTime;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -142,7 +146,7 @@ public class MaatCfg implements Serializable {
|
||||
@Expose
|
||||
private Integer isValid;
|
||||
@Expose
|
||||
private Date opTime;
|
||||
private Date auditTime;
|
||||
public Integer getRegionId() {
|
||||
return regionId;
|
||||
}
|
||||
@@ -197,11 +201,11 @@ public class MaatCfg implements Serializable {
|
||||
public void setIsValid(Integer isValid) {
|
||||
this.isValid = isValid;
|
||||
}
|
||||
public Date getOpTime() {
|
||||
return opTime;
|
||||
public Date getAuditTime() {
|
||||
return auditTime;
|
||||
}
|
||||
public void setOpTime(Date opTime) {
|
||||
this.opTime = opTime;
|
||||
public void setAuditTime(Date auditTime) {
|
||||
this.auditTime = auditTime;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -214,22 +218,27 @@ public class MaatCfg implements Serializable {
|
||||
@SerializedName("tableName")
|
||||
private String cfgType;
|
||||
@Expose
|
||||
@SerializedName("addrType")
|
||||
private Integer ipType;
|
||||
@Expose
|
||||
private String srcIp;
|
||||
@Expose
|
||||
@SerializedName("maskSrcIp")
|
||||
private String srcIpMask ;
|
||||
@Expose
|
||||
private String srcPort ;
|
||||
@Expose
|
||||
@SerializedName("maskSrcPort")
|
||||
private String srcPortMask ;
|
||||
@Expose
|
||||
private String dstIp ;
|
||||
@Expose
|
||||
@SerializedName("maskDstIp")
|
||||
private String dstIpMask ;
|
||||
@Expose
|
||||
private String dstPort ;
|
||||
@Expose
|
||||
@SerializedName("maskDstPort")
|
||||
private String dstPortMask ;
|
||||
@Expose
|
||||
private Integer direction ;
|
||||
@@ -238,7 +247,7 @@ public class MaatCfg implements Serializable {
|
||||
@Expose
|
||||
private Integer isValid;
|
||||
@Expose
|
||||
private Date opTime;
|
||||
private Date auditTime;
|
||||
public Integer getRegionId() {
|
||||
return regionId;
|
||||
}
|
||||
@@ -329,11 +338,11 @@ public class MaatCfg implements Serializable {
|
||||
public void setIsValid(Integer isValid) {
|
||||
this.isValid = isValid;
|
||||
}
|
||||
public Date getOpTime() {
|
||||
return opTime;
|
||||
public Date getAuditTime() {
|
||||
return auditTime;
|
||||
}
|
||||
public void setOpTime(Date opTime) {
|
||||
this.opTime = opTime;
|
||||
public void setAuditTime(Date auditTime) {
|
||||
this.auditTime = auditTime;
|
||||
}
|
||||
}
|
||||
public static class NumBoundaryCfg{
|
||||
@@ -351,7 +360,7 @@ public class MaatCfg implements Serializable {
|
||||
@Expose
|
||||
private Integer isValid;
|
||||
@Expose
|
||||
private Date opTime;
|
||||
private Date auditTime;
|
||||
public Integer getRegionId() {
|
||||
return regionId;
|
||||
}
|
||||
@@ -388,11 +397,11 @@ public class MaatCfg implements Serializable {
|
||||
public void setIsValid(Integer isValid) {
|
||||
this.isValid = isValid;
|
||||
}
|
||||
public Date getOpTime() {
|
||||
return opTime;
|
||||
public Date getAuditTime() {
|
||||
return auditTime;
|
||||
}
|
||||
public void setOpTime(Date opTime) {
|
||||
this.opTime = opTime;
|
||||
public void setAuditTime(Date auditTime) {
|
||||
this.auditTime = auditTime;
|
||||
}
|
||||
}public static class DigestCfg{
|
||||
@Expose
|
||||
@@ -411,7 +420,7 @@ public class MaatCfg implements Serializable {
|
||||
@Expose
|
||||
private Integer isValid;
|
||||
@Expose
|
||||
private Date opTime;
|
||||
private Date auditTime;
|
||||
public Integer getRegionId() {
|
||||
return regionId;
|
||||
}
|
||||
@@ -454,11 +463,11 @@ public class MaatCfg implements Serializable {
|
||||
public void setIsValid(Integer isValid) {
|
||||
this.isValid = isValid;
|
||||
}
|
||||
public Date getOpTime() {
|
||||
return opTime;
|
||||
public Date getAuditTime() {
|
||||
return auditTime;
|
||||
}
|
||||
public void setOpTime(Date opTime) {
|
||||
this.opTime = opTime;
|
||||
public void setAuditTime(Date auditTime) {
|
||||
this.auditTime = auditTime;
|
||||
}
|
||||
}
|
||||
public Integer getCompileId() {
|
||||
@@ -611,4 +620,20 @@ public class MaatCfg implements Serializable {
|
||||
public void setDigestRegionList(List<DigestCfg> digestRegionList) {
|
||||
this.digestRegionList = digestRegionList;
|
||||
}
|
||||
public List<IpCfg> getAreaIpRegionList() {
|
||||
return areaIpRegionList;
|
||||
}
|
||||
public void setAreaIpRegionList(List<IpCfg> areaIpRegionList) {
|
||||
this.areaIpRegionList = areaIpRegionList;
|
||||
}
|
||||
public void initDefaultValue() {
|
||||
this.doLog=2;
|
||||
this.doBlackList=1;
|
||||
this.configPercent=100;
|
||||
this.configOption=1;
|
||||
this.startTime=new Date();
|
||||
this.endTime=DateUtils.addYears(new Date(), 81);
|
||||
this.fatherCfgId=0;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,5 +291,6 @@ public final class Constants {
|
||||
public static final String HTTP_URL_REGION = Configurations.getStringProperty("http_url_region","http_url");
|
||||
public static final String VOIP_IP_REGION = Configurations.getStringProperty("voip_ip","av_voip_ip");
|
||||
public static final String VOIP_ACCOUNT_REGION = Configurations.getStringProperty("voip_account","av_voip_account");
|
||||
public static final String MAAT_VERSION = Configurations.getStringProperty("maat_version","1.0");
|
||||
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
@@ -24,8 +25,10 @@ import com.nis.domain.configuration.HttpReqHeadCfg;
|
||||
import com.nis.domain.configuration.HttpResHeadCfg;
|
||||
import com.nis.domain.configuration.HttpUrlCfg;
|
||||
import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.web.controller.BaseController;
|
||||
import com.nis.web.security.UserUtils;
|
||||
|
||||
/**
|
||||
* 白名单
|
||||
@@ -156,4 +159,31 @@ public class WebsiteController extends BaseController{
|
||||
model.addAttribute("index", index);
|
||||
return "/cfg/website/httpSubList";
|
||||
}
|
||||
@RequestMapping(value = {"updateHttpCfgValid"})
|
||||
@RequiresPermissions(value={"website:http:config"})
|
||||
public String updateHttpCfgValid(Integer isAudit,Integer isValid,String ids,Integer functionId) {
|
||||
websiteCfgService.updateHttpCfgValid(isAudit,isValid,ids);
|
||||
return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+functionId;
|
||||
}
|
||||
@RequestMapping(value = {"auditHttpCfg"})
|
||||
@RequiresPermissions(value={"website:http:audit"})
|
||||
public String auditHttpCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) {
|
||||
CfgIndexInfo entity = new CfgIndexInfo();
|
||||
String[] idArray = ids.split(",");
|
||||
for(String id :idArray){
|
||||
entity = websiteCfgService.getHttpCfg(Long.parseLong(id));
|
||||
entity.setIsAudit(isAudit);
|
||||
entity.setIsValid(isValid);
|
||||
entity.setAuditorId(UserUtils.getUser().getId());
|
||||
entity.setAuditTime(new Date());
|
||||
try {
|
||||
websiteCfgService.auditHttpCfg(entity,isAudit);
|
||||
} catch (MaatConvertException e) {
|
||||
e.printStackTrace();
|
||||
logger.info("http配置下发失败:"+e.getMessage());
|
||||
addMessage(redirectAttributes, e.getMessage());
|
||||
}
|
||||
}
|
||||
return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+functionId;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ package com.nis.web.dao.configuration;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.nis.domain.configuration.AvFileSampleCfg;
|
||||
import com.nis.domain.configuration.AvSignSampleCfg;
|
||||
import com.nis.domain.configuration.CfgIndexInfo;
|
||||
import com.nis.domain.configuration.HttpBodyCfg;
|
||||
import com.nis.domain.configuration.HttpReqHeadCfg;
|
||||
@@ -40,10 +42,9 @@ public interface WebsiteCfgDao extends CrudDao<CfgIndexInfo>{
|
||||
public void deleteHttpResHdrCfg(CfgIndexInfo entity);
|
||||
public void deleteHttpBodyCfg(CfgIndexInfo entity);
|
||||
public void updateCfgIndex(CfgIndexInfo entity);
|
||||
public void updateHttpIpCfg(IpPortCfg entity);
|
||||
public void updateHttpUrlCfg(HttpUrlCfg entity);
|
||||
public void updateHttpReqHdrCfg(HttpReqHeadCfg entity);
|
||||
public void updateHttpResHdrCfg(HttpResHeadCfg entity);
|
||||
public void updateHttpBodyCfg(HttpBodyCfg entity);
|
||||
public void updateHttpCfgValid(CfgIndexInfo entity);
|
||||
public void auditHttpCfg(CfgIndexInfo entity);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,11 +2,15 @@ package com.nis.web.service;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.gson.Gson;
|
||||
@@ -17,7 +21,19 @@ import com.google.gson.JsonSerializationContext;
|
||||
import com.google.gson.JsonSerializer;
|
||||
import com.nis.domain.SysRole;
|
||||
import com.nis.domain.SysUser;
|
||||
import com.nis.domain.configuration.BaseCfg;
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
import com.nis.domain.configuration.BaseStringCfg;
|
||||
import com.nis.domain.configuration.ComplexkeywordCfg;
|
||||
import com.nis.domain.configuration.HttpBodyCfg;
|
||||
import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.domain.maat.MaatCfg.GroupCfg;
|
||||
import com.nis.domain.maat.MaatCfg.IpCfg;
|
||||
import com.nis.domain.maat.MaatCfg.NumBoundaryCfg;
|
||||
import com.nis.domain.maat.MaatCfg.StringCfg;
|
||||
import com.nis.util.ConfigServiceUtil;
|
||||
import com.nis.util.Configurations;
|
||||
import com.nis.util.IpUtil;
|
||||
import com.nis.util.StringUtils;
|
||||
|
||||
/**
|
||||
@@ -238,5 +254,144 @@ public abstract class BaseService {
|
||||
}).create();
|
||||
return gson.toJson(obj);
|
||||
}
|
||||
|
||||
/**
|
||||
* 界面配置list转换为服务接口端的list
|
||||
* @param dstList
|
||||
* @param srcList
|
||||
* @param cfgType,1为IP类型,2为字符串类型,3为增强字符串,4数值类型,5摘要类,6回调类[但字符串类域配置和增强字符串域配置在接口参数中同属于strRegionList]
|
||||
* @param groupId,组号
|
||||
* @return
|
||||
*/
|
||||
public static Map<String,List> cfgConvert(List dstList,List srcList,Integer cfgType,BaseCfg baseCfg,List groupRelationList){
|
||||
GroupCfg group = new GroupCfg();
|
||||
group.setGroupId(ConfigServiceUtil.getId(2, 1).get(0));
|
||||
group.setCompileId(baseCfg.getCompileId());
|
||||
group.setAuditTime(baseCfg.getAuditTime());
|
||||
group.setIsValid(baseCfg.getIsValid());
|
||||
groupRelationList.add(group);
|
||||
Map<String,List> map = new HashMap();
|
||||
if(cfgType==1){
|
||||
List numRegionList = new ArrayList();
|
||||
Integer groupId = 0;
|
||||
for(int i=0;i<srcList.size();i++){
|
||||
BaseIpCfg baseIpCfg = (BaseIpCfg) srcList.get(i);
|
||||
IpCfg cfg = new IpCfg();
|
||||
BeanUtils.copyProperties(baseIpCfg, cfg);
|
||||
cfg.setGroupId(group.getGroupId());
|
||||
cfg.setRegionId(ConfigServiceUtil.getId(3, 1).get(0));
|
||||
cfg = ipConvert(cfg,baseIpCfg);
|
||||
dstList.add(cfg);
|
||||
//如果protocolId非空非零,需要构造数值型域配置,并且只构造一条
|
||||
if(baseIpCfg.getProtocolId()!=null && baseIpCfg.getProtocolId()!=0 && groupId!=0){
|
||||
if(groupId==0){//只构造一次配置分组
|
||||
GroupCfg group1 = new GroupCfg();
|
||||
groupId = ConfigServiceUtil.getId(2, 1).get(0);
|
||||
group1.setGroupId(groupId);
|
||||
group1.setCompileId(baseIpCfg.getCompileId());
|
||||
group1.setAuditTime(baseIpCfg.getAuditTime());
|
||||
group1.setIsValid(baseIpCfg.getIsValid());
|
||||
groupRelationList.add(group1);
|
||||
}
|
||||
NumBoundaryCfg numCfg = new NumBoundaryCfg();
|
||||
numCfg.setLowBoundary(baseIpCfg.getProtocolId());
|
||||
numCfg.setUpBoundary(baseIpCfg.getProtocolId());
|
||||
numCfg.setRegionId(ConfigServiceUtil.getId(3, 1).get(0));
|
||||
numCfg.setAuditTime(baseIpCfg.getAuditTime());
|
||||
numCfg.setGroupId(groupId);
|
||||
numCfg.setCfgType(baseIpCfg.getCfgType());
|
||||
numRegionList.add(numCfg);
|
||||
map.put("numRegionList",numRegionList);
|
||||
}
|
||||
}
|
||||
|
||||
}else if(cfgType==2 || cfgType==3){
|
||||
for(int i=0;i<srcList.size();i++){
|
||||
StringCfg cfg = new StringCfg();
|
||||
BeanUtils.copyProperties(srcList.get(i), cfg);
|
||||
cfg.setGroupId(group.getGroupId());
|
||||
cfg.setRegionId(ConfigServiceUtil.getId(3, 1).get(0));
|
||||
dstList.add(cfg);
|
||||
}
|
||||
}else if(cfgType==4){
|
||||
for(int i=0;i<srcList.size();i++){
|
||||
com.nis.domain.maat.MaatCfg.NumBoundaryCfg cfg = new com.nis.domain.maat.MaatCfg.NumBoundaryCfg();
|
||||
BeanUtils.copyProperties(srcList.get(i), cfg);
|
||||
cfg.setGroupId(group.getGroupId());
|
||||
cfg.setRegionId(ConfigServiceUtil.getId(3, 1).get(0));
|
||||
dstList.add(cfg);
|
||||
}
|
||||
}else{
|
||||
dstList.addAll(srcList);
|
||||
}
|
||||
map.put("groupList", groupRelationList);
|
||||
map.put("dstList", dstList);
|
||||
return map;
|
||||
}
|
||||
/**
|
||||
* 界面IP配置转换为MAAT类或者回调类IP配置
|
||||
* @param dstIp
|
||||
* @param srcIp
|
||||
* @return
|
||||
*/
|
||||
public static IpCfg ipConvert(IpCfg dstIp,BaseIpCfg srcIp){
|
||||
if(srcIp.getSrcIpAddress()!=null){
|
||||
if(srcIp.getSrcIpAddress().indexOf("/")!=-1){
|
||||
Integer srcMaskNum = Integer.parseInt(srcIp.getSrcIpAddress().split("/")[1]);
|
||||
dstIp.setSrcIpMask(IpUtil.convertMask(srcMaskNum));
|
||||
dstIp.setSrcIp(srcIp.getSrcIpAddress().split("/")[0]);
|
||||
}else if(srcIp.getSrcIpAddress().indexOf("-")!=-1){
|
||||
dstIp.setSrcIp(srcIp.getSrcIpAddress().split("-")[0]);
|
||||
dstIp.setSrcIpMask(IpUtil.getMask(srcIp.getSrcIpAddress().split("-")[0], srcIp.getSrcIpAddress().split("-")[1]));
|
||||
}else{
|
||||
dstIp.setSrcIp(srcIp.getSrcIpAddress());
|
||||
dstIp.setSrcIpMask("0.0.0.0");
|
||||
}
|
||||
}else{
|
||||
dstIp.setSrcIp("0.0.0.0");
|
||||
dstIp.setSrcIpMask("0.0.0.0");
|
||||
}
|
||||
if(srcIp.getDestIpAddress()!=null){
|
||||
if(srcIp.getDestIpAddress().indexOf("/")!=-1){
|
||||
Integer dstMaskNum = Integer.parseInt(srcIp.getDestIpAddress().split("/")[1]);
|
||||
dstIp.setDstIpMask(IpUtil.convertMask(dstMaskNum));
|
||||
dstIp.setDstIp(srcIp.getDestIpAddress().split("/")[0]);
|
||||
}else if(srcIp.getDestIpAddress().indexOf("-")!=-1){
|
||||
dstIp.setDstIp(srcIp.getDestIpAddress().split("-")[0]);
|
||||
dstIp.setDstIpMask(IpUtil.getMask(srcIp.getDestIpAddress().split("-")[0], srcIp.getDestIpAddress().split("-")[1]));
|
||||
}else{
|
||||
dstIp.setDstIp(srcIp.getDestIpAddress());
|
||||
dstIp.setDstIpMask("0.0.0.0");
|
||||
}
|
||||
}else{
|
||||
dstIp.setDstIp("0.0.0.0");
|
||||
dstIp.setDstIpMask("0.0.0.0");
|
||||
}
|
||||
if(srcIp.getSrcPort()!=null){
|
||||
if(srcIp.getSrcPort().indexOf("/")!=-1){
|
||||
String srcMaskNum = srcIp.getSrcPort().split("/")[1];
|
||||
dstIp.setSrcPortMask(srcMaskNum);
|
||||
dstIp.setSrcPort(srcIp.getSrcPort().split("/")[0]);
|
||||
}else{
|
||||
dstIp.setSrcPort(srcIp.getSrcPort());
|
||||
dstIp.setSrcPortMask("0");
|
||||
}
|
||||
}else{
|
||||
dstIp.setSrcPort("0");
|
||||
dstIp.setSrcPortMask("0");
|
||||
}
|
||||
if(srcIp.getDestPort()!=null){
|
||||
if(srcIp.getDestPort().indexOf("/")!=-1){
|
||||
String dstMaskNum = srcIp.getDestPort().split("/")[1];
|
||||
dstIp.setDstPortMask(dstMaskNum);
|
||||
dstIp.setDstPort(srcIp.getDestPort().split("/")[0]);
|
||||
}else{
|
||||
dstIp.setDstPort(srcIp.getDestPort());
|
||||
dstIp.setDstPortMask("0");
|
||||
}
|
||||
}else{
|
||||
dstIp.setDstPort("0");
|
||||
dstIp.setDstPortMask("0");
|
||||
}
|
||||
return dstIp;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,11 @@ package com.nis.web.service.configuration;
|
||||
import java.beans.PropertyDescriptor;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.BeansException;
|
||||
@@ -17,6 +19,8 @@ import org.springframework.util.ClassUtils;
|
||||
|
||||
import com.nis.domain.Page;
|
||||
import com.nis.domain.configuration.AreaIpCfg;
|
||||
import com.nis.domain.configuration.AvFileSampleCfg;
|
||||
import com.nis.domain.configuration.AvSignSampleCfg;
|
||||
import com.nis.domain.configuration.BaseIpCfg;
|
||||
import com.nis.domain.configuration.CfgIndexInfo;
|
||||
import com.nis.domain.configuration.HttpBodyCfg;
|
||||
@@ -24,11 +28,22 @@ import com.nis.domain.configuration.HttpReqHeadCfg;
|
||||
import com.nis.domain.configuration.HttpResHeadCfg;
|
||||
import com.nis.domain.configuration.HttpUrlCfg;
|
||||
import com.nis.domain.configuration.IpPortCfg;
|
||||
import com.nis.domain.maat.MaatCfg;
|
||||
import com.nis.domain.maat.MaatCfg.NumBoundaryCfg;
|
||||
import com.nis.domain.maat.ToMaatBean;
|
||||
import com.nis.domain.maat.ToMaatResult;
|
||||
import com.nis.domain.maat.MaatCfg.DigestCfg;
|
||||
import com.nis.domain.maat.MaatCfg.GroupCfg;
|
||||
import com.nis.domain.maat.MaatCfg.IpCfg;
|
||||
import com.nis.domain.maat.MaatCfg.StringCfg;
|
||||
import com.nis.exceptions.MaatConvertException;
|
||||
import com.nis.util.ConfigServiceUtil;
|
||||
import com.nis.util.Constants;
|
||||
import com.nis.util.IpUtil;
|
||||
import com.nis.web.dao.configuration.AreaIpCfgDao;
|
||||
import com.nis.web.dao.configuration.IpCfgDao;
|
||||
import com.nis.web.dao.configuration.WebsiteCfgDao;
|
||||
import com.nis.web.security.UserUtils;
|
||||
import com.nis.web.service.BaseService;
|
||||
import com.nis.web.service.CrudService;
|
||||
|
||||
@@ -139,6 +154,7 @@ public class WebsiteCfgService extends CrudService<WebsiteCfgDao,CfgIndexInfo> {
|
||||
//保存区域IP信息
|
||||
if(entity.getAreaCfg()!=null){
|
||||
for(AreaIpCfg cfg:entity.getAreaCfg()){
|
||||
cfg.initDefaultValue();
|
||||
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType"});
|
||||
areaIpCfgDao.saveAreaIpCfg(cfg);
|
||||
}
|
||||
@@ -203,13 +219,110 @@ public class WebsiteCfgService extends CrudService<WebsiteCfgDao,CfgIndexInfo> {
|
||||
//保存区域IP信息
|
||||
if(entity.getAreaCfg()!=null){
|
||||
for(AreaIpCfg cfg:entity.getAreaCfg()){
|
||||
cfg.initDefaultValue();
|
||||
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgDesc","cfgRegionCode","cfgType"});
|
||||
areaIpCfgDao.saveAreaIpCfg(cfg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void updateHttpCfgValid(Integer isAudit,Integer isValid,String ids){
|
||||
CfgIndexInfo entity = new CfgIndexInfo();
|
||||
String[] idArray = ids.split(",");
|
||||
for(String id :idArray){
|
||||
entity.setCfgId(Long.parseLong(id));
|
||||
entity.setIsAudit(isAudit);
|
||||
entity.setIsValid(isValid);
|
||||
entity.setEditorId(UserUtils.getUser().getId());
|
||||
entity.setEditTime(new Date());
|
||||
websiteCfgDao.updateHttpCfgValid(entity);
|
||||
}
|
||||
}
|
||||
public void auditHttpCfg(CfgIndexInfo entity,Integer isAudit) throws MaatConvertException{
|
||||
//修改数据库审核状态信息
|
||||
websiteCfgDao.auditHttpCfg(entity);
|
||||
|
||||
ToMaatBean maatBean = new ToMaatBean();
|
||||
MaatCfg maatCfg = new MaatCfg();
|
||||
maatCfg.initDefaultValue();
|
||||
BeanUtils.copyProperties(entity, maatCfg);
|
||||
|
||||
|
||||
//一条配置提交一次综合服务
|
||||
if(isAudit==1){
|
||||
entity = this.getHttpCfg(entity.getCfgId());
|
||||
List<MaatCfg> configCompileList = new ArrayList();
|
||||
List<GroupCfg> groupRelationList = new ArrayList();
|
||||
List<IpCfg> ipRegionList = new ArrayList();
|
||||
List<StringCfg> strRegionList = new ArrayList();
|
||||
List<NumBoundaryCfg> numRegionList = new ArrayList();
|
||||
List<DigestCfg> digestRegionList = new ArrayList();
|
||||
List<IpCfg> areaIpRegionList = new ArrayList();
|
||||
if(entity.getIpPortList()!=null && entity.getIpPortList().size()>0){
|
||||
Map<String,List> map = cfgConvert(ipRegionList,entity.getIpPortList(),1,entity,groupRelationList);
|
||||
groupRelationList=map.get("groupList");
|
||||
ipRegionList=map.get("dstList");
|
||||
numRegionList.addAll(map.get("numRegionList"));
|
||||
}
|
||||
if(entity.getHttpUrlList()!=null && entity.getHttpUrlList().size()>0){
|
||||
Map<String,List> map = cfgConvert(strRegionList,entity.getHttpUrlList(),2,entity,groupRelationList);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
if(entity.getHttpReqHdrList()!=null && entity.getHttpReqHdrList().size()>0){
|
||||
Map<String,List> map = cfgConvert(strRegionList,entity.getHttpReqHdrList(),2,entity,groupRelationList);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
if(entity.getHttpResHdrList()!=null && entity.getHttpResHdrList().size()>0){
|
||||
|
||||
Map<String,List> map = cfgConvert(strRegionList,entity.getHttpResHdrList(),2,entity,groupRelationList);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
if(entity.getHttpReqBodyList()!=null && entity.getHttpReqBodyList().size()>0){
|
||||
Map<String,List> map = cfgConvert(strRegionList,entity.getHttpReqBodyList(),2,entity,groupRelationList);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
if(entity.getHttpResBodyList()!=null && entity.getHttpResBodyList().size()>0){
|
||||
Map<String,List> map = cfgConvert(strRegionList,entity.getHttpResBodyList(),2,entity,groupRelationList);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
//保存区域IP信息
|
||||
if(entity.getAreaCfg()!=null && entity.getAreaCfg().size()>0){
|
||||
Map<String,List> map = cfgConvert(areaIpRegionList,entity.getAreaCfg(),1,entity,groupRelationList);
|
||||
groupRelationList=map.get("groupList");
|
||||
areaIpRegionList=map.get("dstList");
|
||||
}
|
||||
maatCfg.setAction(entity.getAction());
|
||||
maatCfg.setAuditTime(entity.getAuditTime());
|
||||
maatCfg.setIpRegionList(ipRegionList);
|
||||
maatCfg.setStrRegionList(strRegionList);
|
||||
maatCfg.setNumRegionList(numRegionList);
|
||||
maatCfg.setDigestRegionList(digestRegionList);
|
||||
maatCfg.setGroupRelationList(groupRelationList);
|
||||
maatCfg.setGroupNum(groupRelationList.size());
|
||||
maatCfg.setAreaIpRegionList(areaIpRegionList);
|
||||
configCompileList.add(maatCfg);
|
||||
maatBean.setConfigCompileList(configCompileList);
|
||||
maatBean.setAuditTime(entity.getAuditTime());
|
||||
maatBean.setCreatorName(entity.getCurrentUser().getName());
|
||||
maatBean.setVersion(Constants.MAAT_VERSION);
|
||||
//调用服务接口下发配置数据
|
||||
String json=gsonToJson(maatBean);
|
||||
logger.info("http配置下发配置参数:"+json);
|
||||
//调用服务接口下发配置
|
||||
ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json);
|
||||
logger.info("http配置下发响应信息:"+result.getMsg());
|
||||
|
||||
}else if(isAudit==3){
|
||||
//调用服务接口取消配置
|
||||
String json=gsonToJson(maatBean);
|
||||
logger.info("http配置下发配置参数:"+json);
|
||||
//调用服务接口下发配置
|
||||
ToMaatResult result = ConfigServiceUtil.put(json,2);
|
||||
logger.info("http配置取消配置响应信息:"+result.getMsg());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ public class MaatCfgConverTest {
|
||||
groupId++;
|
||||
group.setGroupId(groupId);
|
||||
group.setCompileId(1);
|
||||
group.setOpTime(new Date());
|
||||
group.setAuditTime(new Date());
|
||||
group.setIsValid(1);
|
||||
groupList.add(group);
|
||||
}
|
||||
@@ -100,7 +100,7 @@ public class MaatCfgConverTest {
|
||||
groupId++;
|
||||
group.setGroupId(groupId);
|
||||
group.setCompileId(1);
|
||||
group.setOpTime(new Date());
|
||||
group.setAuditTime(new Date());
|
||||
group.setIsValid(1);
|
||||
groupList.add(group);
|
||||
}
|
||||
@@ -135,7 +135,7 @@ public class MaatCfgConverTest {
|
||||
groupId++;
|
||||
group.setGroupId(groupId);
|
||||
group.setCompileId(1);
|
||||
group.setOpTime(new Date());
|
||||
group.setAuditTime(new Date());
|
||||
group.setIsValid(1);
|
||||
groupList.add(group);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user