diff --git a/lib/guava-18.0.jar b/lib/guava-18.0.jar new file mode 100644 index 000000000..8f89e4901 Binary files /dev/null and b/lib/guava-18.0.jar differ diff --git a/pom.xml b/pom.xml index 2f1ece719..ab1909b37 100644 --- a/pom.xml +++ b/pom.xml @@ -193,6 +193,12 @@ com.mangofactory swagger-springmvc 1.0.2 + + + guava + com.google.guava + + @@ -380,6 +386,12 @@ com.jolbox bonecp 0.8.0.RELEASE + + + guava + com.google.guava + + @@ -613,6 +625,10 @@ asm-commons asm + + guava + com.google.guava + @@ -638,6 +654,12 @@ cglib 3.1 + + com.google.guava + guava + 18.0 + + com.google.code.gson gson diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index f69a64dd9..50eca84b9 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -1,11 +1,14 @@ package com.nis.web.controller; import java.beans.PropertyEditorSupport; import java.io.IOException; +import java.util.ArrayList; import java.util.Date; +import java.util.List; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringEscapeUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -14,6 +17,19 @@ import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import com.nis.domain.ServiceConfigInfo; +import com.nis.domain.basics.ServiceDictInfo; +import com.nis.domain.basics.SysDictInfo; +import com.nis.domain.configuration.AreaBean; +import com.nis.domain.configuration.AreaIpCfg; +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.NumBoundaryCfg; +import com.nis.domain.configuration.RequestInfo; +import com.nis.main.ConvertTool; +import com.nis.util.Constants; import com.nis.util.DateUtils; import com.nis.util.JsonMapper; import com.nis.web.service.ArchiveServcie; @@ -29,9 +45,9 @@ import com.nis.web.service.basics.ServiceDictInfoService; import com.nis.web.service.basics.SysDictInfoService; import com.nis.web.service.configuration.AppCfgService; import com.nis.web.service.configuration.ComplexStringCfgService; +import com.nis.web.service.configuration.DnsIpCfgService; import com.nis.web.service.configuration.FtpCfgService; import com.nis.web.service.configuration.IpCfgService; -import com.nis.web.service.configuration.DnsIpCfgService; import com.nis.web.service.configuration.MailCfgService; import com.nis.web.service.configuration.MediaCfgService; import com.nis.web.service.configuration.NumCfgService; @@ -227,4 +243,232 @@ public class BaseController { } }); } + protected void initPageCondition(Model model){ + List requestInfos=requestInfoService.getAllRequestInfo(); + model.addAttribute("requestInfos", requestInfos); + List fls=serviceDictInfoService.findAllFlDict(); + model.addAttribute("fls", fls); + List xzs=serviceDictInfoService.findAllXzDict(); + model.addAttribute("xzs", xzs); + List lables=serviceDictInfoService.findAllLableDict(); + model.addAttribute("lables", lables); + } + protected void initFormCondition(Model model){ + List requestInfos=requestInfoService.getValidRequestInfo(); + model.addAttribute("requestInfos", requestInfos); + List fls=serviceDictInfoService.findFlDict(); + model.addAttribute("fls", fls); + List xzs=serviceDictInfoService.findXzDict(); + model.addAttribute("xzs", xzs); + List lables=serviceDictInfoService.findLableDict(); + model.addAttribute("lables", lables); + List itTypeList=new ArrayList(); + itTypeList.add(Constants.ITEM_TYPE_AREA); + List areas = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(),itTypeList,null); + model.addAttribute("areas", areas); + itTypeList.clear(); + itTypeList.add(Constants.ITEM_TYPE_ISP); + List isps = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(),itTypeList,null); + model.addAttribute("isps", isps); + //初始化一个默认的地域ip给界面 + AreaIpCfg areaIpCfg=new AreaIpCfg(); + areaIpCfg.initDefaultValue(); + model.addAttribute("_areaCfg", areaIpCfg); + } + protected void initUpdateFormCondition(Model model,BaseCfg cfg){ + //查询配置对应的地域ip + List areaCfgs=ipCfgService.getAreaCfgByCompileId(cfg.getCompileId()); + model.addAttribute("areaCfgs", areaCfgs); + StringBuffer areaCfgIds=new StringBuffer(); + for(AreaIpCfg areaCfg:areaCfgs){ + areaCfgIds.append(areaCfg.getCfgId()+","); + } + //update时判断是否有删除地域ip + model.addAttribute("areaCfgIds", areaCfgIds.toString()); + //初始化一个默认的地域ip给界面 + AreaIpCfg areaIpCfg=new AreaIpCfg(); + areaIpCfg.initDefaultValue(); + model.addAttribute("_areaCfg", areaIpCfg); + //从区域生效ID中获取区域与运营商 + String areaEffectiveIds=cfg.getAreaEffectiveIds(); + List areaIspList=new ArrayList(); + if(StringUtils.isNotBlank(areaEffectiveIds)){ + String[] areaIsps=areaEffectiveIds.split(","); + for(String areaIsp:areaIsps){ + AreaBean area=new AreaBean(); + if(areaIsp.contains(":")){ + area.setArea(areaIsp.split(":")[0]); + area.setIsp(areaIsp.split(":")[1]); + }else{ + area.setArea(areaIsp); + } + areaIspList.add(area); + } + } + model.addAttribute("_areaIsps", areaIspList); + List requestInfos=requestInfoService.getAllRequestInfo(); + model.addAttribute("requestInfos", requestInfos); + List fls=serviceDictInfoService.findAllFlDict(); + model.addAttribute("fls", fls); + List xzs=serviceDictInfoService.findAllXzDict(); + model.addAttribute("xzs", xzs); + List lables=serviceDictInfoService.findAllLableDict(); + model.addAttribute("lables", lables); + List itTypeList=new ArrayList(); + itTypeList.add(Constants.ITEM_TYPE_AREA); + List areas = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(),itTypeList,null); + model.addAttribute("areas", areas); + itTypeList.clear(); + itTypeList.add(Constants.ITEM_TYPE_ISP); + List isps = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(),itTypeList,null); + model.addAttribute("isps", isps); + } + protected void setSaveOrUpdateProps(Model model,BaseCfg cfg,String areaCfgIds) throws Exception{ + String tableName=cfg.getTableName(); + List areaCfg=cfg.getAreaCfg(); + List areaIsps=cfg.getAreaIsp(); + if(Constants.IS_AREA_EFFECTIVE_NO==cfg.getIsAreaEffective()){ + cfg.setAreaEffectiveIds(""); + cfg.setAreaType(null); + }else if(Constants.IS_AREA_EFFECTIVE_YES==cfg.getIsAreaEffective()){ + if(Constants.AREA_EFFECTIVE_TYPE_AREA_ISP==cfg.getAreaType()&&areaIsps!=null&&areaIsps.size()>0){ + StringBuffer areaEffectiveIds=new StringBuffer(); + for(int i=0;i0){ + cfg.setAreaEffectiveIds(""); + }else{ + logger.error("区域管控,但是地域+ISP以及地域IP全部为空!"); + addMessage(model,"save_failed"); + return ; + } + } + int serviceId=cfg.getServiceId(); + if(StringUtils.isBlank(tableName)){ + ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); + if(serviceConfigInfo!=null){ + tableName=serviceConfigInfo.getTableName(); + cfg.setTableName(tableName); + } + } + if(cfg.getCompileId()==null){ + int compileId=new ConvertTool().getCompileId().intValue(); + cfg.setCompileId(compileId); + } + Date date=new Date(); + cfg.setIsValid(Constants.VALID_NO); + cfg.setIsAudit(Constants.AUDIT_NOT_YET); + if(cfg.getCfgId()==null){ + cfg.setCreatorId(cfg.getCurrentUser().getId()); + cfg.setCreateTime(date); + if(Constants.IS_AREA_EFFECTIVE_YES==cfg.getIsAreaEffective()&&areaCfg!=null){ + for(AreaIpCfg area:areaCfg){ + area.setTableName(AreaIpCfg.getTablename()); + area.setServiceId(serviceId); + area.setCompileId(cfg.getCompileId()); + area.setAction(cfg.getAction()); + area.setIsValid(Constants.VALID_NO); + area.setIsAudit(Constants.AUDIT_NOT_YET); + area.setRequestId(cfg.getRequestId()); + area.setClassify(cfg.getClassify()); + area.setAttribute(cfg.getAttribute()); + area.setLable(cfg.getLable()); + area.setCreatorId(cfg.getCurrentUser().getId()); + area.setCreateTime(date); + } + } + if(cfg instanceof BaseIpCfg){ + ipCfgService.addIpCfg((BaseIpCfg)cfg,areaCfg); + }else if(cfg instanceof BaseStringCfg){ + stringCfgService.addStringCfg((BaseStringCfg)cfg,areaCfg); + }else if(cfg instanceof NumBoundaryCfg){ + numCfgService.addNumCfg((NumBoundaryCfg)cfg,areaCfg); + }else if(cfg instanceof ComplexkeywordCfg){ + complexStringCfgService.addStringCfg((ComplexkeywordCfg)cfg,areaCfg); + } + }else{ + cfg.setEditorId(cfg.getCurrentUser().getId()); + cfg.setEditTime(new Date()); + List updateAreaCfg=new ArrayList<>(); + List deleteAreaCfg=new ArrayList<>(); + List addAreaCfg=new ArrayList<>(); + String[] cfgIds=null; + if(!StringUtils.isBlank(areaCfgIds)){ + cfgIds=areaCfgIds.split(","); + } + if(Constants.IS_AREA_EFFECTIVE_YES==cfg.getIsAreaEffective()&&areaCfg!=null){ + for(AreaIpCfg area:areaCfg){ + area.setTableName(AreaIpCfg.getTablename()); + area.setServiceId(serviceId); + area.setCompileId(cfg.getCompileId()); + area.setAction(cfg.getAction()); + area.setIsValid(Constants.VALID_NO); + area.setIsAudit(Constants.AUDIT_NOT_YET); + area.setRequestId(cfg.getRequestId()); + area.setClassify(cfg.getClassify()); + area.setAttribute(cfg.getAttribute()); + area.setLable(cfg.getLable()); + if(area.getCfgId()==null){ + area.setCreatorId(cfg.getCurrentUser().getId()); + area.setCreateTime(date); + addAreaCfg.add(area); + }else if(cfgIds!=null){ + area.setEditorId(cfg.getCurrentUser().getId()); + area.setEditTime(date); + boolean contains=false; + for(String cfgId:cfgIds){ + if(!StringUtils.isBlank(cfgId)&&area.getCfgId().longValue()==Long.parseLong(cfgId)){ + contains=true; + break; + } + } + if(contains){ + updateAreaCfg.add(area); + }else{ + deleteAreaCfg.add(area); + } + } + } + }else{ + if(cfgIds!=null){ + for(String cfgId:cfgIds){ + if(!StringUtils.isBlank(cfgId)){ + AreaIpCfg area=new AreaIpCfg(); + area.setTableName(AreaIpCfg.getTablename()); + area.setIsValid(Constants.VALID_DEL); + area.setCfgId(Long.parseLong(cfgId)); + area.setEditorId(cfg.getCurrentUser().getId()); + area.setEditTime(date); + deleteAreaCfg.add(area); + + } + } + } + } + if(cfg instanceof BaseIpCfg){ + ipCfgService.updateIpCfg((BaseIpCfg)cfg,addAreaCfg,updateAreaCfg,deleteAreaCfg); + }else if(cfg instanceof BaseStringCfg){ + stringCfgService.updateStringCfg((BaseStringCfg)cfg,addAreaCfg,updateAreaCfg,deleteAreaCfg); + }else if(cfg instanceof NumBoundaryCfg){ + numCfgService.updateNumCfg((NumBoundaryCfg)cfg,addAreaCfg,updateAreaCfg,deleteAreaCfg); + }else if(cfg instanceof ComplexkeywordCfg){ + complexStringCfgService.updateStringCfg((ComplexkeywordCfg)cfg,addAreaCfg,updateAreaCfg,deleteAreaCfg); + } + } + addMessage(model,"save_success"); + } } diff --git a/src/main/java/com/nis/web/controller/configuration/ComplexStringCfgController.java b/src/main/java/com/nis/web/controller/configuration/ComplexStringCfgController.java index 3e2a8f36b..c400ad44e 100644 --- a/src/main/java/com/nis/web/controller/configuration/ComplexStringCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ComplexStringCfgController.java @@ -1,6 +1,5 @@ package com.nis.web.controller.configuration; import java.util.Date; -import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -13,9 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import com.nis.domain.Page; import com.nis.domain.ServiceConfigInfo; -import com.nis.domain.basics.ServiceDictInfo; import com.nis.domain.configuration.ComplexkeywordCfg; -import com.nis.domain.configuration.RequestInfo; import com.nis.main.ConvertTool; import com.nis.util.Constants; import com.nis.web.controller.BaseController; @@ -48,14 +45,7 @@ public class ComplexStringCfgController extends BaseController{ model.addAttribute("page", page); model.addAttribute("action", cfg.getAction()); model.addAttribute("tableName", tableName); - List requestInfos=requestInfoService.getValidRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findAllFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findAllXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findAllLableDict(); - model.addAttribute("lables", lables); + initPageCondition(model); } }else{ logger.error("未获取到正确的serviceId"); @@ -96,14 +86,7 @@ public class ComplexStringCfgController extends BaseController{ cfg.setServiceId(serviceId); model.addAttribute("_cfg", cfg); model.addAttribute("tableName", tableName); - List requestInfos=requestInfoService.getValidRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findLableDict(); - model.addAttribute("lables", lables); + initFormCondition(model); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { // TODO Auto-generated catch block logger.error("打开新增IP窗口失败",e); @@ -133,14 +116,8 @@ public class ComplexStringCfgController extends BaseController{ searchBean.setTableName(tableName); ComplexkeywordCfg cfg=complexStringCfgService.getStringCfgById(searchBean); model.addAttribute("_cfg", cfg); - List requestInfos=requestInfoService.getAllRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findAllFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findAllXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findAllLableDict(); - model.addAttribute("lables", lables); + model.addAttribute("tableName", tableName); + initUpdateFormCondition(model,cfg); }catch(Exception e){ logger.error("发生异常", e); } @@ -157,7 +134,7 @@ public class ComplexStringCfgController extends BaseController{ * @since 1.0.0 */ @RequestMapping(value = {"saveOrUpdateCfg"}) - public String saveOrUpdateStringCfg(String cfgName,Model model, ComplexkeywordCfg cfg) { + public String saveOrUpdateStringCfg(String cfgName,Model model, ComplexkeywordCfg cfg,String areaCfgIds) { model.addAttribute("cfgName",cfgName); model.addAttribute("cfgType","complex"); model.addAttribute("audit", Constants.CFG_PAGE); @@ -165,32 +142,7 @@ public class ComplexStringCfgController extends BaseController{ model.addAttribute("action",cfg.getAction()); logger.info("saveOrUpdateStringCfg loaded"); try { - String tableName=cfg.getTableName(); - int serviceId=cfg.getServiceId(); - if(StringUtils.isBlank(cfg.getTableName())){ - - ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); - if(serviceConfigInfo!=null){ - tableName=serviceConfigInfo.getTableName(); - cfg.setTableName(tableName); - } - } - if(cfg.getCompileId()==null){ - int compileId = new ConvertTool().getCompileId().intValue(); - cfg.setCompileId(compileId); - } - cfg.setIsValid(Constants.VALID_NO); - cfg.setIsAudit(Constants.AUDIT_NOT_YET); - if(cfg.getCfgId()==null){ - cfg.setCreatorId(cfg.getCurrentUser().getId()); - cfg.setCreateTime(new Date()); - complexStringCfgService.addStringCfg(cfg); - }else{ - cfg.setEditorId(cfg.getCurrentUser().getId()); - cfg.setEditTime(new Date()); - complexStringCfgService.updateStringCfg(cfg); - } - addMessage(model,"save_success"); + setSaveOrUpdateProps(model,cfg,areaCfgIds); } catch (Exception e) { // TODO Auto-generated catch block logger.error("保存失败!",e); diff --git a/src/main/java/com/nis/web/controller/configuration/IpCfgController.java b/src/main/java/com/nis/web/controller/configuration/IpCfgController.java index bf1a87026..3823a1eb2 100644 --- a/src/main/java/com/nis/web/controller/configuration/IpCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/IpCfgController.java @@ -1,8 +1,6 @@ package com.nis.web.controller.configuration; -import java.util.ArrayList; import java.util.Date; -import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -16,13 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import com.nis.domain.Page; import com.nis.domain.ServiceConfigInfo; -import com.nis.domain.basics.ServiceDictInfo; -import com.nis.domain.basics.SysDictInfo; -import com.nis.domain.configuration.AreaBean; -import com.nis.domain.configuration.AreaIpCfg; import com.nis.domain.configuration.BaseIpCfg; -import com.nis.domain.configuration.RequestInfo; -import com.nis.exceptions.ServiceException; import com.nis.main.ConvertTool; import com.nis.util.Constants; import com.nis.web.controller.BaseController; @@ -71,14 +63,7 @@ public class IpCfgController extends BaseController{ model.addAttribute("page", page); model.addAttribute("action", ipCfg.getAction()); model.addAttribute("tableName", tableName); - List requestInfos=requestInfoService.getAllRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findAllFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findAllXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findAllLableDict(); - model.addAttribute("lables", lables); + initPageCondition(model); } }else{ logger.error("未获取到正确的serviceId"); @@ -134,26 +119,7 @@ public class IpCfgController extends BaseController{ ipcfg.setServiceId(serviceId); model.addAttribute("_cfg", ipcfg); model.addAttribute("tableName", tableName); - List requestInfos=requestInfoService.getValidRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findLableDict(); - model.addAttribute("lables", lables); - List itTypeList=new ArrayList(); - itTypeList.add(Constants.ITEM_TYPE_AREA); - List areas = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(),itTypeList,null); - model.addAttribute("areas", areas); - itTypeList.clear(); - itTypeList.add(Constants.ITEM_TYPE_ISP); - List isps = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(),itTypeList,null); - model.addAttribute("isps", isps); - //初始化一个默认的地域ip给界面 - AreaIpCfg areaIpCfg=new AreaIpCfg(); - areaIpCfg.initDefaultValue(); - model.addAttribute("_areaCfg", areaIpCfg); + initFormCondition(model); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { // TODO Auto-generated catch block logger.error("打开新增IP窗口失败",e); @@ -186,76 +152,33 @@ public class IpCfgController extends BaseController{ */ @RequiresPermissions("sys:cfg:edit") @RequestMapping(value = {"updateForm"}) - public String updateIpCfgForm(String tableName,int action,long cfgId,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) { + public String updateIpCfgForm(String tableName,int action,long cfgId,String cfgName,Integer serviceId,Model model) { model.addAttribute("cfgName", cfgName); model.addAttribute("serviceId", serviceId); model.addAttribute("action", action); model.addAttribute("audit",Constants.CFG_PAGE); - if(StringUtils.isBlank(tableName)){ - ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); - if(serviceConfigInfo!=null){ - tableName=serviceConfigInfo.getTableName(); - } - } - if(!StringUtils.isBlank(tableName)){ - logger.info("table name is "+tableName); - BaseIpCfg searchBean=new BaseIpCfg(); - searchBean.setCfgId(cfgId); - searchBean.setTableName(tableName); - BaseIpCfg ipCfg=ipCfgService.getIpCfgById(searchBean); - model.addAttribute("_cfg", ipCfg); - model.addAttribute("tableName", tableName); - int compileId=ipCfg.getCompileId(); - //查询配置对应的地域ip - List areaCfgs=ipCfgService.getAreaCfgByCompileId(compileId); - model.addAttribute("areaCfgs", areaCfgs); - StringBuffer areaCfgIds=new StringBuffer(); - for(AreaIpCfg areaCfg:areaCfgs){ - areaCfgIds.append(areaCfg.getCfgId()+","); - } - //update时判断是否有删除地域ip - model.addAttribute("areaCfgIds", areaCfgIds.toString()); - //初始化一个默认的地域ip给界面 - AreaIpCfg areaIpCfg=new AreaIpCfg(); - areaIpCfg.initDefaultValue(); - model.addAttribute("_areaCfg", areaIpCfg); - //从区域生效ID中获取区域与运营商 - String areaEffectiveIds=ipCfg.getAreaEffectiveIds(); - List areaIspList=new ArrayList(); - if(StringUtils.isNotBlank(areaEffectiveIds)){ - String[] areaIsps=areaEffectiveIds.split(","); - for(String areaIsp:areaIsps){ - AreaBean area=new AreaBean(); - if(areaIsp.contains(":")){ - area.setArea(areaIsp.split(":")[0]); - area.setIsp(areaIsp.split(":")[1]); - }else{ - area.setArea(areaIsp); - } - areaIspList.add(area); + try{ + if(StringUtils.isBlank(tableName)){ + ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); + if(serviceConfigInfo!=null){ + tableName=serviceConfigInfo.getTableName(); } } - model.addAttribute("_areaIsps", areaIspList); - List requestInfos=requestInfoService.getAllRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findAllFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findAllXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findAllLableDict(); - model.addAttribute("lables", lables); - List itTypeList=new ArrayList(); - itTypeList.add(Constants.ITEM_TYPE_AREA); - List areas = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(),itTypeList,null); - model.addAttribute("areas", areas); - itTypeList.clear(); - itTypeList.add(Constants.ITEM_TYPE_ISP); - List isps = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(),itTypeList,null); - model.addAttribute("isps", isps); - }else{ - logger.error("未获取到正确的表名"); + if(!StringUtils.isBlank(tableName)){ + logger.info("table name is "+tableName); + BaseIpCfg searchBean=new BaseIpCfg(); + searchBean.setCfgId(cfgId); + searchBean.setTableName(tableName); + BaseIpCfg ipCfg=ipCfgService.getIpCfgById(searchBean); + model.addAttribute("_cfg", ipCfg); + model.addAttribute("tableName", tableName); + initUpdateFormCondition(model,ipCfg); + }else{ + logger.error("未获取到正确的表名"); + } + }catch(Exception e){ + logger.error("发生异常", e); } - return "/cfg/ipCfgForm"; } @@ -278,136 +201,7 @@ public class IpCfgController extends BaseController{ model.addAttribute("tableName", ipCfg.getTableName()); logger.info("saveOrUpdateIpCfg loaded"); try{ - String tableName=ipCfg.getTableName(); - List areaCfg=ipCfg.getAreaCfg(); - List areaIsps=ipCfg.getAreaIsp(); - if(Constants.IS_AREA_EFFECTIVE_NO==ipCfg.getIsAreaEffective()){ - ipCfg.setAreaEffectiveIds(""); - ipCfg.setAreaType(null); - }else if(Constants.IS_AREA_EFFECTIVE_YES==ipCfg.getIsAreaEffective()){ - if(Constants.AREA_EFFECTIVE_TYPE_AREA_ISP==ipCfg.getAreaType()&&areaIsps!=null&&areaIsps.size()>0){ - StringBuffer areaEffectiveIds=new StringBuffer(); - for(int i=0;i0){ - ipCfg.setAreaEffectiveIds(""); - }else{ - logger.error("区域管控,但是地域+ISP以及地域IP全部为空!"); - addMessage(model,"save_failed"); - return "/cfg/resultPage"; - } - } - int serviceId=ipCfg.getServiceId(); - if(StringUtils.isBlank(tableName)){ - ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); - if(serviceConfigInfo!=null){ - tableName=serviceConfigInfo.getTableName(); - ipCfg.setTableName(tableName); - } - } - if(ipCfg.getCompileId()==null){ - int compileId=new ConvertTool().getCompileId().intValue(); - ipCfg.setCompileId(compileId); - } - Date date=new Date(); - ipCfg.setIsValid(Constants.VALID_NO); - ipCfg.setIsAudit(Constants.AUDIT_NOT_YET); - if(ipCfg.getCfgId()==null){ - ipCfg.setCreatorId(ipCfg.getCurrentUser().getId()); - ipCfg.setCreateTime(date); - if(Constants.IS_AREA_EFFECTIVE_YES==ipCfg.getIsAreaEffective()&&areaCfg!=null){ - for(AreaIpCfg area:areaCfg){ - area.setTableName(AreaIpCfg.getTablename()); - area.setServiceId(serviceId); - area.setCompileId(ipCfg.getCompileId()); - area.setAction(ipCfg.getAction()); - area.setIsValid(Constants.VALID_NO); - area.setIsAudit(Constants.AUDIT_NOT_YET); - area.setRequestId(ipCfg.getRequestId()); - area.setClassify(ipCfg.getClassify()); - area.setAttribute(ipCfg.getAttribute()); - area.setLable(ipCfg.getLable()); - area.setCreatorId(ipCfg.getCurrentUser().getId()); - area.setCreateTime(date); - } - } - ipCfgService.addIpCfg(ipCfg,areaCfg); - }else{ - ipCfg.setEditorId(ipCfg.getCurrentUser().getId()); - ipCfg.setEditTime(new Date()); - List updateAreaCfg=new ArrayList<>(); - List deleteAreaCfg=new ArrayList<>(); - List addAreaCfg=new ArrayList<>(); - String[] cfgIds=null; - if(!StringUtils.isBlank(areaCfgIds)){ - cfgIds=areaCfgIds.split(","); - } - if(Constants.IS_AREA_EFFECTIVE_YES==ipCfg.getIsAreaEffective()&&areaCfg!=null){ - for(AreaIpCfg area:areaCfg){ - area.setTableName(AreaIpCfg.getTablename()); - area.setServiceId(serviceId); - area.setCompileId(ipCfg.getCompileId()); - area.setAction(ipCfg.getAction()); - area.setIsValid(Constants.VALID_NO); - area.setIsAudit(Constants.AUDIT_NOT_YET); - area.setRequestId(ipCfg.getRequestId()); - area.setClassify(ipCfg.getClassify()); - area.setAttribute(ipCfg.getAttribute()); - area.setLable(ipCfg.getLable()); - if(area.getCfgId()==null){ - area.setCreatorId(ipCfg.getCurrentUser().getId()); - area.setCreateTime(date); - addAreaCfg.add(area); - }else if(cfgIds!=null){ - area.setEditorId(ipCfg.getCurrentUser().getId()); - area.setEditTime(date); - boolean contains=false; - for(String cfgId:cfgIds){ - if(!StringUtils.isBlank(cfgId)&&area.getCfgId().longValue()==Long.parseLong(cfgId)){ - contains=true; - break; - } - } - if(contains){ - updateAreaCfg.add(area); - }else{ - deleteAreaCfg.add(area); - } - } - } - }else{ - if(cfgIds!=null){ - for(String cfgId:cfgIds){ - if(!StringUtils.isBlank(cfgId)){ - AreaIpCfg area=new AreaIpCfg(); - area.setTableName(AreaIpCfg.getTablename()); - area.setIsValid(Constants.VALID_DEL); - area.setCfgId(Long.parseLong(cfgId)); - area.setEditorId(ipCfg.getCurrentUser().getId()); - area.setEditTime(date); - deleteAreaCfg.add(area); - - } - } - } - } - ipCfgService.updateIpCfg(ipCfg,addAreaCfg,updateAreaCfg,deleteAreaCfg); - } - addMessage(model,"save_success"); + setSaveOrUpdateProps(model,ipCfg,areaCfgIds); }catch(Exception e){ logger.error("保存失败",e); addMessage(model,"save_failed"); diff --git a/src/main/java/com/nis/web/controller/configuration/MultipleCfgController.java b/src/main/java/com/nis/web/controller/configuration/MultipleCfgController.java index 99cd117e9..9d6b2f3db 100644 --- a/src/main/java/com/nis/web/controller/configuration/MultipleCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/MultipleCfgController.java @@ -721,6 +721,7 @@ public class MultipleCfgController extends BaseController{ model.addAttribute("action",cfg.getAction()); try{ List serviceConfigInfos=serviceConfigInfoService.findList(cfg.getServiceId()); + List deleteCfg=new ArrayList<>(); Integer compileId=0; if(operator.equals("save")){ compileId=new ConvertTool().getCompileId(); @@ -746,6 +747,15 @@ public class MultipleCfgController extends BaseController{ } } } + }else{//表单没有提交IP配置,但是根据编译ID却查到了IP配置,说明用户选择删除IP配置 + BaseIpCfg entity=new BaseIpCfg(); + entity.setTableName(info.getTableName()); + entity.setCompileId(compileId); + BaseIpCfg resultIp=ipCfgService.get(entity); + if(resultIp!=null){ + resultIp.setTableName(info.getTableName()); + deleteCfg.add(resultIp); + } } }else if(Constants.TABLE_TYPE_STRING==info.getTableType()){ if(cfg.getStringCfg()!=null){ @@ -810,7 +820,7 @@ public class MultipleCfgController extends BaseController{ if("save".equals(operator)){ multipleCfgService.addCfg(cfg); }else if("update".equals(operator)){ - multipleCfgService.updateCfg(cfg); + multipleCfgService.updateCfg(cfg,deleteCfg); } addMessage(model,"save_success"); }catch (Exception e) { diff --git a/src/main/java/com/nis/web/controller/configuration/NumCfgController.java b/src/main/java/com/nis/web/controller/configuration/NumCfgController.java index 637c42730..31066dad7 100644 --- a/src/main/java/com/nis/web/controller/configuration/NumCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/NumCfgController.java @@ -42,14 +42,7 @@ public class NumCfgController extends BaseController{ Page page = numCfgService.findPage(searchPage, cfg); model.addAttribute("page", page); model.addAttribute("action", cfg.getAction()); - List requestInfos=requestInfoService.getAllRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findAllFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findAllXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findAllLableDict(); - model.addAttribute("lables", lables); + initPageCondition(model); }else{ logger.error("未获取到正确的serviceId"); } @@ -68,8 +61,8 @@ public class NumCfgController extends BaseController{ model.addAttribute("audit", Constants.CFG_PAGE); logger.info("sercice id is "+serviceId); if(serviceId!=null){ - ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); - if(serviceConfigInfo!=null){ + ServiceConfigInfo info=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); + if(info!=null){ NumBoundaryCfg cfg=new NumBoundaryCfg(); cfg.initDefaultValue(); cfg.setAction(action); @@ -79,14 +72,7 @@ public class NumCfgController extends BaseController{ } cfg.setServiceId(serviceId); model.addAttribute("_cfg", cfg); - List requestInfos=requestInfoService.getValidRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findLableDict(); - model.addAttribute("lables", lables); + initFormCondition(model); } }else{ logger.error("未获取到正确的serviceId"); @@ -101,20 +87,13 @@ public class NumCfgController extends BaseController{ model.addAttribute("action", action); model.addAttribute("audit", Constants.CFG_PAGE); if(serviceId!=null){ - ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); - if(serviceConfigInfo!=null){ + ServiceConfigInfo info=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); + if(info!=null){ NumBoundaryCfg searchBean=new NumBoundaryCfg(); searchBean.setCfgId(cfgId); NumBoundaryCfg cfg=numCfgService.getNumCfgById(searchBean); model.addAttribute("_cfg", cfg); - List requestInfos=requestInfoService.getAllRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findAllFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findAllXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findAllLableDict(); - model.addAttribute("lables", lables); + initUpdateFormCondition(model,cfg); } }else{ @@ -134,34 +113,13 @@ public class NumCfgController extends BaseController{ * @since 1.0.0 */ @RequestMapping(value = {"saveOrUpdateCfg"}) - public String saveOrUpdateStringCfg(String cfgName,Model model, NumBoundaryCfg cfg) { + public String saveOrUpdateStringCfg(String cfgName,Model model, NumBoundaryCfg cfg,String areaCfgIds) { model.addAttribute("cfgName",cfgName); model.addAttribute("cfgType","num"); model.addAttribute("audit", Constants.CFG_PAGE); logger.info("saveOrUpdateStringCfg loaded"); try{ - int serviceId=cfg.getServiceId(); - ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); - if(serviceConfigInfo!=null){ - if(cfg.getCompileId()==null){ - int compileId=new ConvertTool().getCompileId(); - cfg.setCompileId(compileId); - } - cfg.setIsValid(Constants.VALID_NO); - cfg.setIsAudit(Constants.AUDIT_NOT_YET); - if(cfg.getCfgId()==null){ - cfg.setCreatorId(cfg.getCurrentUser().getId()); - cfg.setCreateTime(new Date()); - numCfgService.addNumCfg(cfg); - }else{ - cfg.setEditorId(cfg.getCurrentUser().getId()); - cfg.setEditTime(new Date()); - numCfgService.updateNumCfg(cfg); - } - model.addAttribute("serviceId",serviceId); - model.addAttribute("action",cfg.getAction()); - addMessage(model,"save_success"); - } + setSaveOrUpdateProps(model,cfg,areaCfgIds); }catch(Exception e){ logger.error("保存失败", e); addMessage(model,"save_failed"); diff --git a/src/main/java/com/nis/web/controller/configuration/StringCfgController.java b/src/main/java/com/nis/web/controller/configuration/StringCfgController.java index d48148c65..ffb6f1dbe 100644 --- a/src/main/java/com/nis/web/controller/configuration/StringCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/StringCfgController.java @@ -1,6 +1,5 @@ package com.nis.web.controller.configuration; import java.util.Date; -import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -13,10 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import com.nis.domain.Page; import com.nis.domain.ServiceConfigInfo; -import com.nis.domain.basics.ServiceDictInfo; import com.nis.domain.configuration.BaseStringCfg; -import com.nis.domain.configuration.RequestInfo; -import com.nis.main.ConvertTool; import com.nis.util.Constants; import com.nis.web.controller.BaseController; @@ -48,25 +44,16 @@ public class StringCfgController extends BaseController{ model.addAttribute("page", page); model.addAttribute("action", stringCfg.getAction()); model.addAttribute("tableName", tableName); - List requestInfos=requestInfoService.getAllRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findAllFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findAllXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findAllLableDict(); - model.addAttribute("lables", lables); + initPageCondition(model); } }else{ logger.error("未获取到正确的serviceId"); } } } - return "/cfg/stringCfgList"; } - @RequestMapping(value = {"form"}) public String stringCfgForm(int action,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) { model.addAttribute("cfgName", cfgName); @@ -97,14 +84,7 @@ public class StringCfgController extends BaseController{ stringcfg.setServiceId(serviceId); model.addAttribute("_cfg", stringcfg); model.addAttribute("tableName", tableName); - List requestInfos=requestInfoService.getValidRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findLableDict(); - model.addAttribute("lables", lables); + initFormCondition(model); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException e) { // TODO Auto-generated catch block logger.error("打开新增IP窗口失败",e); @@ -119,7 +99,7 @@ public class StringCfgController extends BaseController{ return "/cfg/stringCfgForm"; } @RequestMapping(value = {"updateForm"}) - public String updateStringCfgForm(String tableName,int action,long cfgId,String cfgName,Integer serviceId,Model model,HttpServletRequest request,HttpServletResponse response) { + public String updateStringCfgForm(String tableName,int action,long cfgId,String cfgName,Integer serviceId,Model model) { model.addAttribute("cfgName", cfgName); model.addAttribute("serviceId", serviceId); model.addAttribute("action", action); @@ -138,14 +118,9 @@ public class StringCfgController extends BaseController{ searchBean.setTableName(tableName); BaseStringCfg stringCfg=stringCfgService.getStringCfgById(searchBean); model.addAttribute("_cfg", stringCfg); - List requestInfos=requestInfoService.getAllRequestInfo(); - model.addAttribute("requestInfos", requestInfos); - List fls=serviceDictInfoService.findAllFlDict(); - model.addAttribute("fls", fls); - List xzs=serviceDictInfoService.findAllXzDict(); - model.addAttribute("xzs", xzs); - List lables=serviceDictInfoService.findAllLableDict(); - model.addAttribute("lables", lables); + model.addAttribute("tableName", tableName); + initUpdateFormCondition(model,stringCfg); + }catch (Exception e) { // TODO: handle exception logger.error("发生异常",e); @@ -163,7 +138,7 @@ public class StringCfgController extends BaseController{ * @since 1.0.0 */ @RequestMapping(value = {"saveOrUpdateCfg"}) - public String saveOrUpdateStringCfg(String cfgName,Model model, BaseStringCfg stringCfg) { + public String saveOrUpdateStringCfg(String cfgName,Model model, BaseStringCfg stringCfg,String areaCfgIds) { model.addAttribute("cfgName",cfgName); model.addAttribute("cfgType","string"); model.addAttribute("audit", Constants.CFG_PAGE); @@ -171,31 +146,7 @@ public class StringCfgController extends BaseController{ model.addAttribute("action",stringCfg.getAction()); logger.info("saveOrUpdateStringCfg loaded"); try{ - String tableName=stringCfg.getTableName(); - int serviceId=stringCfg.getServiceId(); - if(StringUtils.isBlank(stringCfg.getTableName())){ - ServiceConfigInfo serviceConfigInfo=serviceConfigInfoService.findSysServiceConfigInfo(serviceId); - if(serviceConfigInfo!=null){ - tableName=serviceConfigInfo.getTableName(); - stringCfg.setTableName(tableName); - } - } - if(stringCfg.getCompileId()==null){ - int compileId=new ConvertTool().getCompileId(); - stringCfg.setCompileId(compileId); - } - stringCfg.setIsValid(Constants.VALID_NO); - stringCfg.setIsAudit(Constants.AUDIT_NOT_YET); - if(stringCfg.getCfgId()==null){ - stringCfg.setCreatorId(stringCfg.getCurrentUser().getId()); - stringCfg.setCreateTime(new Date()); - stringCfgService.addStringCfg(stringCfg); - }else{ - stringCfg.setEditorId(stringCfg.getCurrentUser().getId()); - stringCfg.setEditTime(new Date()); - stringCfgService.updateStringCfg(stringCfg); - } - addMessage(model,"save_success"); + setSaveOrUpdateProps(model,stringCfg,areaCfgIds); }catch (Exception e) { // TODO: handle exception logger.error("保存失败!",e); diff --git a/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.xml index f4ce1570b..9c0564cbe 100644 --- a/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/ComplexStringCfgDao.xml @@ -390,7 +390,7 @@ is_hexbin=#{isHexbin,jdbcType=INTEGER}, - + area_effective_ids = #{areaEffectiveIds,jdbcType=VARCHAR}, @@ -417,6 +417,6 @@ WHERE CFG_ID = #{cfgId,jdbcType=BIGINT} - update ${tableName} set is_valid = #{isValid,jdbcType=INTEGER}, editor_id = #{editorId,jdbcType=INTEGER} , edit_time = #{editTime,jdbcType=TIMESTAMP} where compile_id = #{compileId,jdbcType=INTEGER} + update ${tableName} set is_valid = -1, editor_id = #{editorId,jdbcType=INTEGER} , edit_time = #{editTime,jdbcType=TIMESTAMP} where compile_id = #{compileId,jdbcType=INTEGER} \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/IpCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/IpCfgDao.xml index 36ca8bba7..4bff5a945 100644 --- a/src/main/java/com/nis/web/dao/configuration/IpCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/IpCfgDao.xml @@ -554,9 +554,9 @@ WHERE CFG_ID = #{cfgId,jdbcType=BIGINT} - update ${tableName} set is_valid = #{isValid,jdbcType=INTEGER}, editor_id = #{editorId,jdbcType=INTEGER} , edit_time = #{editTime,jdbcType=TIMESTAMP} where cfg_id = #{cfgId,jdbcType=BIGINT} + update ${tableName} set is_valid = -1, editor_id = #{editorId,jdbcType=INTEGER} , edit_time = #{editTime,jdbcType=TIMESTAMP} where cfg_id = #{cfgId,jdbcType=BIGINT} - update ${tableName} set is_valid = #{isValid,jdbcType=INTEGER}, editor_id = #{editorId,jdbcType=INTEGER} , edit_time = #{editTime,jdbcType=TIMESTAMP} where compile_id = #{compileId,jdbcType=INTEGER} + update ${tableName} set is_valid = -1, editor_id = #{editorId,jdbcType=INTEGER} , edit_time = #{editTime,jdbcType=TIMESTAMP} where compile_id = #{compileId,jdbcType=INTEGER} \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/NumCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/NumCfgDao.xml index 08d4d42f8..1babb7755 100644 --- a/src/main/java/com/nis/web/dao/configuration/NumCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/NumCfgDao.xml @@ -398,7 +398,7 @@ is_hexbin=#{isHexbin,jdbcType=INTEGER}, - + area_effective_ids = #{areaEffectiveIds,jdbcType=VARCHAR}, @@ -425,6 +425,6 @@ WHERE CFG_ID = #{cfgId,jdbcType=BIGINT} - update NUM_BOUNDARY_CFG set is_valid = #{isValid,jdbcType=INTEGER}, editor_id = #{editorId,jdbcType=INTEGER} , edit_time = #{editTime,jdbcType=TIMESTAMP} where compile_id = #{compileId,jdbcType=INTEGER} + update NUM_BOUNDARY_CFG set is_valid = -1, editor_id = #{editorId,jdbcType=INTEGER} , edit_time = #{editTime,jdbcType=TIMESTAMP} where compile_id = #{compileId,jdbcType=INTEGER} \ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/StringCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/StringCfgDao.xml index c2d3017ba..635d6a0ae 100644 --- a/src/main/java/com/nis/web/dao/configuration/StringCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/StringCfgDao.xml @@ -403,7 +403,7 @@ is_hexbin=#{isHexbin,jdbcType=INTEGER}, - + area_effective_ids = #{areaEffectiveIds,jdbcType=VARCHAR}, @@ -430,6 +430,6 @@ WHERE CFG_ID = #{cfgId,jdbcType=BIGINT} - update ${tableName} set is_valid = #{isValid,jdbcType=INTEGER}, editor_id = #{editorId,jdbcType=INTEGER} , edit_time = #{editTime,jdbcType=TIMESTAMP} where compile_id = #{compileId,jdbcType=INTEGER} + update ${tableName} set is_valid = -1, editor_id = #{editorId,jdbcType=INTEGER} , edit_time = #{editTime,jdbcType=TIMESTAMP} where compile_id = #{compileId,jdbcType=INTEGER} \ No newline at end of file diff --git a/src/main/java/com/nis/web/service/configuration/ComplexStringCfgService.java b/src/main/java/com/nis/web/service/configuration/ComplexStringCfgService.java index 4c0e2c6fb..8f8fc7fa1 100644 --- a/src/main/java/com/nis/web/service/configuration/ComplexStringCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/ComplexStringCfgService.java @@ -1,9 +1,12 @@ package com.nis.web.service.configuration; +import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.nis.domain.configuration.AreaIpCfg; import com.nis.domain.configuration.ComplexkeywordCfg; import com.nis.util.Constants; import com.nis.web.dao.configuration.ComplexStringCfgDao; @@ -29,7 +32,10 @@ public class ComplexStringCfgService extends CrudService areaIpCfgs){ + if(areaIpCfgs!=null&&areaIpCfgs.size()>0){ + this.saveIpBatch(areaIpCfgs); + } return complexStringCfgDao.insert(cfg); } /** @@ -43,8 +49,17 @@ public class ComplexStringCfgService extends CrudService addAreaCfg,List updateAreaCfg,List deleteAreaCfgs){ + if(addAreaCfg!=null&&addAreaCfg.size()>0){ + this.saveIpBatch(addAreaCfg); + } + if(updateAreaCfg!=null&&updateAreaCfg.size()>0){ + this.updateIpBatch(updateAreaCfg); + } + if(deleteAreaCfgs!=null&&deleteAreaCfgs.size()>0){ + this.deleteIpBatch(deleteAreaCfgs); + } + return complexStringCfgDao.updateByPrimaryKeySelective(cfg); } /** * diff --git a/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java b/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java index 1a1093f00..e46f0a39d 100644 --- a/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java @@ -33,6 +33,7 @@ public class DnsIpCfgService extends CrudService{ Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); //组织要发送的json + List toMaatData = new ArrayList(); ToMaatDnsIpBean toMaatBean = new ToMaatDnsIpBean(); List ipCfgList = new ArrayList(); MaatDnsIpCfg ipCfg = new MaatDnsIpCfg(); @@ -47,7 +48,9 @@ public class DnsIpCfgService extends CrudService{ toMaatBean.setIsValid(1); toMaatBean.setRequestId(dnsIpCfg.getRequest().getId()); - String sendJson = gson.toJson(toMaatBean); + toMaatData.add(toMaatBean); + + String sendJson = gson.toJson(toMaatData); logger.info("准备下发配置:" + sendJson); //下发配置、接收结果 diff --git a/src/main/java/com/nis/web/service/configuration/MultipleCfgService.java b/src/main/java/com/nis/web/service/configuration/MultipleCfgService.java index 5dab64ead..f40fdb238 100644 --- a/src/main/java/com/nis/web/service/configuration/MultipleCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/MultipleCfgService.java @@ -77,7 +77,7 @@ public class MultipleCfgService extends CrudService deleteCfg){ if(cfg==null) return 0; if(cfg.getIpCfg()!=null){ for(BaseIpCfg _cfg:cfg.getIpCfg().values()){ @@ -104,6 +104,19 @@ public class MultipleCfgService extends CrudService0){ + for(BaseCfg _cfg:deleteCfg){ + if(_cfg instanceof BaseIpCfg){ + ipCfgDao.deleteByCompileId((BaseIpCfg)_cfg); + }else if(_cfg instanceof BaseStringCfg){ + stringCfgDao.deleteByCompileId((BaseStringCfg)_cfg); + }else if(_cfg instanceof NumBoundaryCfg){ + numCfgDao.deleteByCompileId((NumBoundaryCfg)_cfg); + }else if(_cfg instanceof ComplexkeywordCfg){ + complexStringCfgDao.deleteByCompileId((ComplexkeywordCfg)_cfg); + } + } + } return 1; } @Transactional(readOnly=false,rollbackFor=RuntimeException.class) diff --git a/src/main/java/com/nis/web/service/configuration/NumCfgService.java b/src/main/java/com/nis/web/service/configuration/NumCfgService.java index 8afd73a03..ea8110492 100644 --- a/src/main/java/com/nis/web/service/configuration/NumCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/NumCfgService.java @@ -1,9 +1,12 @@ package com.nis.web.service.configuration; +import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.nis.domain.configuration.AreaIpCfg; import com.nis.domain.configuration.NumBoundaryCfg; import com.nis.util.Constants; import com.nis.web.dao.configuration.NumCfgDao; @@ -29,7 +32,10 @@ public class NumCfgService extends CrudService { * @since 1.0.0 */ @Transactional(readOnly=false,rollbackFor=RuntimeException.class) - public int addNumCfg(NumBoundaryCfg cfg){ + public int addNumCfg(NumBoundaryCfg cfg,List areaIpCfgs){ + if(areaIpCfgs!=null&&areaIpCfgs.size()>0){ + this.saveIpBatch(areaIpCfgs); + } return numCfgDao.insert(cfg); } /** @@ -43,7 +49,16 @@ public class NumCfgService extends CrudService { * @since 1.0.0 */ @Transactional(readOnly=false,rollbackFor=RuntimeException.class) - public int updateNumCfg(NumBoundaryCfg cfg){ + public int updateNumCfg(NumBoundaryCfg cfg,List addAreaCfg,List updateAreaCfg,List deleteAreaCfgs){ + if(addAreaCfg!=null&&addAreaCfg.size()>0){ + this.saveIpBatch(addAreaCfg); + } + if(updateAreaCfg!=null&&updateAreaCfg.size()>0){ + this.updateIpBatch(updateAreaCfg); + } + if(deleteAreaCfgs!=null&&deleteAreaCfgs.size()>0){ + this.deleteIpBatch(deleteAreaCfgs); + } return numCfgDao.updateByPrimaryKeySelective(cfg); } /** diff --git a/src/main/java/com/nis/web/service/configuration/StringCfgService.java b/src/main/java/com/nis/web/service/configuration/StringCfgService.java index 2ad024846..4f478ba6e 100644 --- a/src/main/java/com/nis/web/service/configuration/StringCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/StringCfgService.java @@ -1,9 +1,12 @@ package com.nis.web.service.configuration; +import java.util.List; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.nis.domain.configuration.AreaIpCfg; import com.nis.domain.configuration.BaseStringCfg; import com.nis.util.Constants; import com.nis.web.dao.configuration.StringCfgDao; @@ -29,7 +32,10 @@ public class StringCfgService extends CrudService { * @since 1.0.0 */ @Transactional(readOnly=false,rollbackFor=RuntimeException.class) - public int addStringCfg(BaseStringCfg baseStringCfg){ + public int addStringCfg(BaseStringCfg baseStringCfg,List areaIpCfgs){ + if(areaIpCfgs!=null&&areaIpCfgs.size()>0){ + this.saveIpBatch(areaIpCfgs); + } return stringCfgDao.insert(baseStringCfg); } /** @@ -43,7 +49,16 @@ public class StringCfgService extends CrudService { * @since 1.0.0 */ @Transactional(readOnly=false,rollbackFor=RuntimeException.class) - public int updateStringCfg(BaseStringCfg baseStringCfg){ + public int updateStringCfg(BaseStringCfg baseStringCfg,List addAreaCfg,List updateAreaCfg,List deleteAreaCfgs){ + if(addAreaCfg!=null&&addAreaCfg.size()>0){ + this.saveIpBatch(addAreaCfg); + } + if(updateAreaCfg!=null&&updateAreaCfg.size()>0){ + this.updateIpBatch(updateAreaCfg); + } + if(deleteAreaCfgs!=null&&deleteAreaCfgs.size()>0){ + this.deleteIpBatch(deleteAreaCfgs); + } return stringCfgDao.updateByPrimaryKeySelective(baseStringCfg); } /** diff --git a/src/main/java/com/nis/web/test/DnsIpTest.java b/src/main/java/com/nis/web/test/DnsIpTest.java index 4df96eef9..9857daa9b 100644 --- a/src/main/java/com/nis/web/test/DnsIpTest.java +++ b/src/main/java/com/nis/web/test/DnsIpTest.java @@ -1,10 +1,12 @@ package com.nis.web.test; +import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; import com.nis.domain.configuration.DnsIpCfg; import com.nis.domain.maat.DnsIpRecvData; import com.nis.domain.maat.FromMaatBean; @@ -19,8 +21,9 @@ public class DnsIpTest { */ public static String examine(String recv) { Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create(); - ToMaatDnsIpBean fromJson = gson.fromJson(recv, ToMaatDnsIpBean.class); - List serviceCfg = fromJson.getServiceCfg(); + Type type = new TypeToken>(){}.getType(); + List fromJson = gson.fromJson(recv, type); + List serviceCfg = fromJson.get(0).getServiceCfg(); FromMaatBean fBean = new FromMaatBean(); List data = new ArrayList(); diff --git a/src/main/webapp/WEB-INF/include/form/areaInfo.jsp b/src/main/webapp/WEB-INF/include/form/areaInfo.jsp index 7a8538310..762ddcae0 100644 --- a/src/main/webapp/WEB-INF/include/form/areaInfo.jsp +++ b/src/main/webapp/WEB-INF/include/form/areaInfo.jsp @@ -3,8 +3,8 @@