diff --git a/src/main/java/com/nis/util/ConfigServiceUtil.java b/src/main/java/com/nis/util/ConfigServiceUtil.java index ddda12ee3..d22389e0a 100644 --- a/src/main/java/com/nis/util/ConfigServiceUtil.java +++ b/src/main/java/com/nis/util/ConfigServiceUtil.java @@ -14,6 +14,7 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import net.sf.json.JSONObject; +import net.sf.json.JsonConfig; import org.glassfish.jersey.media.multipart.FormDataMultiPart; import org.glassfish.jersey.media.multipart.file.FileDataBodyPart; @@ -144,7 +145,9 @@ public class ConfigServiceUtil { Response response= header.post(Entity.entity(params, MediaType.APPLICATION_JSON)); if( response.getStatus() == 200){ result= response.readEntity(String.class); - JSONObject resObject = JSONObject.fromObject(result); + JsonConfig config=new JsonConfig(); + config.setExcludes(new String[]{"configCompileList"}); + JSONObject resObject = JSONObject.fromObject(result,config); bean = (ToMaatResult) JSONObject.toBean(resObject,ToMaatResult.class); }else{ throw new MaatConvertException(":"+response.readEntity(String.class)); diff --git a/src/main/java/com/nis/web/service/configuration/IpCfgService.java b/src/main/java/com/nis/web/service/configuration/IpCfgService.java index 6d97f791f..0c0248e80 100644 --- a/src/main/java/com/nis/web/service/configuration/IpCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/IpCfgService.java @@ -3,8 +3,10 @@ package com.nis.web.service.configuration; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Map; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -12,7 +14,14 @@ import org.springframework.transaction.annotation.Transactional; import com.nis.domain.configuration.AreaIpCfg; import com.nis.domain.configuration.BaseIpCfg; import com.nis.domain.configuration.IpPortCfg; +import com.nis.domain.maat.MaatCfg; +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.NumBoundaryCfg; +import com.nis.domain.maat.MaatCfg.StringCfg; import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; @@ -94,22 +103,62 @@ public class IpCfgService extends CrudService { List beans=new ArrayList<>(); beans.add(cfg); this.auditBatch(beans, IpCfgDao.class); - if(cfg.getIsAudit()==1){ - //待调整 - + List configCompileList = new ArrayList(); + List groupRelationList = new ArrayList(); + List ipRegionList = new ArrayList(); + List strRegionList = new ArrayList(); + List numRegionList = new ArrayList(); + List digestRegionList = new ArrayList(); + List areaIpRegionList = new ArrayList(); + ToMaatBean maatBean = new ToMaatBean(); + MaatCfg maatCfg = new MaatCfg(); + maatCfg.initDefaultValue(); + BeanUtils.copyProperties(cfg, maatCfg); + + if(cfg.getIsAudit()==1){ + maatBean.setOpAction(Constants.INSERT_ACTION); + Map map = cfgConvert(ipRegionList,beans,1,cfg,groupRelationList); + groupRelationList=map.get("groupList"); + ipRegionList=map.get("dstList"); + maatCfg.setAreaEffectiveIds("0"); + maatCfg.setUserRegion(cfg.getCompileId()+""); + maatCfg.setAction(cfg.getAction()); + maatCfg.setAuditTime(cfg.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(cfg.getAuditTime()); + maatBean.setCreatorName(cfg.getCurrentUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); //调用服务接口下发配置数据 - String json=gsonToJson(beans); + String json=gsonToJson(maatBean); logger.info("IP白名单下发配置参数:"+json); //调用服务接口下发配置 try { ToMaatResult result = ConfigServiceUtil.postMaatCfg(json); - logger.info("IP白名单配置下发响应信息:"+result.getMsg()); + if(result!=null){ + logger.info("IP白名单配置下发响应信息:"+result.getMsg()); + } } catch (Exception e) { - e.printStackTrace(); - logger.info("IP白名单配置下发失败"); - throw new MaatConvertException(":"+e.getMessage()); + logger.error("IP白名单配置下发失败",e); + throw e; } }else if(cfg.getIsAudit()==3){ + maatCfg.setCompileId(cfg.getCompileId()); + maatCfg.setServiceId(cfg.getServiceId()); + maatCfg.setIsValid(0);//无效 + configCompileList.add(maatCfg); + maatBean.setConfigCompileList(configCompileList); + maatBean.setAuditTime(cfg.getAuditTime()); + maatBean.setCreatorName(cfg.getCurrentUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); + maatBean.setOpAction(Constants.UPDATE_ACTION); //调用服务接口取消配置 String json=gsonToJson(beans); logger.info("IP白名单配置参数:"+json); @@ -120,7 +169,7 @@ public class IpCfgService extends CrudService { } catch (Exception e) { e.printStackTrace(); logger.info("IP白名单取消配置失败"); - throw new MaatConvertException(":"+e.getMessage()); + throw e; } } }