From 4147e52b739a360e665490af552e29cf2d041c50 Mon Sep 17 00:00:00 2001 From: lihaochen Date: Fri, 21 Dec 2018 15:13:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E9=85=8D=E7=BD=AE=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E9=A6=96=E8=A1=8C=E5=A2=9E=E5=8A=A0=E6=A0=87=E9=A2=98?= =?UTF-8?q?=E5=92=8C=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configuration/AppCfgController.java | 2210 +++++++++-------- .../AppFeatureCfgController.java | 440 ++-- .../BasicProtocolController.java | 365 +-- .../EncryptedTunnelBehaviorController.java | 437 ++-- .../maintenance/DnsIpCfgController.java | 294 ++- .../maintenance/DnsResStrategyController.java | 283 ++- .../IpMultiplexPoolCfgController.java | 531 ++-- .../manipulation/DdosCfgController.java | 260 +- .../manipulation/IpMultiplexController.java | 661 ++--- .../ntc/AsnPolicyCfgController.java | 124 +- .../ntc/AvContentController.java | 1614 ++++++------ .../configuration/ntc/AvController.java | 921 +++---- .../configuration/ntc/BgpCfgController.java | 347 +-- .../ntc/FileTransferCfgController.java | 1118 +++++---- .../configuration/ntc/IpController.java | 24 +- .../configuration/ntc/MailCfgController.java | 420 ++-- .../configuration/ntc/WebsiteController.java | 1349 +++++----- .../ntc/WhiteListController.java | 607 +++-- .../proxy/HttpRedirectPolicyController.java | 588 ++--- .../proxy/InterceptController.java | 509 ++-- .../proxy/PxyObjKeyringController.java | 1443 +++++------ .../views/cfg/app/appDomainCfgList.jsp | 14 +- .../WEB-INF/views/cfg/app/appHttpCfgList.jsp | 14 +- .../WEB-INF/views/cfg/app/appIpCfgList.jsp | 14 +- .../views/cfg/app/appMultiFeatureCfgList.jsp | 36 +- .../views/cfg/app/appPolicyCfgList.jsp | 14 +- .../WEB-INF/views/cfg/app/appSslCfgList.jsp | 14 +- .../views/cfg/app/appTopicDomainCfgList.jsp | 14 +- .../views/cfg/av/contUrl/contUrlList.jsp | 14 +- .../WEB-INF/views/cfg/av/voip/voipList.jsp | 48 +- .../WEB-INF/views/cfg/basicprotocol/list.jsp | 14 +- .../WEB-INF/views/cfg/ddosIpCfgList.jsp | 78 +- .../webapp/WEB-INF/views/cfg/dnsIpCfgList.jsp | 62 +- .../views/cfg/encryptedtunnelbehav/list.jsp | 14 +- .../views/cfg/fileTransfer/ftpList.jsp | 14 +- .../views/cfg/fileTransfer/p2pList.jsp | 14 +- .../views/cfg/intercept/interceptList.jsp | 32 +- .../views/cfg/intercept/strateagy/list.jsp | 14 +- .../intercept/strateagy/trustedCertList.jsp | 14 +- .../WEB-INF/views/cfg/ipaddr/ipList.jsp | 14 +- .../WEB-INF/views/cfg/mail/mailList.jsp | 14 +- .../cfg/maintenance/dnsResStrategy/list.jsp | 14 +- .../WEB-INF/views/cfg/other/bgpList.jsp | 14 +- .../WEB-INF/views/cfg/proxy/cache/list.jsp | 14 +- .../cfg/proxy/control/httpRedirectList.jsp | 64 +- .../views/cfg/proxy/spoofingIpPool/list.jsp | 40 +- .../webapp/WEB-INF/views/cfg/requestList.jsp | 42 +- .../WEB-INF/views/cfg/website/dnsList.jsp | 52 +- .../WEB-INF/views/cfg/website/httpList.jsp | 50 +- .../WEB-INF/views/cfg/website/sslList.jsp | 50 +- .../views/cfg/whitelist/domainList.jsp | 52 +- .../WEB-INF/views/cfg/whitelist/ipList.jsp | 50 +- 52 files changed, 8333 insertions(+), 7120 deletions(-) diff --git a/src/main/java/com/nis/web/controller/configuration/AppCfgController.java b/src/main/java/com/nis/web/controller/configuration/AppCfgController.java index b421742ac..00c2b9c13 100644 --- a/src/main/java/com/nis/web/controller/configuration/AppCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/AppCfgController.java @@ -58,6 +58,7 @@ import com.nis.web.security.UserUtils; /** * 特定协议相关配置控制类 + * * @author zhangwei * */ @@ -66,61 +67,69 @@ import com.nis.web.security.UserUtils; public class AppCfgController extends BaseController { /** * app策略列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"policyCfgList"}) - public String policyCfgList(Model model,@ModelAttribute("cfg")AppPolicyCfg cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "policyCfgList" }) + public String policyCfgList(Model model, @ModelAttribute("cfg") AppPolicyCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appCfgService.findAppPolicyList(searchPage, cfg); -// for(AppPolicyCfg entity:page.getList()){ -// SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); -// if(app!=null) { -// entity.setAppName(app.getSpecServiceName()); -// } -// } - //查找社交应用的所有有效二级特定服务 -// SpecificServiceCfg second=new SpecificServiceCfg(); -// second.setCfgType(1); -// second.setIsValid(Constants.VALID_YES); -// second.setIsLeaf(1); -// List secondList=specificServiceCfgService.findAllSpecificServiceCfg(second, null); - - //遍历,找到匹配项后将行为设置进去 -// for(AppPolicyCfg entity:page.getList()){ -// if(entity.getBehavCode()==null) continue; -// for(SpecificServiceCfg secondCfg:secondList) { -// if(secondCfg.getSpecServiceCode()==null) continue; -// if(secondCfg.getSpecServiceCode().intValue()==entity.getBehavCode().intValue()) { -// entity.setBehavName(secondCfg.getSpecServiceName()); -// break; -// } -// } -// } + // for(AppPolicyCfg entity:page.getList()){ + // SpecificServiceCfg app = + // specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); + // if(app!=null) { + // entity.setAppName(app.getSpecServiceName()); + // } + // } + // 查找社交应用的所有有效二级特定服务 + // SpecificServiceCfg second=new SpecificServiceCfg(); + // second.setCfgType(1); + // second.setIsValid(Constants.VALID_YES); + // second.setIsLeaf(1); + // List + // secondList=specificServiceCfgService.findAllSpecificServiceCfg(second, + // null); + + // 遍历,找到匹配项后将行为设置进去 + // for(AppPolicyCfg entity:page.getList()){ + // if(entity.getBehavCode()==null) continue; + // for(SpecificServiceCfg secondCfg:secondList) { + // if(secondCfg.getSpecServiceCode()==null) continue; + // if(secondCfg.getSpecServiceCode().intValue()==entity.getBehavCode().intValue()) + // { + // entity.setBehavName(secondCfg.getSpecServiceName()); + // break; + // } + // } + // } model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/app/appPolicyCfgList"; } + /** * ajax设置Name + * * @param model * @param ids * @return */ - @RequestMapping(value="ajaxAppName",method=RequestMethod.POST) + @RequestMapping(value = "ajaxAppName", method = RequestMethod.POST) @ResponseBody - public List> ajaxAppName(Model model,String ids){ - List> dataList=new ArrayList<>(); - List serviceList=specificServiceCfgService.getBySpecServiceCodes(ids); - Map appMap=new HashMap<>(); - Map behavMap=new HashMap<>(); - for(SpecificServiceCfg cfg:serviceList) { - if(cfg.getIsLeaf().intValue()==0) { + public List> ajaxAppName(Model model, String ids) { + List> dataList = new ArrayList<>(); + List serviceList = specificServiceCfgService.getBySpecServiceCodes(ids); + Map appMap = new HashMap<>(); + Map behavMap = new HashMap<>(); + for (SpecificServiceCfg cfg : serviceList) { + if (cfg.getIsLeaf().intValue() == 0) { appMap.put(cfg.getSpecServiceCode().toString(), cfg.getSpecServiceName()); - }else { + } else { behavMap.put(cfg.getSpecServiceCode().toString(), cfg.getSpecServiceName()); } } @@ -128,61 +137,67 @@ public class AppCfgController extends BaseController { dataList.add(behavMap); return dataList; } + /** * 查询APP策略IP子配置 + * * @param model * @param cfgId * @param index * @return */ - @RequestMapping(value = {"ajaxAppPolicyIpList"}) - public String ajaxSslSubList(Model model,Long cfgId,Integer index,Integer compileId) { - AppPolicyCfg cfg = appCfgService.getAppPolicyCfg(cfgId,compileId); + @RequestMapping(value = { "ajaxAppPolicyIpList" }) + public String ajaxSslSubList(Model model, Long cfgId, Integer index, Integer compileId) { + AppPolicyCfg cfg = appCfgService.getAppPolicyCfg(cfgId, compileId); List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getNtcSubscribeIdCfgList()!=null){ + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg ntc:cfg.getNtcSubscribeIdCfgList()){ - if(!ntc.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",ntc.getCfgType()}); + for (NtcSubscribeIdCfg ntc : cfg.getNtcSubscribeIdCfgList()) { + if (!ntc.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", ntc.getCfgType() }); cfgType = ntc.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/app/appPolicySubList"; } + /** * 策略配置表单 + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"policyCfgForm"}) - @RequiresPermissions(value={"app:policy:config"}) - public String policyCfgForm(Model model,String ids,AppPolicyCfg entity) { - if(StringUtils.isNotBlank(ids)){ - entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids),null); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + @RequestMapping(value = { "policyCfgForm" }) + @RequiresPermissions(value = { "app:policy:config" }) + public String policyCfgForm(Model model, String ids, AppPolicyCfg entity) { + if (StringUtils.isNotBlank(ids)) { + entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids), null); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/app/appPolicyCfgForm"; } + /** * 策略配置新增修改 + * * @param model * @param request * @param response @@ -190,31 +205,34 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"saveAppPolicyCfg"}) - @RequiresPermissions(value={"app:policy:config"}) - public String saveAppPolicyCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppPolicyCfg entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "saveAppPolicyCfg" }) + @RequiresPermissions(value = { "app:policy:config" }) + public String saveAppPolicyCfg(Model model, HttpServletRequest request, HttpServletResponse response, + AppPolicyCfg entity, RedirectAttributes redirectAttributes) { try { - SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); - if(specificService!=null){ + SpecificServiceCfg specificService = specificServiceCfgService + .getBySpecServiceId(entity.getSpecServiceId()); + if (specificService != null) { entity.setAppCode(specificService.getSpecServiceCode()); } appCfgService.saveOrUpdateAppPolicyCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { - logger.error("saveAppPolicyCfg failed",e); + logger.error("saveAppPolicyCfg failed", e); e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/app/policyCfgList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/app/policyCfgList?functionId=" + entity.getFunctionId(); } + /** * 策略配置审核 + * * @param isAudit * @param isValid * @param ids @@ -222,21 +240,16 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"auditAppPolicyCfg"}) - @RequiresPermissions(value={"app:policy:confirm"}) - public String auditAppPolicyCfg(Model model,@ModelAttribute("cfg")AppPolicyCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + @RequestMapping(value = { "auditAppPolicyCfg" }) + @RequiresPermissions(value = { "app:policy:confirm" }) + public String auditAppPolicyCfg(Model model, @ModelAttribute("cfg") AppPolicyCfg cfg, Integer isValid, + Integer isAudit, String ids, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletResponse response, HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { AppPolicyCfg entity = new AppPolicyCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = appCfgService.getAppPolicyCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = appCfgService.getAppPolicyCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); @@ -244,96 +257,104 @@ public class AppCfgController extends BaseController { entity.setFunctionId(functionId); entity.setConfigType(Constants.SPECIFIC_SERVICE_CFG_TYPE_APP); try { - appCfgService.auditAppPolicyCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + appCfgService.auditAppPolicyCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("app策略配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("app策略配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return policyCfgList(model, cfg, request, response); } - - return "redirect:" + adminPath +"/app/policyCfgList?functionId="+functionId; + + return "redirect:" + adminPath + "/app/policyCfgList?functionId=" + functionId; } + /** * 策略配置删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateAppPolicyCfgValid"}) - @RequiresPermissions(value={"app:policy:config"}) - public String updateAppPolicyCfgValid(Integer isValid,String ids,Integer functionId) { - appCfgService.updateAppPolicyCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/app/policyCfgList?functionId="+functionId; + @RequestMapping(value = { "updateAppPolicyCfgValid" }) + @RequiresPermissions(value = { "app:policy:config" }) + public String updateAppPolicyCfgValid(Integer isValid, String ids, Integer functionId) { + appCfgService.updateAppPolicyCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/app/policyCfgList?functionId=" + functionId; } - + /** * app协议IP配置列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"ipCfgList"}) - public String ipCfgList(Model model,@ModelAttribute("cfg")AppIpCfg cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "ipCfgList" }) + public String ipCfgList(Model model, @ModelAttribute("cfg") AppIpCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appCfgService.findAppIpList(searchPage, cfg); - for(AppIpCfg entity:page.getList()){ + for (AppIpCfg entity : page.getList()) { SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); entity.setAppName(app.getSpecServiceName()); } model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/app/appIpCfgList"; } + /** * 协议IP配置表单 + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"ipCfgForm"}) - @RequiresPermissions(value={"app:ip:config"}) - public String ipCfgForm(Model model,String ids,AppIpCfg entity) { - if(StringUtils.isNotBlank(ids)){ + @RequestMapping(value = { "ipCfgForm" }) + @RequiresPermissions(value = { "app:ip:config" }) + public String ipCfgForm(Model model, String ids, AppIpCfg entity) { + if (StringUtils.isNotBlank(ids)) { entity = appCfgService.getAppIpCfg(Long.parseLong(ids)); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/app/appIpCfgForm"; } + /** * 协议IP配置新增修改 + * * @param model * @param request * @param response @@ -341,31 +362,34 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"saveAppIpCfg"}) - @RequiresPermissions(value={"app:ip:config"}) - public String saveAppIpCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppIpCfg entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "saveAppIpCfg" }) + @RequiresPermissions(value = { "app:ip:config" }) + public String saveAppIpCfg(Model model, HttpServletRequest request, HttpServletResponse response, AppIpCfg entity, + RedirectAttributes redirectAttributes) { try { - SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); - if(specificService!=null){ + SpecificServiceCfg specificService = specificServiceCfgService + .getBySpecServiceId(entity.getSpecServiceId()); + if (specificService != null) { entity.setAppCode(specificService.getSpecServiceCode()); } appCfgService.saveOrUpdateAppIpCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("saveAppIpCfg failed",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + logger.error("saveAppIpCfg failed", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/app/ipCfgList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/app/ipCfgList?functionId=" + entity.getFunctionId(); } + /** * 协议IP配置审核 + * * @param isAudit * @param isValid * @param ids @@ -373,22 +397,17 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"auditAppIpCfg"}) - @RequiresPermissions(value={"app:ip:confirm"}) - public String auditAppIpCfg(Model model,@ModelAttribute("cfg")AppIpCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)) { + @RequestMapping(value = { "auditAppIpCfg" }) + @RequiresPermissions(value = { "app:ip:confirm" }) + public String auditAppIpCfg(Model model, @ModelAttribute("cfg") AppIpCfg cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { AppIpCfg entity = new AppIpCfg(); String[] idArray = ids.split(","); - //同一编译IP的分组 - Map> dataMap=new HashMap<>(); - for(String id :idArray){ + // 同一编译IP的分组 + Map> dataMap = new HashMap<>(); + for (String id : idArray) { entity = appCfgService.getAppIpCfg(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); @@ -396,106 +415,116 @@ public class AppCfgController extends BaseController { entity.setAuditTime(new Date()); entity.setFunctionId(functionId); entity.setTableName(AppIpCfg.getTablename()); - if(dataMap.containsKey(entity.getCompileId())) { + if (dataMap.containsKey(entity.getCompileId())) { dataMap.get(entity.getCompileId()).add(entity); - }else { - List ipList=new ArrayList<>(); + } else { + List ipList = new ArrayList<>(); ipList.add(entity); dataMap.put(entity.getCompileId(), ipList); } } - for(List entitys:dataMap.values()) { + for (List entitys : dataMap.values()) { try { - appCfgService.auditAppIpCfg(entitys,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + appCfgService.auditAppIpCfg(entitys, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("app协议IP配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("app协议IP配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return ipCfgList(model, cfg, request, response); } - - return "redirect:" + adminPath +"/app/ipCfgList?functionId="+functionId; + + return "redirect:" + adminPath + "/app/ipCfgList?functionId=" + functionId; } + /** * IP配置删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateAppIpCfgValid"}) - @RequiresPermissions(value={"app:ip:config"}) - public String updateAppIpCfgValid(Integer isValid,String ids,Integer functionId) { - appCfgService.updateAppIpCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/app/ipCfgList?functionId="+functionId; + @RequestMapping(value = { "updateAppIpCfgValid" }) + @RequiresPermissions(value = { "app:ip:config" }) + public String updateAppIpCfgValid(Integer isValid, String ids, Integer functionId) { + appCfgService.updateAppIpCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/app/ipCfgList?functionId=" + functionId; } + /** * app协议http配置列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"httpCfgList"}) - public String httpCfgList(Model model,@ModelAttribute("cfg")AppHttpCfg cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "httpCfgList" }) + public String httpCfgList(Model model, @ModelAttribute("cfg") AppHttpCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appCfgService.findAppHttpList(searchPage, cfg); - for(AppHttpCfg entity:page.getList()){ + for (AppHttpCfg entity : page.getList()) { SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); entity.setAppName(app.getSpecServiceName()); -// entity.setCfgKeywords(entity.getCfgKeywords().replace(Constants.KEYWORD_EXPR, "&")); + // entity.setCfgKeywords(entity.getCfgKeywords().replace(Constants.KEYWORD_EXPR, + // "&")); } model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/app/appHttpCfgList"; } + /** * 协议http配置表单 + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"httpCfgForm"}) - @RequiresPermissions(value={"app:http:config"}) - public String httpCfgForm(Model model,String ids,AppHttpCfg entity) { - if(StringUtils.isNotBlank(ids)){ + @RequestMapping(value = { "httpCfgForm" }) + @RequiresPermissions(value = { "app:http:config" }) + public String httpCfgForm(Model model, String ids, AppHttpCfg entity) { + if (StringUtils.isNotBlank(ids)) { entity = appCfgService.getAppHttpCfg(Long.parseLong(ids)); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/app/appHttpCfgForm"; } + /** * http配置新增修改 + * * @param model * @param request * @param response @@ -503,31 +532,34 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"saveAppHttpCfg"}) - @RequiresPermissions(value={"app:http:config"}) - public String saveAppHttpCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppHttpCfg entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "saveAppHttpCfg" }) + @RequiresPermissions(value = { "app:http:config" }) + public String saveAppHttpCfg(Model model, HttpServletRequest request, HttpServletResponse response, + AppHttpCfg entity, RedirectAttributes redirectAttributes) { try { - SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); - if(specificService!=null){ + SpecificServiceCfg specificService = specificServiceCfgService + .getBySpecServiceId(entity.getSpecServiceId()); + if (specificService != null) { entity.setAppCode(specificService.getSpecServiceCode()); } appCfgService.saveOrUpdateAppHttpCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { e.printStackTrace(); logger.error("saveAppHttpCfg failed", e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/app/httpCfgList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/app/httpCfgList?functionId=" + entity.getFunctionId(); } + /** * http配置审核 + * * @param isAudit * @param isValid * @param ids @@ -535,20 +567,15 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"auditAppHttpCfg"}) -// @RequiresPermissions(value={"app:http:confirm"}) - public String auditAppHttpCfg(Model model,@ModelAttribute("cfg")AppHttpCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + @RequestMapping(value = { "auditAppHttpCfg" }) + // @RequiresPermissions(value={"app:http:confirm"}) + public String auditAppHttpCfg(Model model, @ModelAttribute("cfg") AppHttpCfg cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { AppHttpCfg entity = new AppHttpCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ + for (String id : idArray) { entity = appCfgService.getAppHttpCfg(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); @@ -556,94 +583,103 @@ public class AppCfgController extends BaseController { entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - appCfgService.auditAppHttpCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + appCfgService.auditAppHttpCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("app http配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("app http配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); try { BeanUtils.copyProperties(searchPage, auditPage); - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return httpCfgList(model, cfg, request, response); } - return "redirect:" + adminPath +"/app/httpCfgList?functionId="+functionId; + return "redirect:" + adminPath + "/app/httpCfgList?functionId=" + functionId; } + /** * http配置删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateAppHttpCfgValid"}) - @RequiresPermissions(value={"app:http:config"}) - public String updateAppHttpCfgValid(Integer isValid,String ids,Integer functionId) { - appCfgService.updateAppHttpCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/app/httpCfgList?functionId="+functionId; + @RequestMapping(value = { "updateAppHttpCfgValid" }) + @RequiresPermissions(value = { "app:http:config" }) + public String updateAppHttpCfgValid(Integer isValid, String ids, Integer functionId) { + appCfgService.updateAppHttpCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/app/httpCfgList?functionId=" + functionId; } + /** * app协议domain配置列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"domainCfgList"}) - public String domainCfgList(Model model,@ModelAttribute("cfg")AppDomainCfg cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "domainCfgList" }) + public String domainCfgList(Model model, @ModelAttribute("cfg") AppDomainCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appCfgService.findAppDomainList(searchPage, cfg); - for(AppDomainCfg entity:page.getList()){ + for (AppDomainCfg entity : page.getList()) { SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); entity.setAppName(app.getSpecServiceName()); } model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/app/appDomainCfgList"; } + /** * 协议domain配置表单 + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"domainCfgForm"}) - @RequiresPermissions(value={"app:domain:config"}) - public String domainCfgForm(Model model,String ids,AppDomainCfg entity) { - if(StringUtils.isNotBlank(ids)){ + @RequestMapping(value = { "domainCfgForm" }) + @RequiresPermissions(value = { "app:domain:config" }) + public String domainCfgForm(Model model, String ids, AppDomainCfg entity) { + if (StringUtils.isNotBlank(ids)) { entity = appCfgService.getAppDomainCfg(Long.parseLong(ids)); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/app/appDomainCfgForm"; } -/** + + /** * domain配置新增修改 + * * @param model * @param request * @param response @@ -651,30 +687,33 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"saveAppDomainCfg"}) - @RequiresPermissions(value={"app:domain:config"}) - public String saveAppDomainCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppDomainCfg entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "saveAppDomainCfg" }) + @RequiresPermissions(value = { "app:domain:config" }) + public String saveAppDomainCfg(Model model, HttpServletRequest request, HttpServletResponse response, + AppDomainCfg entity, RedirectAttributes redirectAttributes) { try { - SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); - if(specificService!=null){ + SpecificServiceCfg specificService = specificServiceCfgService + .getBySpecServiceId(entity.getSpecServiceId()); + if (specificService != null) { entity.setAppCode(specificService.getSpecServiceCode()); } appCfgService.saveOrUpdateAppDomainCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/app/domainCfgList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/app/domainCfgList?functionId=" + entity.getFunctionId(); } + /** * domain配置审核 + * * @param isAudit * @param isValid * @param ids @@ -682,20 +721,15 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"auditAppDomainCfg"}) -// @RequiresPermissions(value={"app:domain:confirm"}) - public String auditAppDomainCfg(Model model,@ModelAttribute("cfg")AppDomainCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + @RequestMapping(value = { "auditAppDomainCfg" }) + // @RequiresPermissions(value={"app:domain:confirm"}) + public String auditAppDomainCfg(Model model, @ModelAttribute("cfg") AppDomainCfg cfg, Integer isValid, + Integer isAudit, String ids, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletResponse response, HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { AppDomainCfg entity = new AppDomainCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ + for (String id : idArray) { entity = appCfgService.getAppDomainCfg(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); @@ -703,94 +737,103 @@ public class AppCfgController extends BaseController { entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - appCfgService.auditAppDomainCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + appCfgService.auditAppDomainCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("app协议domain配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("app协议domain配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); try { BeanUtils.copyProperties(searchPage, auditPage); - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return domainCfgList(model, cfg, request, response); } - return "redirect:" + adminPath +"/app/domainCfgList?functionId="+functionId; + return "redirect:" + adminPath + "/app/domainCfgList?functionId=" + functionId; } + /** * domain配置删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateAppDomainCfgValid"}) - @RequiresPermissions(value={"app:domain:config"}) - public String updateAppDomainCfgValid(Integer isValid,String ids,Integer functionId) { - appCfgService.updateAppDomainCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/app/domainCfgList?functionId="+functionId; + @RequestMapping(value = { "updateAppDomainCfgValid" }) + @RequiresPermissions(value = { "app:domain:config" }) + public String updateAppDomainCfgValid(Integer isValid, String ids, Integer functionId) { + appCfgService.updateAppDomainCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/app/domainCfgList?functionId=" + functionId; } + /** * app协议byte配置列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"byteCfgList"}) - public String byteCfgList(Model model,@ModelAttribute("cfg")AppByteCfg cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "byteCfgList" }) + public String byteCfgList(Model model, @ModelAttribute("cfg") AppByteCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appCfgService.findAppByteList(searchPage, cfg); - for(AppByteCfg entity:page.getList()){ + for (AppByteCfg entity : page.getList()) { SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); entity.setAppName(app.getSpecServiceName()); } model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/app/appByteCfgList"; } + /** * 协议byte配置表单 + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"byteCfgForm"}) - @RequiresPermissions(value={"app:byte:config"}) - public String byteCfgForm(Model model,String ids,AppByteCfg entity) { - if(StringUtils.isNotBlank(ids)){ + @RequestMapping(value = { "byteCfgForm" }) + @RequiresPermissions(value = { "app:byte:config" }) + public String byteCfgForm(Model model, String ids, AppByteCfg entity) { + if (StringUtils.isNotBlank(ids)) { entity = appCfgService.getAppByteCfg(Long.parseLong(ids)); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/app/appByteCfgForm"; } -/** + + /** * byte配置新增修改 + * * @param model * @param request * @param response @@ -798,31 +841,34 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"saveAppByteCfg"}) - @RequiresPermissions(value={"app:byte:config"}) - public String saveAppByteCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppByteCfg entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "saveAppByteCfg" }) + @RequiresPermissions(value = { "app:byte:config" }) + public String saveAppByteCfg(Model model, HttpServletRequest request, HttpServletResponse response, + AppByteCfg entity, RedirectAttributes redirectAttributes) { try { - SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); - if(specificService!=null){ + SpecificServiceCfg specificService = specificServiceCfgService + .getBySpecServiceId(entity.getSpecServiceId()); + if (specificService != null) { entity.setAppCode(specificService.getSpecServiceCode()); } appCfgService.saveOrUpdateAppByteCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("saveAppByteCfg failed",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + logger.error("saveAppByteCfg failed", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/app/byteCfgList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/app/byteCfgList?functionId=" + entity.getFunctionId(); } + /** * byte配置审核 + * * @param isAudit * @param isValid * @param ids @@ -830,12 +876,13 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"auditAppByteCfg"}) -// @RequiresPermissions(value={"app:byte:confirm"}) - public String auditAppByteCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "auditAppByteCfg" }) + // @RequiresPermissions(value={"app:byte:confirm"}) + public String auditAppByteCfg(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { AppByteCfg entity = new AppByteCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ + for (String id : idArray) { entity = appCfgService.getAppByteCfg(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); @@ -843,75 +890,83 @@ public class AppCfgController extends BaseController { entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - appCfgService.auditAppByteCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + appCfgService.auditAppByteCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("app协议byte配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("app协议byte配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - return "redirect:" + adminPath +"/app/byteCfgList?functionId="+functionId; + return "redirect:" + adminPath + "/app/byteCfgList?functionId=" + functionId; } + /** * byte配置删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateAppByteCfgValid"}) - @RequiresPermissions(value={"app:byte:config"}) - public String updateAppByteCfgValid(Integer isValid,String ids,Integer functionId) { - appCfgService.updateAppByteCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/app/byteCfgList?functionId="+functionId; + @RequestMapping(value = { "updateAppByteCfgValid" }) + @RequiresPermissions(value = { "app:byte:config" }) + public String updateAppByteCfgValid(Integer isValid, String ids, Integer functionId) { + appCfgService.updateAppByteCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/app/byteCfgList?functionId=" + functionId; } - + /** * APP ssl证书特征配置 列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"sslCfgList"}) - public String sslCfgList(Model model,@ModelAttribute("cfg")AppSslCertCfg cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "sslCfgList" }) + public String sslCfgList(Model model, @ModelAttribute("cfg") AppSslCertCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appCfgService.findAppSslList(searchPage, cfg); - for(AppSslCertCfg entity:page.getList()){ + for (AppSslCertCfg entity : page.getList()) { SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); entity.setAppName(app.getSpecServiceName()); } model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/app/appSslCfgList"; } + /** * APP ssl证书特征配置表单(新增/修改) + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"sslCfgForm"}) - @RequiresPermissions(value={"app:ssl:config"}) - public String sslCfgForm(Model model,String ids,AppSslCertCfg entity) { - if(StringUtils.isNotBlank(ids)){ + @RequestMapping(value = { "sslCfgForm" }) + @RequiresPermissions(value = { "app:ssl:config" }) + public String sslCfgForm(Model model, String ids, AppSslCertCfg entity) { + if (StringUtils.isNotBlank(ids)) { entity = appCfgService.getAppSslCfg(Long.parseLong(ids)); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/app/appSslCfgForm"; } + /** * APP ssl证书特征配置(新增/修改)提交 + * * @param model * @param request * @param response @@ -919,31 +974,34 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"saveAppSslCfg"}) - @RequiresPermissions(value={"app:ssl:config"}) - public String saveAppSslCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppSslCertCfg entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "saveAppSslCfg" }) + @RequiresPermissions(value = { "app:ssl:config" }) + public String saveAppSslCfg(Model model, HttpServletRequest request, HttpServletResponse response, + AppSslCertCfg entity, RedirectAttributes redirectAttributes) { try { - SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); - if(specificService!=null){ + SpecificServiceCfg specificService = specificServiceCfgService + .getBySpecServiceId(entity.getSpecServiceId()); + if (specificService != null) { entity.setAppCode(specificService.getSpecServiceCode()); } appCfgService.saveOrUpdateAppSslCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { e.printStackTrace(); logger.error("saveAppSslCfg failed", e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/app/sslCfgList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/app/sslCfgList?functionId=" + entity.getFunctionId(); } + /** * APP ssl证书特征配置 审核 + * * @param isAudit * @param isValid * @param ids @@ -951,20 +1009,15 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"auditAppSslCfg"}) - @RequiresPermissions(value={"app:ssl:confirm"}) - public String auditAppSslCfg(Model model,@ModelAttribute("cfg")AppSslCertCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + @RequestMapping(value = { "auditAppSslCfg" }) + @RequiresPermissions(value = { "app:ssl:confirm" }) + public String auditAppSslCfg(Model model, @ModelAttribute("cfg") AppSslCertCfg cfg, Integer isValid, + Integer isAudit, String ids, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletResponse response, HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { AppSslCertCfg entity = new AppSslCertCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ + for (String id : idArray) { entity = appCfgService.getAppSslCfg(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); @@ -972,98 +1025,103 @@ public class AppCfgController extends BaseController { entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - appCfgService.auditAppSslCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + appCfgService.auditAppSslCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("app SSL配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("app SSL配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); try { BeanUtils.copyProperties(searchPage, auditPage); - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return sslCfgList(model, cfg, request, response); } - - return "redirect:" + adminPath +"/app/sslCfgList?functionId="+functionId; + + return "redirect:" + adminPath + "/app/sslCfgList?functionId=" + functionId; } + /** * APP ssl证书特征配置 删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateAppSslCfgValid"}) - @RequiresPermissions(value={"app:ssl:config"}) - public String updateAppSslCfgValid(Integer isValid,String ids,Integer functionId) { - appCfgService.updateAppSslCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/app/sslCfgList?functionId="+functionId; + @RequestMapping(value = { "updateAppSslCfgValid" }) + @RequiresPermissions(value = { "app:ssl:config" }) + public String updateAppSslCfgValid(Integer isValid, String ids, Integer functionId) { + appCfgService.updateAppSslCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/app/sslCfgList?functionId=" + functionId; } - /** * APP TCP会话字节数特征 列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"tcpCfgList"}) - public String tcpCfgList(Model model,@ModelAttribute("cfg")AppTcpCfg cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "tcpCfgList" }) + public String tcpCfgList(Model model, @ModelAttribute("cfg") AppTcpCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appCfgService.findAppTcpList(searchPage, cfg); - for(AppTcpCfg entity:page.getList()){ + for (AppTcpCfg entity : page.getList()) { SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); entity.setAppName(app.getSpecServiceName()); } model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/app/appTcpCfgList"; } - + /** * APP TCP会话字节数特征表单(新增/修改) + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"tcpCfgForm"}) - @RequiresPermissions(value={"app:tcp:config"}) - public String tcpCfgForm(Model model,String ids,AppTcpCfg entity) { - if(StringUtils.isNotBlank(ids)){ + @RequestMapping(value = { "tcpCfgForm" }) + @RequiresPermissions(value = { "app:tcp:config" }) + public String tcpCfgForm(Model model, String ids, AppTcpCfg entity) { + if (StringUtils.isNotBlank(ids)) { entity = appCfgService.getAppTcpCfg(Long.parseLong(ids)); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/app/appTcpCfgForm"; } - + /** * APP TCP会话字节数特征配置(新增/修改)提交 + * * @param model * @param request * @param response @@ -1071,47 +1129,49 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"saveAppTcpCfg"}) - @RequiresPermissions(value={"app:tcp:config"}) - public String saveAppTcpCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppTcpCfg entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "saveAppTcpCfg" }) + @RequiresPermissions(value = { "app:tcp:config" }) + public String saveAppTcpCfg(Model model, HttpServletRequest request, HttpServletResponse response, AppTcpCfg entity, + RedirectAttributes redirectAttributes) { try { - SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); - if(specificService!=null){ + SpecificServiceCfg specificService = specificServiceCfgService + .getBySpecServiceId(entity.getSpecServiceId()); + if (specificService != null) { entity.setAppCode(specificService.getSpecServiceCode()); } appCfgService.saveOrUpdateAppTcpeCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("saveAppTcpCfg failed",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + logger.error("saveAppTcpCfg failed", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/app/tcpCfgList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/app/tcpCfgList?functionId=" + entity.getFunctionId(); } - + /** * APP TCP会话字节数特征配置删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateAppTcpCfgValid"}) - @RequiresPermissions(value={"app:tcp:config"}) - public String updateAppTcpCfgValid(Integer isValid,String ids,Integer functionId) { - appCfgService.updateAppTcpCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/app/tcpCfgList?functionId="+functionId; + @RequestMapping(value = { "updateAppTcpCfgValid" }) + @RequiresPermissions(value = { "app:tcp:config" }) + public String updateAppTcpCfgValid(Integer isValid, String ids, Integer functionId) { + appCfgService.updateAppTcpCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/app/tcpCfgList?functionId=" + functionId; } - - + /** * APP TCP会话字节数特征配置 审核 + * * @param isAudit * @param isValid * @param ids @@ -1119,12 +1179,13 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"auditAppTcpCfg"}) - @RequiresPermissions(value={"app:tcp:confirm"}) - public String auditAppTcpCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "auditAppTcpCfg" }) + @RequiresPermissions(value = { "app:tcp:confirm" }) + public String auditAppTcpCfg(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { AppTcpCfg entity = new AppTcpCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ + for (String id : idArray) { entity = appCfgService.getAppTcpCfg(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); @@ -1132,64 +1193,67 @@ public class AppCfgController extends BaseController { entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - appCfgService.auditAppTcpCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + appCfgService.auditAppTcpCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("app SSL配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("app SSL配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - return "redirect:" + adminPath +"/app/tcpCfgList?functionId="+functionId; + return "redirect:" + adminPath + "/app/tcpCfgList?functionId=" + functionId; } - - - - + /** * APP header特征配置 列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"headerCfgList"}) - public String headerCfgList(Model model,@ModelAttribute("cfg")AppHeaderCfg cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "headerCfgList" }) + public String headerCfgList(Model model, @ModelAttribute("cfg") AppHeaderCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appCfgService.findAppHeaderList(searchPage, cfg); - for(AppHeaderCfg entity:page.getList()){ + for (AppHeaderCfg entity : page.getList()) { SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); entity.setAppName(app.getSpecServiceName()); } model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/app/appHeaderCfgList"; } + /** * APP header特征配置表单 (修改/新增) + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"headerCfgForm"}) - @RequiresPermissions(value={"app:header:config"}) - public String headerCfgForm(Model model,String ids,AppHeaderCfg entity) { - if(StringUtils.isNotBlank(ids)){ + @RequestMapping(value = { "headerCfgForm" }) + @RequiresPermissions(value = { "app:header:config" }) + public String headerCfgForm(Model model, String ids, AppHeaderCfg entity) { + if (StringUtils.isNotBlank(ids)) { entity = appCfgService.getAppHeaderCfg(Long.parseLong(ids)); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/app/appHeaderCfgForm"; } + /** * APP header特征配置 (新增/修改)表单提交 + * * @param model * @param request * @param response @@ -1197,31 +1261,34 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"saveAppHeaderCfg"}) - @RequiresPermissions(value={"app:header:config"}) - public String saveAppHeaderCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppHeaderCfg entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "saveAppHeaderCfg" }) + @RequiresPermissions(value = { "app:header:config" }) + public String saveAppHeaderCfg(Model model, HttpServletRequest request, HttpServletResponse response, + AppHeaderCfg entity, RedirectAttributes redirectAttributes) { try { - SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); - if(specificService!=null){ + SpecificServiceCfg specificService = specificServiceCfgService + .getBySpecServiceId(entity.getSpecServiceId()); + if (specificService != null) { entity.setAppCode(specificService.getSpecServiceCode()); } appCfgService.saveOrUpdateAppHeaderCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("saveAppHeaderCfg failed",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + logger.error("saveAppHeaderCfg failed", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/app/headerCfgList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/app/headerCfgList?functionId=" + entity.getFunctionId(); } + /** * APP header特征配置 审核 + * * @param isAudit * @param isValid * @param ids @@ -1229,12 +1296,13 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"auditAppHeaderCfg"}) - @RequiresPermissions(value={"app:header:confirm"}) - public String auditAppHeaderCfg(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "auditAppHeaderCfg" }) + @RequiresPermissions(value = { "app:header:confirm" }) + public String auditAppHeaderCfg(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { AppHeaderCfg entity = new AppHeaderCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ + for (String id : idArray) { entity = appCfgService.getAppHeaderCfg(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); @@ -1242,96 +1310,109 @@ public class AppCfgController extends BaseController { entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - appCfgService.auditAppHeaderCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + appCfgService.auditAppHeaderCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("app Header配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("app Header配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - return "redirect:" + adminPath +"/app/headerCfgList?functionId="+functionId; + return "redirect:" + adminPath + "/app/headerCfgList?functionId=" + functionId; } + /** * APP header特征配置 删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateAppHeaderCfgValid"}) - @RequiresPermissions(value={"app:header:config"}) - public String updateAppHeaderCfgValid(Integer isValid,String ids,Integer functionId) { - appCfgService.updateAppHeaderCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/app/headerCfgList?functionId="+functionId; + @RequestMapping(value = { "updateAppHeaderCfgValid" }) + @RequiresPermissions(value = { "app:header:config" }) + public String updateAppHeaderCfgValid(Integer isValid, String ids, Integer functionId) { + appCfgService.updateAppHeaderCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/app/headerCfgList?functionId=" + functionId; } - + /** * 主题网站配置列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"topicDomainCfgList"}) - public String TopicDomainCfgList(Model model,@ModelAttribute("cfg")AppTopicDomainCfg cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "topicDomainCfgList" }) + public String TopicDomainCfgList(Model model, @ModelAttribute("cfg") AppTopicDomainCfg cfg, + HttpServletRequest request, HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appCfgService.findAppTopicDomainList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/app/appTopicDomainCfgList"; } + /** * * 获取服务与主题关系表中的域名 + * * @param websiteDomainTopic * @param response * @return */ @ResponseBody - @RequestMapping(value = "WebsiteDomainTopicList",method=RequestMethod.GET) - public List> WebsiteDomainTopicList(@ModelAttribute("websiteDomainTopic")WebsiteDomainTopic websiteDomainTopic,@RequestParam("websiteServiceId") Long websiteServiceId,@RequestParam("topicId") Long topicId,HttpServletResponse response){ + @RequestMapping(value = "WebsiteDomainTopicList", method = RequestMethod.GET) + public List> WebsiteDomainTopicList( + @ModelAttribute("websiteDomainTopic") WebsiteDomainTopic websiteDomainTopic, + @RequestParam("websiteServiceId") Long websiteServiceId, @RequestParam("topicId") Long topicId, + HttpServletResponse response) { List> mapList = Lists.newArrayList(); - if(websiteServiceId!=null&&topicId!=null){ + if (websiteServiceId != null && topicId != null) { List list = appCfgService.getDomainDict(websiteDomainTopic); - if(list!=null&&list.size()>0){ + if (list != null && list.size() > 0) { for (WebsiteDomainTopic domain : list) { Map map = Maps.newHashMap(); - map.put("domain",domain.getDomain()); - map.put("domainId",domain.getId()); - + map.put("domain", domain.getDomain()); + map.put("domainId", domain.getId()); + mapList.add(map); } } } return mapList; } + /** * app主题网站配置表单 + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"topicDomainCfgForm"}) - @RequiresPermissions(value={"app:topic:config"}) - public String topicDomainCfgForm(Model model,String ids,@ModelAttribute("_cfg")AppTopicDomainCfg entity) { - if(StringUtils.isNotBlank(ids)){ + @RequestMapping(value = { "topicDomainCfgForm" }) + @RequiresPermissions(value = { "app:topic:config" }) + public String topicDomainCfgForm(Model model, String ids, @ModelAttribute("_cfg") AppTopicDomainCfg entity) { + if (StringUtils.isNotBlank(ids)) { entity = appCfgService.getAppTopicDomainCfg(Long.parseLong(ids)); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/app/appTopicDomainCfgForm"; } -/** + + /** * app主题网站配置新增修改 + * * @param model * @param request * @param response @@ -1339,52 +1420,56 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"saveAppTopicDomainCfg"}) - @RequiresPermissions(value={"app:topic:config"}) - public String saveAppTopicDomainCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppTopicDomainCfg entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "saveAppTopicDomainCfg" }) + @RequiresPermissions(value = { "app:topic:config" }) + public String saveAppTopicDomainCfg(Model model, HttpServletRequest request, HttpServletResponse response, + AppTopicDomainCfg entity, RedirectAttributes redirectAttributes) { try { - //验证域名的重复行 - if(!StringUtil.isBlank(entity.getCfgKeywords())){ + // 验证域名的重复行 + if (!StringUtil.isBlank(entity.getCfgKeywords())) { WebsiteDomainTopic websiteDomainTopic = new WebsiteDomainTopic(); websiteDomainTopic.setDomain(entity.getCfgKeywords()); List domainDict = appCfgService.getDomainDict(websiteDomainTopic); - if((domainDict==null || domainDict.size()==0)){ - //保存到域名关联表中 - if(entity!=null&&entity.getWebsiteServiceId()!=null&&entity.getTopicId()!=null){ + if ((domainDict == null || domainDict.size() == 0)) { + // 保存到域名关联表中 + if (entity != null && entity.getWebsiteServiceId() != null && entity.getTopicId() != null) { websiteDomainTopic.setWebsiteServiceId(entity.getWebsiteServiceId()); websiteDomainTopic.setTopicId(entity.getTopicId()); websiteDomainTopic.setCreateTime(new Date()); websiteDomainTopic.setCreatorId(Integer.valueOf(UserUtils.getUser().getId().toString())); websiteDomainTopic.setIsValid(Constants.VALID_YES); appCfgService.saveDomainDict(websiteDomainTopic); - }else{ - addMessage(redirectAttributes,"error","save_failed"); - return "redirect:" + adminPath +"/app/topicDomainCfgList?functionId="+entity.getFunctionId(); + } else { + addMessage(redirectAttributes, "error", "save_failed"); + return "redirect:" + adminPath + "/app/topicDomainCfgList?functionId=" + entity.getFunctionId(); } } } - if(entity!=null&&StringUtil.isBlank(entity.getCfgKeywords())&&!StringUtil.isBlank(entity.getCfgKeywords())){ + if (entity != null && StringUtil.isBlank(entity.getCfgKeywords()) + && !StringUtil.isBlank(entity.getCfgKeywords())) { entity.setCfgKeywords(entity.getCfgKeywords()); } appCfgService.saveOrUpdateAppTopicDomainCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { - if(e instanceof MaatConvertException) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.info("app主题网站配置下发失败:"+e.getMessage());; - addMessage(redirectAttributes,"error","request_service_failed"); - }else { + logger.info("app主题网站配置下发失败:" + e.getMessage()); + ; + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("app主题网站配置下发失败",e); - addMessage(redirectAttributes,"error","save_failed"); + logger.error("app主题网站配置下发失败", e); + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/app/topicDomainCfgList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/app/topicDomainCfgList?functionId=" + entity.getFunctionId(); } + /** * domain配置审核 + * * @param isAudit * @param isValid * @param ids @@ -1392,20 +1477,15 @@ public class AppCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"auditAppTopicDomainCfg"}) -// @RequiresPermissions(value={"app:domain:confirm"}) - public String auditAppTopicDomainCfg(Model model,@ModelAttribute("cfg")AppTopicDomainCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + @RequestMapping(value = { "auditAppTopicDomainCfg" }) + // @RequiresPermissions(value={"app:domain:confirm"}) + public String auditAppTopicDomainCfg(Model model, @ModelAttribute("cfg") AppTopicDomainCfg cfg, Integer isValid, + Integer isAudit, String ids, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletResponse response, HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { AppTopicDomainCfg entity = new AppTopicDomainCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ + for (String id : idArray) { entity = appCfgService.getAppTopicDomainCfg(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); @@ -1413,500 +1493,648 @@ public class AppCfgController extends BaseController { entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - appCfgService.auditAppTopicDomainCfg(entity,isAudit); - addMessage(redirectAttributes,"success","audit_success"); + appCfgService.auditAppTopicDomainCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("app主题网站配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("app主题网站配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); try { BeanUtils.copyProperties(searchPage, auditPage); - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return TopicDomainCfgList(model, cfg, request, response); } - return "redirect:" + adminPath +"/app/topicDomainCfgList?functionId="+functionId; + return "redirect:" + adminPath + "/app/topicDomainCfgList?functionId=" + functionId; } + /** * 网站主题配置删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateAppTopicDomainCfgValid"}) - @RequiresPermissions(value={"app:topic:config"}) - public String updateAppTopicDomainCfgValid(Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "updateAppTopicDomainCfgValid" }) + @RequiresPermissions(value = { "app:topic:config" }) + public String updateAppTopicDomainCfgValid(Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { try { - appCfgService.updateAppTopicDomainCfgValid(isValid,ids,functionId); - addMessage(redirectAttributes,"success","delete_success"); + appCfgService.updateAppTopicDomainCfgValid(isValid, ids, functionId); + addMessage(redirectAttributes, "success", "delete_success"); } catch (Exception e) { - logger.error("app主题网站删除失败",e); - if(e instanceof MaatConvertException) { + logger.error("app主题网站删除失败", e); + if (e instanceof MaatConvertException) { e.printStackTrace(); - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else { e.printStackTrace(); - addMessage(redirectAttributes,"error","delete_failed"); + addMessage(redirectAttributes, "error", "delete_failed"); } } - return "redirect:" + adminPath +"/app/topicDomainCfgList?functionId="+functionId; + return "redirect:" + adminPath + "/app/topicDomainCfgList?functionId=" + functionId; } - - - /**********************内置APP特征文件上传*******************************/ - @RequestMapping(value = {"/appBuiltinFeatureFileForm"}) - @RequiresPermissions(value={"app:built_in_file:config"}) - public String from(Model model, - HttpServletRequest request, - HttpServletResponse response, - String ids, - @ModelAttribute("cfg")AppBuiltInFeatureFile cfg - ,RedirectAttributes redirectAttributes){ - if(cfg == null){ - cfg=new AppBuiltInFeatureFile(); + + /********************** 内置APP特征文件上传 *******************************/ + @RequestMapping(value = { "/appBuiltinFeatureFileForm" }) + @RequiresPermissions(value = { "app:built_in_file:config" }) + public String from(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + @ModelAttribute("cfg") AppBuiltInFeatureFile cfg, RedirectAttributes redirectAttributes) { + if (cfg == null) { + cfg = new AppBuiltInFeatureFile(); } - if(!StringUtil.isEmpty(ids)){ - cfg = appBuiltInFeatureService.getAppBuiltInFeatureFile(Long.valueOf(ids),-1); + if (!StringUtil.isEmpty(ids)) { + cfg = appBuiltInFeatureService.getAppBuiltInFeatureFile(Long.valueOf(ids), -1); initFormCondition(model, cfg); model.addAttribute("isAdd", false); - }else{ + } else { initFormCondition(model, cfg); model.addAttribute("isAdd", true); } - + model.addAttribute("_cfg", cfg); return "/cfg/app/appBuiltinFeatureFileForm"; } - - @RequestMapping(value = {"/appBuiltinFeatureFileSaveOrUpdate"}) - @RequiresPermissions(value={"app:built_in_file:config"}) - public String saveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")AppBuiltInFeatureFile cfg, - MultipartFile file, - RedirectAttributes redirectAttributes){ - File fileD=null; - try{ - - if(file != null) { - String filename = file.getOriginalFilename(); - String prefix = FileUtils.getPrefix(filename, false); - String suffix = FileUtils.getSuffix(filename, false); - fileD = File.createTempFile("file_"+ prefix, suffix); - file.transferTo(fileD);//复制文件 - String md5 = FileUtils.getFileMD5(fileD); - Map srcMap = Maps.newHashMap(); - srcMap.put("filetype", suffix); - srcMap.put("datatype", "dbSystem");//源文件存入数据中心 - srcMap.put("createTime",new Date()); - srcMap.put("key",prefix); - srcMap.put("fileName", filename); - srcMap.put("checksum", md5); - ToMaatResult result = ConfigServiceUtil.postFileCfg(null, fileD, JsonMapper.toJsonString(srcMap)); - logger.info("APP 内置特征 文件上传响应信息:"+JsonMapper.toJsonString(result)); - String accessUrl = null; - if(!StringUtil.isEmpty(result)){ - ResponseData data = result.getData(); - accessUrl=data.getAccessUrl(); - cfg.setFilePath(accessUrl);; - } - } - appBuiltInFeatureService.saveOrUpdate(cfg); - - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ + + @RequestMapping(value = { "/appBuiltinFeatureFileSaveOrUpdate" }) + @RequiresPermissions(value = { "app:built_in_file:config" }) + public String saveOrUpdate(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AppBuiltInFeatureFile cfg, MultipartFile file, + RedirectAttributes redirectAttributes) { + File fileD = null; + try { + + if (file != null) { + String filename = file.getOriginalFilename(); + String prefix = FileUtils.getPrefix(filename, false); + String suffix = FileUtils.getSuffix(filename, false); + fileD = File.createTempFile("file_" + prefix, suffix); + file.transferTo(fileD);// 复制文件 + String md5 = FileUtils.getFileMD5(fileD); + Map srcMap = Maps.newHashMap(); + srcMap.put("filetype", suffix); + srcMap.put("datatype", "dbSystem");// 源文件存入数据中心 + srcMap.put("createTime", new Date()); + srcMap.put("key", prefix); + srcMap.put("fileName", filename); + srcMap.put("checksum", md5); + ToMaatResult result = ConfigServiceUtil.postFileCfg(null, fileD, JsonMapper.toJsonString(srcMap)); + logger.info("APP 内置特征 文件上传响应信息:" + JsonMapper.toJsonString(result)); + String accessUrl = null; + if (!StringUtil.isEmpty(result)) { + ResponseData data = result.getData(); + accessUrl = data.getAccessUrl(); + cfg.setFilePath(accessUrl); + ; + } + } + appBuiltInFeatureService.saveOrUpdate(cfg); + + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { e.printStackTrace(); - logger.error("appBuiltinFeatureFileSaveOrUpdate failed",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + logger.error("appBuiltinFeatureFileSaveOrUpdate failed", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/app/appBuiltinFeatureFileList?functionId="+cfg.getFunctionId(); + + return "redirect:" + adminPath + "/app/appBuiltinFeatureFileList?functionId=" + cfg.getFunctionId(); } - - @RequestMapping(value = {"/appBuiltinFeatureFileList"}) - public String list(Model model,HttpServletRequest request,HttpServletResponse response - ,@ModelAttribute("cfg")AppBuiltInFeatureFile entity - ,RedirectAttributes redirectAttributes){ - Page page = appBuiltInFeatureService.findPage(new Page(request, response,"r"), entity); + + @RequestMapping(value = { "/appBuiltinFeatureFileList" }) + public String list(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AppBuiltInFeatureFile entity, RedirectAttributes redirectAttributes) { + Page page = appBuiltInFeatureService + .findPage(new Page(request, response, "r"), entity); model.addAttribute("page", page); initPageCondition(model); return "/cfg/app/appBuiltinFeatureFileList"; } - - @RequestMapping(value = {"/appBuiltinFeatureFileDelete"}) - @RequiresPermissions(value={"app:built_in_file:config"}) - public String delete(Integer isAudit,Integer isValid,String ids,Integer functionId - ,Model model,HttpServletRequest request - ,HttpServletResponse response - ,RedirectAttributes redirectAttributes){ - if(!StringUtil.isEmpty(ids)){ - appBuiltInFeatureService.delete(isAudit,isValid,ids,functionId); + + @RequestMapping(value = { "/appBuiltinFeatureFileDelete" }) + @RequiresPermissions(value = { "app:built_in_file:config" }) + public String delete(Integer isAudit, Integer isValid, String ids, Integer functionId, Model model, + HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(ids)) { + appBuiltInFeatureService.delete(isAudit, isValid, ids, functionId); } - - return "redirect:" + adminPath +"/app/appBuiltinFeatureFileList?functionId="+functionId; + + return "redirect:" + adminPath + "/app/appBuiltinFeatureFileList?functionId=" + functionId; } - - @RequestMapping(value = {"/audit"}) - @RequiresPermissions(value={"app:built_in_file:confirm"}) - public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId, + + @RequestMapping(value = { "/audit" }) + @RequiresPermissions(value = { "app:built_in_file:confirm" }) + public String audit(Integer isAudit, Integer isValid, String ids, Integer functionId, RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(ids)){ + if (!StringUtil.isEmpty(ids)) { String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - appBuiltInFeatureService.audit(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); + appBuiltInFeatureService.audit(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { e.printStackTrace(); logger.error("appBuiltinFeature audit failed", e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - + } - return "redirect:" + adminPath +"/app/appBuiltinFeatureFileList?functionId="+functionId; + return "redirect:" + adminPath + "/app/appBuiltinFeatureFileList?functionId=" + functionId; } + @ResponseBody @RequestMapping(value = "/validCfgId") public boolean validCfgId(Long cfgId) { - AppBuiltInFeatureFile dns=appBuiltInFeatureService.getAppBuiltInFeatureFile(cfgId,null); - if(dns == null ){ + AppBuiltInFeatureFile dns = appBuiltInFeatureService.getAppBuiltInFeatureFile(cfgId, null); + if (dns == null) { return false; - }else{ + } else { return true; } } - - //ip配置导出 - @RequestMapping(value = "exportIpAddr") - public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")AppPolicyCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=appCfgService.findAppByPolicyList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = appCfgService.findAppPolicyList(pageInfo, entity); - ipLists=page.getList(); - } - - for(AppPolicyCfg policy:ipLists){ - SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); - if(app!=null) { - policy.setSocialName(app.getSpecServiceName()); - } - } - //查找社交应用的所有有效二级特定服务 - SpecificServiceCfg second=new SpecificServiceCfg(); - for(SysDataDictionaryItem dict:DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) { - if(Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) { - second.setCfgType(Integer.parseInt(dict.getItemCode())); - break; - } - } - second.setIsValid(Constants.VALID_YES); - second.setIsLeaf(1); - List secondList=specificServiceCfgService.findAllSpecificServiceCfg(second, null); - //遍历,找到匹配项后将行为设置进去 - for(AppPolicyCfg policy:ipLists){ - if(policy.getBehavCode()==null) continue; - for(SpecificServiceCfg secondCfg:secondList) { - if(secondCfg.getSpecServiceCode()==null) continue; - if(secondCfg.getSpecServiceCode().intValue()==policy.getBehavCode().intValue()) { - policy.setBehavName(secondCfg.getSpecServiceName()); - break; - } - } - } - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_IP"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), AppPolicyCfg.class); - classMap.put("NTC_IP", IpPortCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - String cfgIndexInfoNoExport=",encrypted_tunnel_behavior,basic_protocol,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String subscribeInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_IP", ipPortInfoNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", subscribeInfoNoExport); - List ipList=new ArrayList(); - List subscribeInfoList=new ArrayList(); - for (AppPolicyCfg cfg : ipLists) { - AppPolicyCfg cfgIndexInfo=appCfgService.exportIpInfo(cfg); - ipList.addAll(cfgIndexInfo.getIpPortList()); - subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); - } - subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_IP", ipList); - dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); - - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("ip addr export failed",e); - addMessage(redirectAttributes,"error","export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + + // ip配置导出 + @RequestMapping(value = "exportIpAddr") + public void exportIpAddr(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AppPolicyCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = appCfgService.findAppByPolicyList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = appCfgService.findAppPolicyList(pageInfo, entity); + ipLists = page.getList(); } - - //top - @RequestMapping(value = "exportTop") - public void exportTop(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")AppTopicDomainCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=appCfgService.findAppByTopicDomainList(ids); - }else{ - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = appCfgService.findAppTopicDomainList(pageInfo, entity); - ipLists=page.getList(); - } - - for (int i = 0; i < ipLists.size(); i++) { - AppTopicDomainCfg appTop=ipLists.get(i); - appTop.setIsHex(appTop.getIsHexbin()); - appTop.setIsCaseInsenstive(appTop.getIsHexbin()); - } - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), AppTopicDomainCfg.class); - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(), ipLists); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("top export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + + for (AppPolicyCfg policy : ipLists) { + SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); + if (app != null) { + policy.setSocialName(app.getSpecServiceName()); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } - - //appIp配置导出 - @RequestMapping(value = "exportAppIp") - public void exportAppIp(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")AppIpCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=appCfgService.findAppByIpList(ids); - }else{ - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = appCfgService.findAppIpList(pageInfo, entity); - ipLists=page.getList(); - } - - - for(AppIpCfg appIp:ipLists){ - SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(appIp.getSpecServiceId()); - appIp.setAppName(app.getSpecServiceName()); - } - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), AppIpCfg.class); - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(),ipLists); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("appIp export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + // 查找社交应用的所有有效二级特定服务 + SpecificServiceCfg second = new SpecificServiceCfg(); + for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) { + if (Constants.SPECIFIC_SERVICE_CFG_TYPE_APP.equals(dict.getItemValue())) { + second.setCfgType(Integer.parseInt(dict.getItemCode())); + break; } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } - - //appHttp配置导出 - @RequestMapping(value = "exportAppHttp") - public void exportAppHttp(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")AppHttpCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=appCfgService.findAppByHttpList(ids); - }else{ - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = appCfgService.findAppHttpList(pageInfo, entity); - ipLists=page.getList(); - } - - for(AppHttpCfg http:ipLists){ - http.setIsHex(http.getIsHexbin()); - http.setIsCaseInsenstive(http.getIsHexbin()); - http.setCfgKeywords(Functions.replace(http.getCfgKeywords(), "***and***"," ")); - SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(http.getSpecServiceId()); - http.setAppName(app.getSpecServiceName()); - } - - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), AppHttpCfg.class); - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(), ipLists); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("http export failed",e); - addMessage(redirectAttributes,"error","export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); - } - - //appdomain配置导出 - @RequestMapping(value = "exportDomain") - public void exportDomain(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")AppDomainCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists= new ArrayList(); - if(!StringUtil.isEmpty(ids)){ - ipLists=appCfgService.findAppByDomainList(ids); - }else{ - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = appCfgService.findAppDomainList(pageInfo, entity); - ipLists=page.getList(); - } - for(AppDomainCfg domain:ipLists){ - domain.setIsHex(domain.getIsHexbin()); - domain.setIsCaseInsenstive(domain.getIsHexbin()); - SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(domain.getSpecServiceId()); - domain.setAppName(app.getSpecServiceName()); - } - - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), AppDomainCfg.class); - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(), ipLists); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("Domain export failed",e); - addMessage(redirectAttributes,"error","export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); - } - - //appssl配置导出 - @RequestMapping(value = "exportAppSsl") - public void exportAppSsl(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")AppSslCertCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists= new ArrayList(); - if(!StringUtil.isEmpty(ids)){ - ipLists=appCfgService.findAppBySslList(ids); - }else{ - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = appCfgService.findAppSslList(pageInfo, entity); - ipLists=page.getList(); + second.setIsValid(Constants.VALID_YES); + second.setIsLeaf(1); + List secondList = specificServiceCfgService.findAllSpecificServiceCfg(second, null); + // 遍历,找到匹配项后将行为设置进去 + for (AppPolicyCfg policy : ipLists) { + if (policy.getBehavCode() == null) + continue; + for (SpecificServiceCfg secondCfg : secondList) { + if (secondCfg.getSpecServiceCode() == null) + continue; + if (secondCfg.getSpecServiceCode().intValue() == policy.getBehavCode().intValue()) { + policy.setBehavName(secondCfg.getSpecServiceName()); + break; } - - for(AppSslCertCfg ssl:ipLists){ - ssl.setIsHex(ssl.getIsHexbin()); - ssl.setIsCaseInsenstive(ssl.getIsHexbin()); - ssl.setCfgKeywords(Functions.replace(ssl.getCfgKeywords(), "***and***"," ")); - SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(ssl.getSpecServiceId()); - ssl.setAppName(app.getSpecServiceName()); - } - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), AppSslCertCfg.class); - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(),ipLists); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("App ssl export failed",e); - addMessage(redirectAttributes,"error","export_failed"); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_IP"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put(entity.getMenuNameCode(), AppPolicyCfg.class); + classMap.put("NTC_IP", IpPortCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + String cfgIndexInfoNoExport = ",encrypted_tunnel_behavior,basic_protocol,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String subscribeInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_IP", ipPortInfoNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", subscribeInfoNoExport); + List ipList = new ArrayList(); + List subscribeInfoList = new ArrayList(); + for (AppPolicyCfg cfg : ipLists) { + AppPolicyCfg cfgIndexInfo = appCfgService.exportIpInfo(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); + } + subscribeInfoList = BaseStringCfg.baseHexList(subscribeInfoList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_IP", ipList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("ip addr export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // top + @RequestMapping(value = "exportTop") + public void exportTop(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AppTopicDomainCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = appCfgService.findAppByTopicDomainList(ids); + } else { + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = appCfgService.findAppTopicDomainList(pageInfo, entity); + ipLists = page.getList(); + } + + for (int i = 0; i < ipLists.size(); i++) { + AppTopicDomainCfg appTop = ipLists.get(i); + appTop.setIsHex(appTop.getIsHexbin()); + appTop.setIsCaseInsenstive(appTop.getIsHexbin()); + } + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), AppTopicDomainCfg.class); + String cfgIndexInfoNoExport = ",letter,whether_area_block,classification,attribute,label,do_log,block_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("top export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // appIp配置导出 + @RequestMapping(value = "exportAppIp") + public void exportAppIp(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AppIpCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = appCfgService.findAppByIpList(ids); + } else { + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = appCfgService.findAppIpList(pageInfo, entity); + ipLists = page.getList(); + } + + for (AppIpCfg appIp : ipLists) { + SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(appIp.getSpecServiceId()); + appIp.setAppName(app.getSpecServiceName()); + } + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), AppIpCfg.class); + String cfgIndexInfoNoExport = ",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("appIp export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // appHttp配置导出 + @RequestMapping(value = "exportAppHttp") + public void exportAppHttp(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AppHttpCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = appCfgService.findAppByHttpList(ids); + } else { + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = appCfgService.findAppHttpList(pageInfo, entity); + ipLists = page.getList(); + } + + for (AppHttpCfg http : ipLists) { + http.setIsHex(http.getIsHexbin()); + http.setIsCaseInsenstive(http.getIsHexbin()); + http.setCfgKeywords(Functions.replace(http.getCfgKeywords(), "***and***", " ")); + SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(http.getSpecServiceId()); + http.setAppName(app.getSpecServiceName()); + } + + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), AppHttpCfg.class); + String cfgIndexInfoNoExport = ",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("http export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // appdomain配置导出 + @RequestMapping(value = "exportDomain") + public void exportDomain(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AppDomainCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + if (!StringUtil.isEmpty(ids)) { + ipLists = appCfgService.findAppByDomainList(ids); + } else { + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = appCfgService.findAppDomainList(pageInfo, entity); + ipLists = page.getList(); + } + for (AppDomainCfg domain : ipLists) { + domain.setIsHex(domain.getIsHexbin()); + domain.setIsCaseInsenstive(domain.getIsHexbin()); + SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(domain.getSpecServiceId()); + domain.setAppName(app.getSpecServiceName()); + } + + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), AppDomainCfg.class); + String cfgIndexInfoNoExport = ",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("Domain export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // appssl配置导出 + @RequestMapping(value = "exportAppSsl") + public void exportAppSsl(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AppSslCertCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + if (!StringUtil.isEmpty(ids)) { + ipLists = appCfgService.findAppBySslList(ids); + } else { + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = appCfgService.findAppSslList(pageInfo, entity); + ipLists = page.getList(); + } + + for (AppSslCertCfg ssl : ipLists) { + ssl.setIsHex(ssl.getIsHexbin()); + ssl.setIsCaseInsenstive(ssl.getIsHexbin()); + ssl.setCfgKeywords(Functions.replace(ssl.getCfgKeywords(), "***and***", " ")); + SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(ssl.getSpecServiceId()); + ssl.setAppName(app.getSpecServiceName()); + } + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), AppSslCertCfg.class); + String cfgIndexInfoNoExport = ",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("App ssl export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } } diff --git a/src/main/java/com/nis/web/controller/configuration/AppFeatureCfgController.java b/src/main/java/com/nis/web/controller/configuration/AppFeatureCfgController.java index b1e3b7154..ef626a469 100644 --- a/src/main/java/com/nis/web/controller/configuration/AppFeatureCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/AppFeatureCfgController.java @@ -64,6 +64,7 @@ import com.nis.web.security.UserUtils; /** * 特定协议相关配置控制类 + * * @author zhangwei * */ @@ -72,48 +73,58 @@ import com.nis.web.security.UserUtils; public class AppFeatureCfgController extends BaseController { /** * app协议复杂特征配置列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"multiFeatureCfgList"}) - public String multiFeatureCfgList(Model model,@ModelAttribute("cfg")AppFeatureIndex cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "multiFeatureCfgList" }) + public String multiFeatureCfgList(Model model, @ModelAttribute("cfg") AppFeatureIndex cfg, + HttpServletRequest request, HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appMultiFeatureCfgService.findAppFeatureIndexList(searchPage, cfg); - for(AppFeatureIndex entity:page.getList()){ + for (AppFeatureIndex entity : page.getList()) { SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); entity.setAppName(app.getSpecServiceName()); } model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/app/appMultiFeatureCfgList"; } + /** * 特征配置表单 + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"multiFeatureCfgForm"}) - public String multiFeatureCfgForm(Model model,String ids,AppFeatureIndex entity) { - if(StringUtils.isNotBlank(ids)){ + @RequestMapping(value = { "multiFeatureCfgForm" }) + public String multiFeatureCfgForm(Model model, String ids, AppFeatureIndex entity) { + if (StringUtils.isNotBlank(ids)) { entity = appMultiFeatureCfgService.getAppFeatureIndex(Long.parseLong(ids)); - entity.setIpPortList(appMultiFeatureCfgService.getAppIpRangeCfg(entity.getCompileId(), entity.getFunctionId())); - entity.setStrList(appMultiFeatureCfgService.getAppStringFeatureCfg(entity.getCompileId(), entity.getFunctionId(),null)); - entity.setComplexList(appMultiFeatureCfgService.getAppComplexFeatureCfg(entity.getCompileId(), entity.getFunctionId(),null)); - entity.setNumCfgList(appMultiFeatureCfgService.getAppTcpCfg(entity.getCompileId(), entity.getFunctionId(),null)); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + entity.setIpPortList( + appMultiFeatureCfgService.getAppIpRangeCfg(entity.getCompileId(), entity.getFunctionId())); + entity.setStrList(appMultiFeatureCfgService.getAppStringFeatureCfg(entity.getCompileId(), + entity.getFunctionId(), null)); + entity.setComplexList(appMultiFeatureCfgService.getAppComplexFeatureCfg(entity.getCompileId(), + entity.getFunctionId(), null)); + entity.setNumCfgList( + appMultiFeatureCfgService.getAppTcpCfg(entity.getCompileId(), entity.getFunctionId(), null)); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/app/appMultiFeatureCfgForm"; } + /** * 特征配置新增修改 + * * @param model * @param request * @param response @@ -121,29 +132,32 @@ public class AppFeatureCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"saveAppMultiFeatureCfg"}) - public String saveAppMultiFeatureCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppFeatureIndex entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "saveAppMultiFeatureCfg" }) + public String saveAppMultiFeatureCfg(Model model, HttpServletRequest request, HttpServletResponse response, + AppFeatureIndex entity, RedirectAttributes redirectAttributes) { try { - SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); - if(specificService!=null){ + SpecificServiceCfg specificService = specificServiceCfgService + .getBySpecServiceId(entity.getSpecServiceId()); + if (specificService != null) { entity.setAppCode(specificService.getSpecServiceCode()); } appMultiFeatureCfgService.saveOrUpdateAppFeatureCfg(entity); - addMessage(redirectAttributes,"success", "save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/app/feature/multiFeatureCfgList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/app/feature/multiFeatureCfgList?functionId=" + entity.getFunctionId(); } + /** * 特征配置审核 + * * @param isAudit * @param isValid * @param ids @@ -151,19 +165,14 @@ public class AppFeatureCfgController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"auditAppFeatureCfg"}) - public String auditAppFeatureCfg(Model model,@ModelAttribute("cfg")AppFeatureIndex cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + @RequestMapping(value = { "auditAppFeatureCfg" }) + public String auditAppFeatureCfg(Model model, @ModelAttribute("cfg") AppFeatureIndex cfg, Integer isValid, + Integer isAudit, String ids, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletResponse response, HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { AppFeatureIndex entity = new AppFeatureIndex(); String[] idArray = ids.split(","); - for(String id :idArray){ + for (String id : idArray) { entity = appMultiFeatureCfgService.getAppFeatureIndex(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); @@ -171,247 +180,264 @@ public class AppFeatureCfgController extends BaseController { entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - appMultiFeatureCfgService.auditAppFeatureCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + appMultiFeatureCfgService.auditAppFeatureCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { e.printStackTrace(); - logger.error("app 特征配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error", "request_service_failed"); + logger.error("app 特征配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "request_service_failed"); } catch (Exception e) { e.printStackTrace(); - logger.error("app 特征配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("app 特征配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "audit_failed"); } } - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); try { BeanUtils.copyProperties(searchPage, auditPage); - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return multiFeatureCfgList(model, cfg, request, response); } - - return "redirect:" + adminPath +"/app/feature/multiFeatureCfgList?functionId="+functionId; + + return "redirect:" + adminPath + "/app/feature/multiFeatureCfgList?functionId=" + functionId; } + /** * 特征配置删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateAppFeatureCfgValid"}) - public String updateAppFeatureCfgValid(Integer isValid,String ids,Integer functionId) { - appMultiFeatureCfgService.updateAppFeatureCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/app/feature/multiFeatureCfgList?functionId="+functionId; + @RequestMapping(value = { "updateAppFeatureCfgValid" }) + public String updateAppFeatureCfgValid(Integer isValid, String ids, Integer functionId) { + appMultiFeatureCfgService.updateAppFeatureCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/app/feature/multiFeatureCfgList?functionId=" + functionId; } - + /** * 查询特征子配置 + * * @param model * @param cfgId * @param index * @return */ - @RequestMapping(value = {"ajaxAppFeatureList"}) - public String ajaxAppFeatureList(Model model,Long cfgId,Integer compileId,Integer functionId,Integer index) { - List ipRangeList = appMultiFeatureCfgService.getAppIpRangeCfg(compileId,functionId); + @RequestMapping(value = { "ajaxAppFeatureList" }) + public String ajaxAppFeatureList(Model model, Long cfgId, Integer compileId, Integer functionId, Integer index) { + List ipRangeList = appMultiFeatureCfgService.getAppIpRangeCfg(compileId, functionId); AppFeatureIndex cfg = appMultiFeatureCfgService.getAppFeatureIndex(cfgId); - List> tabList = new ArrayList(); + List> tabList = new ArrayList(); String[] cfgRegionValue = cfg.getCfgRegionValue().split(","); String[] cfgRegionType = cfg.getCfgRegionType().split(","); String[] cfgRegionCode = cfg.getCfgRegionCode1().split(","); - if(cfgRegionValue.length == cfgRegionType.length && cfgRegionValue.length==cfgRegionCode.length){ - for(int i=0;i map = new HashMap(); + if (cfgRegionValue.length == cfgRegionType.length && cfgRegionValue.length == cfgRegionCode.length) { + for (int i = 0; i < cfgRegionValue.length; i++) { + Map map = new HashMap(); map.put("regionType", cfgRegionType[i]); map.put("regionValue", cfgRegionValue[i]); - if("1".equals(cfgRegionType[i])){ + if ("1".equals(cfgRegionType[i])) { map.put("ipRangeList", ipRangeList); } - if("2".equals(cfgRegionType[i])){ - List strList = appMultiFeatureCfgService.getAppStringFeatureCfg(compileId,functionId,Integer.valueOf(cfgRegionCode[i])); + if ("2".equals(cfgRegionType[i])) { + List strList = appMultiFeatureCfgService.getAppStringFeatureCfg(compileId, + functionId, Integer.valueOf(cfgRegionCode[i])); map.put("strList", strList); } - if("3".equals(cfgRegionType[i])){ - List complexList = appMultiFeatureCfgService.getAppComplexFeatureCfg(compileId,functionId,Integer.valueOf(cfgRegionCode[i])); + if ("3".equals(cfgRegionType[i])) { + List complexList = appMultiFeatureCfgService + .getAppComplexFeatureCfg(compileId, functionId, Integer.valueOf(cfgRegionCode[i])); map.put("complexList", complexList); } - if("4".equals(cfgRegionType[i])){ - List numCfgList = appMultiFeatureCfgService.getAppTcpCfg(compileId,functionId,Integer.valueOf(cfgRegionCode[i])); + if ("4".equals(cfgRegionType[i])) { + List numCfgList = appMultiFeatureCfgService.getAppTcpCfg(compileId, functionId, + Integer.valueOf(cfgRegionCode[i])); map.put("numCfgList", numCfgList); } tabList.add(map); } - }else{ - Map map = new HashMap(); + } else { + Map map = new HashMap(); map.put("regionType", "0"); map.put("regionValue", "query config detail error"); tabList.add(map); } - - /*if(ipRangeList!=null){ - String cfgType = null; - for(AppIpCfg ip:ipRangeList){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); - cfgType = ip.getCfgType(); - } - } - } - if(strList!=null){ - String cfgType = null; - for(AppStringFeatureCfg cfg:strList){ - if(!cfg.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",cfg.getCfgType()}); - cfgType = cfg.getCfgType(); - } - } - } - if(complexList!=null){ - String cfgType = null; - for(AppComplexFeatureCfg cfg:complexList){ - if(!cfg.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"3",cfg.getCfgType()}); - cfgType = cfg.getCfgType();0. - - } - } - }*/ + + /* + * if(ipRangeList!=null){ String cfgType = null; for(AppIpCfg + * ip:ipRangeList){ if(!ip.getCfgType().equals(cfgType)){ + * tabList.add(new String[]{"1",ip.getCfgType()}); cfgType = + * ip.getCfgType(); } } } if(strList!=null){ String cfgType = null; + * for(AppStringFeatureCfg cfg:strList){ + * if(!cfg.getCfgType().equals(cfgType)){ tabList.add(new + * String[]{"2",cfg.getCfgType()}); cfgType = cfg.getCfgType(); } } } + * if(complexList!=null){ String cfgType = null; + * for(AppComplexFeatureCfg cfg:complexList){ + * if(!cfg.getCfgType().equals(cfgType)){ tabList.add(new + * String[]{"3",cfg.getCfgType()}); cfgType = cfg.getCfgType();0. + * + * } } } + */ model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/app/appSubFeatureList"; } - - //appfeature配置导出 + + // appfeature配置导出 @RequestMapping(value = "exportFeature") - public void exportFeature(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")AppFeatureIndex entity,String ids,RedirectAttributes redirectAttributes){ + public void exportFeature(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AppFeatureIndex entity, String ids, RedirectAttributes redirectAttributes) { try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=appMultiFeatureCfgService.findAppByFeatureIndexList(ids); - }else{ - Page pageInfo=new Page(request, response,"r"); + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = appMultiFeatureCfgService.findAppByFeatureIndexList(ids); + } else { + Page pageInfo = new Page(request, response, "r"); pageInfo.setPageNo(1); pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); Page page = appMultiFeatureCfgService.findAppFeatureIndexList(pageInfo, entity); - ipLists=page.getList(); + ipLists = page.getList(); } - - for(AppFeatureIndex feature:ipLists){ - SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(feature.getSpecServiceId()); - feature.setAppName(app.getSpecServiceName()); + + for (AppFeatureIndex feature : ipLists) { + SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(feature.getSpecServiceId()); + feature.setAppName(app.getSpecServiceName()); + } + String cfgIndexInfoNoExport = ",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String appComplexNoExport = ",do_log,block_type,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",do_log,block_type,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), AppFeatureIndex.class); + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + List ipList = new ArrayList(); + List keywordList = new ArrayList(); + List strList = new ArrayList(); + for (AppFeatureIndex cfg : ipLists) { + Map maps = appMultiFeatureCfgService.exportFeature(cfg); + if (entity.getFunctionId() != 567) { + keywordList.addAll(maps.get("APP_KEYWORDS")); + } else { + strList.addAll(maps.get("APP_DK_GL")); } - String cfgIndexInfoNoExport=",letter,whether_area_block,classification,attribute,label,do_log,block_type,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String appComplexNoExport=",do_log,block_type,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,block_type,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), AppFeatureIndex.class); - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - List ipList=new ArrayList(); - List keywordList=new ArrayList(); - List strList=new ArrayList(); - for (AppFeatureIndex cfg : ipLists) { - Map maps=appMultiFeatureCfgService.exportFeature(cfg); - if(entity.getFunctionId()!=567){ - keywordList.addAll(maps.get("APP_KEYWORDS")); - }else{ - strList.addAll(maps.get("APP_DK_GL")); - } - ipList.addAll(maps.get("APP_IP_RANGE")); - } - dataMap.put(entity.getMenuNameCode(), ipLists); - if(entity.getFunctionId()!=564 && entity.getFunctionId()!=567 ){ - keywordList=replaceKeyList(keywordList); - titleList.add("APP_IP_RANGE"); - classMap.put("APP_IP_RANGE", IpPortCfg.class); - noExportMap.put("APP_IP_RANGE",ipPortInfoNoExport); - dataMap.put("APP_IP_RANGE", ipList); - } - if(entity.getFunctionId()==563){ - titleList.add("APP_PAYLOAD"); - classMap.put("APP_PAYLOAD", AppComplexFeatureCfg.class); - noExportMap.put("APP_PAYLOAD",appComplexNoExport); - dataMap.put("APP_PAYLOAD", keywordList); - }else if(entity.getFunctionId()==565){ - titleList.add("APP_HTTP"); - classMap.put("APP_HTTP", AppComplexFeatureCfg.class); - noExportMap.put("APP_HTTP",appComplexNoExport); - dataMap.put("APP_HTTP", keywordList); - }else if(entity.getFunctionId()==566){ - titleList.add("APP_SSL"); - classMap.put("APP_SSL", AppComplexFeatureCfg.class); - noExportMap.put("APP_SSL",appComplexNoExport); - dataMap.put("APP_SSL", keywordList); - }else if(entity.getFunctionId()==564){ - keywordList=replaceKeyList(keywordList); - titleList.add("APP_DNS"); - classMap.put("APP_DNS", AppComplexFeatureCfg.class); - noExportMap.put("APP_DNS",appComplexNoExport); - dataMap.put("APP_DNS", keywordList); - }else if(entity.getFunctionId()==567){ - strList=replaceFeatureList(strList); - appComplexNoExport=appComplexNoExport+"district,"; - titleList.add("APP_DK"); - classMap.put("APP_DK", AppStringFeatureCfg.class); - noExportMap.put("APP_DK",appComplexNoExport); - dataMap.put("APP_DK", strList); - } - - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + ipList.addAll(maps.get("APP_IP_RANGE")); + } + dataMap.put(entity.getMenuNameCode(), ipLists); + if (entity.getFunctionId() != 564 && entity.getFunctionId() != 567) { + keywordList = replaceKeyList(keywordList); + titleList.add("APP_IP_RANGE"); + classMap.put("APP_IP_RANGE", IpPortCfg.class); + noExportMap.put("APP_IP_RANGE", ipPortInfoNoExport); + dataMap.put("APP_IP_RANGE", ipList); + } + if (entity.getFunctionId() == 563) { + titleList.add("APP_PAYLOAD"); + classMap.put("APP_PAYLOAD", AppComplexFeatureCfg.class); + noExportMap.put("APP_PAYLOAD", appComplexNoExport); + dataMap.put("APP_PAYLOAD", keywordList); + } else if (entity.getFunctionId() == 565) { + titleList.add("APP_HTTP"); + classMap.put("APP_HTTP", AppComplexFeatureCfg.class); + noExportMap.put("APP_HTTP", appComplexNoExport); + dataMap.put("APP_HTTP", keywordList); + } else if (entity.getFunctionId() == 566) { + titleList.add("APP_SSL"); + classMap.put("APP_SSL", AppComplexFeatureCfg.class); + noExportMap.put("APP_SSL", appComplexNoExport); + dataMap.put("APP_SSL", keywordList); + } else if (entity.getFunctionId() == 564) { + keywordList = replaceKeyList(keywordList); + titleList.add("APP_DNS"); + classMap.put("APP_DNS", AppComplexFeatureCfg.class); + noExportMap.put("APP_DNS", appComplexNoExport); + dataMap.put("APP_DNS", keywordList); + } else if (entity.getFunctionId() == 567) { + strList = replaceFeatureList(strList); + appComplexNoExport = appComplexNoExport + "district,"; + titleList.add("APP_DK"); + classMap.put("APP_DK", AppStringFeatureCfg.class); + noExportMap.put("APP_DK", appComplexNoExport); + dataMap.put("APP_DK", strList); + } + + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } } catch (Exception e) { - logger.error("Appfeature export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + logger.error("Appfeature export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } - - public static List replaceKeyList(List list){ + + public static List replaceKeyList(List list) { for (int i = 0; i < list.size(); i++) { - AppComplexFeatureCfg base=(AppComplexFeatureCfg)list.get(i); + AppComplexFeatureCfg base = (AppComplexFeatureCfg) list.get(i); base.setIsHex(base.getIsHexbin()); base.setIsCaseInsenstive(base.getIsHexbin()); - base.setCfgKeywords(Functions.replace(base.getCfgKeywords(), "***and***"," ")); - } + base.setCfgKeywords(Functions.replace(base.getCfgKeywords(), "***and***", " ")); + } return list; } - - public static List replaceFeatureList(List list){ + + public static List replaceFeatureList(List list) { for (int i = 0; i < list.size(); i++) { - AppStringFeatureCfg base=(AppStringFeatureCfg)list.get(i); + AppStringFeatureCfg base = (AppStringFeatureCfg) list.get(i); base.setIsHex(base.getIsHexbin()); base.setIsCaseInsenstive(base.getIsHexbin()); - base.setCfgKeywords(Functions.replace(base.getCfgKeywords(), "***and***"," ")); - } + base.setCfgKeywords(Functions.replace(base.getCfgKeywords(), "***and***", " ")); + } return list; } - - + } diff --git a/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java b/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java index 03f8275f5..8a4456ec6 100644 --- a/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java +++ b/src/main/java/com/nis/web/controller/configuration/BasicProtocolController.java @@ -35,6 +35,7 @@ import com.nis.web.security.UserUtils; /** * 基础协议控制类 + * * @author wx * */ @@ -43,52 +44,57 @@ import com.nis.web.security.UserUtils; public class BasicProtocolController extends BaseController { /** * app策略列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"list"}) - public String policyCfgList(Model model,@ModelAttribute("cfg")AppPolicyCfg cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "list" }) + public String policyCfgList(Model model, @ModelAttribute("cfg") AppPolicyCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appCfgService.findAppPolicyList(searchPage, cfg); -// for(AppPolicyCfg entity:page.getList()){ -// SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); -// if(app!=null) { -// entity.setAppName(app.getSpecServiceName()); -// } -// -// } + // for(AppPolicyCfg entity:page.getList()){ + // SpecificServiceCfg app = + // specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); + // if(app!=null) { + // entity.setAppName(app.getSpecServiceName()); + // } + // + // } model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/basicprotocol/list"; } + /** * 查询APP策略IP子配置 + * * @param model * @param cfgId * @param index * @return */ - @RequestMapping(value = {"ajaxIpList"}) - public String ajaxSslSubList(Model model,Long cfgId,Integer index,Integer compileId) { - AppPolicyCfg cfg = appCfgService.getAppPolicyCfg(cfgId,compileId); + @RequestMapping(value = { "ajaxIpList" }) + public String ajaxSslSubList(Model model, Long cfgId, Integer index, Integer compileId) { + AppPolicyCfg cfg = appCfgService.getAppPolicyCfg(cfgId, compileId); List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getNtcSubscribeIdCfgList()!=null){ + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg ntc:cfg.getNtcSubscribeIdCfgList()){ - if(!ntc.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",ntc.getCfgType()}); + for (NtcSubscribeIdCfg ntc : cfg.getNtcSubscribeIdCfgList()) { + if (!ntc.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", ntc.getCfgType() }); cfgType = ntc.getCfgType(); } } @@ -98,27 +104,31 @@ public class BasicProtocolController extends BaseController { model.addAttribute("tabList", tabList); return "/cfg/basicprotocol/basicProtocolSubList"; } + /** * 策略配置表单 + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"form"}) - @RequiresPermissions(value={"basicprotocol:config"}) - public String policyCfgForm(Model model,String ids,AppPolicyCfg entity) { - if(StringUtils.isNotBlank(ids)){ - entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids),null); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + @RequestMapping(value = { "form" }) + @RequiresPermissions(value = { "basicprotocol:config" }) + public String policyCfgForm(Model model, String ids, AppPolicyCfg entity) { + if (StringUtils.isNotBlank(ids)) { + entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids), null); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/basicprotocol/form"; } + /** * 策略配置新增修改 + * * @param model * @param request * @param response @@ -126,34 +136,37 @@ public class BasicProtocolController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"save"}) - @RequiresPermissions(value={"basicprotocol:config"}) - public String saveAppPolicyCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppPolicyCfg entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "save" }) + @RequiresPermissions(value = { "basicprotocol:config" }) + public String saveAppPolicyCfg(Model model, HttpServletRequest request, HttpServletResponse response, + AppPolicyCfg entity, RedirectAttributes redirectAttributes) { try { - SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); - if(specificService!=null){ + SpecificServiceCfg specificService = specificServiceCfgService + .getBySpecServiceId(entity.getSpecServiceId()); + if (specificService != null) { entity.setAppCode(specificService.getSpecServiceCode()); } appCfgService.saveOrUpdateAppPolicyCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("基础协议信息保存失败",e); - if(e instanceof MaatConvertException) { -// addMessage(redirectAttributes,e.getMessage()); - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + logger.error("基础协议信息保存失败", e); + if (e instanceof MaatConvertException) { + // addMessage(redirectAttributes,e.getMessage()); + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/basicprotocol/list?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/basicprotocol/list?functionId=" + entity.getFunctionId(); } + /** * 策略配置审核 + * * @param isAudit * @param isValid * @param ids @@ -161,21 +174,16 @@ public class BasicProtocolController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"audit"}) - @RequiresPermissions(value={"basicprotocol:confirm"}) - public String auditAppPolicyCfg(Model model,@ModelAttribute("cfg")AppPolicyCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + @RequestMapping(value = { "audit" }) + @RequiresPermissions(value = { "basicprotocol:confirm" }) + public String auditAppPolicyCfg(Model model, @ModelAttribute("cfg") AppPolicyCfg cfg, Integer isValid, + Integer isAudit, String ids, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletResponse response, HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { AppPolicyCfg entity = new AppPolicyCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = appCfgService.getAppPolicyCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = appCfgService.getAppPolicyCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); @@ -183,138 +191,167 @@ public class BasicProtocolController extends BaseController { entity.setFunctionId(functionId); entity.setConfigType(Constants.SPECIFIC_SERVICE_CFG_TYPE_BASIC_PROTOCOL); try { - appCfgService.auditAppPolicyCfg(entity,isAudit); - addMessage(redirectAttributes,"success","audit_success"); + appCfgService.auditAppPolicyCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - if(e instanceof MaatConvertException) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.info("app策略配置下发失败:"+e.getMessage());; - addMessage(redirectAttributes,"error","request_service_failed"); - }else { + logger.info("app策略配置下发失败:" + e.getMessage()); + ; + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("app策略配置下发失败",e); - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("app策略配置下发失败", e); + addMessage(redirectAttributes, "error", "audit_failed"); } - + } } - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return policyCfgList(model, cfg, request, response); } - return "redirect:" + adminPath +"/basicprotocol/list?functionId="+functionId; + return "redirect:" + adminPath + "/basicprotocol/list?functionId=" + functionId; } + /** * 策略配置删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateValid"}) - @RequiresPermissions(value={"basicprotocol:config"}) - public String updateAppPolicyCfgValid(Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "updateValid" }) + @RequiresPermissions(value = { "basicprotocol:config" }) + public String updateAppPolicyCfgValid(Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { try { - appCfgService.updateAppPolicyCfgValid(isValid,ids,functionId); - addMessage(redirectAttributes,"success","delete_success"); + appCfgService.updateAppPolicyCfgValid(isValid, ids, functionId); + addMessage(redirectAttributes, "success", "delete_success"); } catch (Exception e) { - logger.error("基础协议信息保存失败",e); - if(e instanceof MaatConvertException) { + logger.error("基础协议信息保存失败", e); + if (e instanceof MaatConvertException) { e.printStackTrace(); - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else { e.printStackTrace(); - addMessage(redirectAttributes,"error","delete_failed"); + addMessage(redirectAttributes, "error", "delete_failed"); } } - return "redirect:" + adminPath +"/basicprotocol/list?functionId="+functionId; + return "redirect:" + adminPath + "/basicprotocol/list?functionId=" + functionId; } - - //ip配置导出 - @RequestMapping(value = "exportIpAddr") - public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")AppPolicyCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=appCfgService.findAppByPolicyList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = appCfgService.findAppPolicyList(pageInfo, entity); - ipLists=page.getList(); - } - for(AppPolicyCfg policy:ipLists){ - SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); - if(app!=null) { - policy.setAppName(app.getSpecServiceName()); - } - - } - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_IP"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), AppPolicyCfg.class); - classMap.put("NTC_IP", IpPortCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - String cfgIndexInfoNoExport=",encrypted_tunnel_behavior,behaviour_type,social_app,behaviour_type,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String subscribeInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_IP", ipPortInfoNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", subscribeInfoNoExport); - List ipList=new ArrayList(); - List subscribeInfoList=new ArrayList(); - for (AppPolicyCfg cfg : ipLists) { - AppPolicyCfg cfgIndexInfo=appCfgService.exportIpInfo(cfg); - ipList.addAll(cfgIndexInfo.getIpPortList()); - subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); - } - subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_IP", ipList); - dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); - - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("ip addr export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + + // ip配置导出 + @RequestMapping(value = "exportIpAddr") + public void exportIpAddr(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AppPolicyCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = appCfgService.findAppByPolicyList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = appCfgService.findAppPolicyList(pageInfo, entity); + ipLists = page.getList(); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + for (AppPolicyCfg policy : ipLists) { + SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); + if (app != null) { + policy.setAppName(app.getSpecServiceName()); + } + + } + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_IP"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put(entity.getMenuNameCode(), AppPolicyCfg.class); + classMap.put("NTC_IP", IpPortCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + String cfgIndexInfoNoExport = ",encrypted_tunnel_behavior,behaviour_type,social_app,behaviour_type,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String subscribeInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_IP", ipPortInfoNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", subscribeInfoNoExport); + List ipList = new ArrayList(); + List subscribeInfoList = new ArrayList(); + for (AppPolicyCfg cfg : ipLists) { + AppPolicyCfg cfgIndexInfo = appCfgService.exportIpInfo(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); + } + subscribeInfoList = BaseStringCfg.baseHexList(subscribeInfoList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_IP", ipList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("ip addr export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); } - + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + } diff --git a/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java b/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java index 1144e00b4..27b5b6e4f 100644 --- a/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java +++ b/src/main/java/com/nis/web/controller/configuration/EncryptedTunnelBehaviorController.java @@ -37,6 +37,7 @@ import com.nis.web.security.UserUtils; /** * 加密隧道行为控制类 + * * @author wx * */ @@ -45,103 +46,117 @@ import com.nis.web.security.UserUtils; public class EncryptedTunnelBehaviorController extends BaseController { /** * app策略列表 + * * @param model * @param cfg * @param request * @param response * @return */ - @RequestMapping(value = {"list"}) - public String policyCfgList(Model model,@ModelAttribute("cfg")AppPolicyCfg cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"r"); + @RequestMapping(value = { "list" }) + public String policyCfgList(Model model, @ModelAttribute("cfg") AppPolicyCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "r"); Page page = appCfgService.findAppPolicyList(searchPage, cfg); -// for(AppPolicyCfg entity:page.getList()){ -// SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); -// if(app!=null) { -// entity.setAppName(app.getSpecServiceName()); -// } -// } -// //查找社交应用的所有有效二级特定服务 -// SpecificServiceCfg second=new SpecificServiceCfg(); -// for(SysDataDictionaryItem dict:DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) { -// if(Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR.equals(dict.getItemValue())) { -// second.setCfgType(Integer.parseInt(dict.getItemCode())); -// break; -// } -// } -// second.setIsValid(Constants.VALID_YES); -// second.setIsLeaf(1); -// List secondList=specificServiceCfgService.findAllSpecificServiceCfg(second, null); -// //遍历,找到匹配项后将行为设置进去 -// for(AppPolicyCfg entity:page.getList()){ -// if(entity.getBehavCode()==null) continue; -// for(SpecificServiceCfg secondCfg:secondList) { -// if(secondCfg.getSpecServiceCode()==null) continue; -// if(secondCfg.getSpecServiceCode().intValue()==entity.getBehavCode().intValue()) { -// entity.setBehavName(secondCfg.getSpecServiceName()); -// break; -// } -// } -// } + // for(AppPolicyCfg entity:page.getList()){ + // SpecificServiceCfg app = + // specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); + // if(app!=null) { + // entity.setAppName(app.getSpecServiceName()); + // } + // } + // //查找社交应用的所有有效二级特定服务 + // SpecificServiceCfg second=new SpecificServiceCfg(); + // for(SysDataDictionaryItem + // dict:DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) { + // if(Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR.equals(dict.getItemValue())) + // { + // second.setCfgType(Integer.parseInt(dict.getItemCode())); + // break; + // } + // } + // second.setIsValid(Constants.VALID_YES); + // second.setIsLeaf(1); + // List + // secondList=specificServiceCfgService.findAllSpecificServiceCfg(second, + // null); + // //遍历,找到匹配项后将行为设置进去 + // for(AppPolicyCfg entity:page.getList()){ + // if(entity.getBehavCode()==null) continue; + // for(SpecificServiceCfg secondCfg:secondList) { + // if(secondCfg.getSpecServiceCode()==null) continue; + // if(secondCfg.getSpecServiceCode().intValue()==entity.getBehavCode().intValue()) + // { + // entity.setBehavName(secondCfg.getSpecServiceName()); + // break; + // } + // } + // } model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/encryptedtunnelbehav/list"; } + /** * 查询APP策略IP子配置 + * * @param model * @param cfgId * @param index * @return */ - @RequestMapping(value = {"ajaxIpList"}) - public String ajaxSslSubList(Model model,Long cfgId,Integer index,Integer compileId) { - AppPolicyCfg cfg = appCfgService.getAppPolicyCfg(cfgId,compileId); + @RequestMapping(value = { "ajaxIpList" }) + public String ajaxSslSubList(Model model, Long cfgId, Integer index, Integer compileId) { + AppPolicyCfg cfg = appCfgService.getAppPolicyCfg(cfgId, compileId); List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getNtcSubscribeIdCfgList()!=null){ + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg ntc:cfg.getNtcSubscribeIdCfgList()){ - if(!ntc.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",ntc.getCfgType()}); + for (NtcSubscribeIdCfg ntc : cfg.getNtcSubscribeIdCfgList()) { + if (!ntc.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", ntc.getCfgType() }); cfgType = ntc.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/encryptedtunnelbehav/encrypedTunnelSubList"; } + /** * 策略配置表单 + * * @param model * @param ids * @param entity * @return */ - @RequestMapping(value = {"form"}) - @RequiresPermissions(value={"encryptedtunnelbehav:config"}) - public String policyCfgForm(Model model,String ids,AppPolicyCfg entity) { - if(StringUtils.isNotBlank(ids)){ - entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids),null); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + @RequestMapping(value = { "form" }) + @RequiresPermissions(value = { "encryptedtunnelbehav:config" }) + public String policyCfgForm(Model model, String ids, AppPolicyCfg entity) { + if (StringUtils.isNotBlank(ids)) { + entity = appCfgService.getAppPolicyCfg(Long.parseLong(ids), null); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/encryptedtunnelbehav/form"; } + /** * 策略配置新增修改 + * * @param model * @param request * @param response @@ -149,33 +164,36 @@ public class EncryptedTunnelBehaviorController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"save"}) - @RequiresPermissions(value={"encryptedtunnelbehav:config"}) - public String saveAppPolicyCfg(Model model,HttpServletRequest request,HttpServletResponse response, - AppPolicyCfg entity,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "save" }) + @RequiresPermissions(value = { "encryptedtunnelbehav:config" }) + public String saveAppPolicyCfg(Model model, HttpServletRequest request, HttpServletResponse response, + AppPolicyCfg entity, RedirectAttributes redirectAttributes) { try { - SpecificServiceCfg specificService = specificServiceCfgService.getBySpecServiceId(entity.getSpecServiceId()); - if(specificService!=null){ + SpecificServiceCfg specificService = specificServiceCfgService + .getBySpecServiceId(entity.getSpecServiceId()); + if (specificService != null) { entity.setAppCode(specificService.getSpecServiceCode()); } appCfgService.saveOrUpdateAppPolicyCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("加密隧道信息保存失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + logger.error("加密隧道信息保存失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/encryptedtunnelbehav/list?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/encryptedtunnelbehav/list?functionId=" + entity.getFunctionId(); } + /** * 策略配置审核 + * * @param isAudit * @param isValid * @param ids @@ -183,21 +201,16 @@ public class EncryptedTunnelBehaviorController extends BaseController { * @param redirectAttributes * @return */ - @RequestMapping(value = {"audit"}) - @RequiresPermissions(value={"encryptedtunnelbehav:confirm"}) - public String auditAppPolicyCfg(Model model,@ModelAttribute("cfg")AppPolicyCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + @RequestMapping(value = { "audit" }) + @RequiresPermissions(value = { "encryptedtunnelbehav:confirm" }) + public String auditAppPolicyCfg(Model model, @ModelAttribute("cfg") AppPolicyCfg cfg, Integer isValid, + Integer isAudit, String ids, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletResponse response, HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { AppPolicyCfg entity = new AppPolicyCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = appCfgService.getAppPolicyCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = appCfgService.getAppPolicyCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); @@ -205,157 +218,187 @@ public class EncryptedTunnelBehaviorController extends BaseController { entity.setFunctionId(functionId); entity.setConfigType(Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR); try { - appCfgService.auditAppPolicyCfg(entity,isAudit); - addMessage(redirectAttributes,"success","audit_success"); + appCfgService.auditAppPolicyCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - if(e instanceof MaatConvertException) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.info("加密隧道配置下发失败:"+e.getMessage());; - addMessage(redirectAttributes,"error","request_service_failed"); - }else { + logger.info("加密隧道配置下发失败:" + e.getMessage()); + ; + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("加密隧道配置下发失败",e); - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("加密隧道配置下发失败", e); + addMessage(redirectAttributes, "error", "audit_failed"); } } } - - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return policyCfgList(model, cfg, request, response); } - - return "redirect:" + adminPath +"/encryptedtunnelbehav/list?functionId="+functionId; + + return "redirect:" + adminPath + "/encryptedtunnelbehav/list?functionId=" + functionId; } + /** * 策略配置删除 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateValid"}) - @RequiresPermissions(value={"encryptedtunnelbehav:config"}) - public String updateAppPolicyCfgValid(Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "updateValid" }) + @RequiresPermissions(value = { "encryptedtunnelbehav:config" }) + public String updateAppPolicyCfgValid(Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { try { - appCfgService.updateAppPolicyCfgValid(isValid,ids,functionId); + appCfgService.updateAppPolicyCfgValid(isValid, ids, functionId); } catch (Exception e) { - logger.error("加密隧道协议保存失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else { - addMessage(redirectAttributes,"error","delete_failed"); + logger.error("加密隧道协议保存失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else { + addMessage(redirectAttributes, "error", "delete_failed"); } } - return "redirect:" + adminPath +"/encryptedtunnelbehav/list?functionId="+functionId; + return "redirect:" + adminPath + "/encryptedtunnelbehav/list?functionId=" + functionId; } - - //ip配置导出 + + // ip配置导出 @RequestMapping(value = "exportIpAddr") - public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")AppPolicyCfg entity,String ids,RedirectAttributes redirectAttributes){ + public void exportIpAddr(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AppPolicyCfg entity, String ids, RedirectAttributes redirectAttributes) { try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=appCfgService.findAppByPolicyList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = appCfgService.findAppPolicyList(pageInfo, entity); - ipLists=page.getList(); + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = appCfgService.findAppByPolicyList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = appCfgService.findAppPolicyList(pageInfo, entity); + ipLists = page.getList(); + } + for (AppPolicyCfg policy : ipLists) { + SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); + if (app != null) { + policy.setBehaviorName(app.getSpecServiceName()); } - for(AppPolicyCfg policy:ipLists){ - SpecificServiceCfg app = specificServiceCfgService.getBySpecServiceId(policy.getSpecServiceId()); - if(app!=null) { - policy.setBehaviorName(app.getSpecServiceName()); - } + } + // 查找社交应用的所有有效二级特定服务 + SpecificServiceCfg second = new SpecificServiceCfg(); + for (SysDataDictionaryItem dict : DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) { + if (Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR.equals(dict.getItemValue())) { + second.setCfgType(Integer.parseInt(dict.getItemCode())); + break; } - //查找社交应用的所有有效二级特定服务 - SpecificServiceCfg second=new SpecificServiceCfg(); - for(SysDataDictionaryItem dict:DictUtils.getDictList("SPECIFIC_SERVICE_CFG_TYPE")) { - if(Constants.SPECIFIC_SERVICE_CFG_TYPE_ENCRYPTED_TUNNEL_BEHAVIOR.equals(dict.getItemValue())) { - second.setCfgType(Integer.parseInt(dict.getItemCode())); + } + second.setIsValid(Constants.VALID_YES); + second.setIsLeaf(1); + List secondList = specificServiceCfgService.findAllSpecificServiceCfg(second, null); + // 遍历,找到匹配项后将行为设置进去 + for (AppPolicyCfg policy : ipLists) { + if (policy.getBehavCode() == null) + continue; + for (SpecificServiceCfg secondCfg : secondList) { + if (secondCfg.getSpecServiceCode() == null) + continue; + if (secondCfg.getSpecServiceCode().intValue() == policy.getBehavCode().intValue()) { + policy.setBehavName(secondCfg.getSpecServiceName()); break; } } - second.setIsValid(Constants.VALID_YES); - second.setIsLeaf(1); - List secondList=specificServiceCfgService.findAllSpecificServiceCfg(second, null); - //遍历,找到匹配项后将行为设置进去 - for(AppPolicyCfg policy:ipLists){ - if(policy.getBehavCode()==null) continue; - for(SpecificServiceCfg secondCfg:secondList) { - if(secondCfg.getSpecServiceCode()==null) continue; - if(secondCfg.getSpecServiceCode().intValue()==policy.getBehavCode().intValue()) { - policy.setBehavName(secondCfg.getSpecServiceName()); - break; - } - } - } - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_IP"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), AppPolicyCfg.class); - classMap.put("NTC_IP", IpPortCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - String cfgIndexInfoNoExport=",social_app,basic_protocol,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String subscribeInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_IP", ipPortInfoNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", subscribeInfoNoExport); - List ipList=new ArrayList(); - List subscribeInfoList=new ArrayList(); - for (AppPolicyCfg cfg : ipLists) { - AppPolicyCfg cfgIndexInfo=appCfgService.exportIpInfo(cfg); - ipList.addAll(cfgIndexInfo.getIpPortList()); - subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); - } - subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_IP", ipList); - dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); - - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + } + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_IP"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put(entity.getMenuNameCode(), AppPolicyCfg.class); + classMap.put("NTC_IP", IpPortCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + String cfgIndexInfoNoExport = ",social_app,basic_protocol,expression_type,match_method,whether_hexbinary,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String subscribeInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_IP", ipPortInfoNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", subscribeInfoNoExport); + List ipList = new ArrayList(); + List subscribeInfoList = new ArrayList(); + for (AppPolicyCfg cfg : ipLists) { + AppPolicyCfg cfgIndexInfo = appCfgService.exportIpInfo(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); + } + subscribeInfoList = BaseStringCfg.baseHexList(subscribeInfoList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_IP", ipList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } } catch (Exception e) { - logger.error("TunnelBehavior export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + logger.error("TunnelBehavior export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } - } diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java index 76f7e971e..05da5f890 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java @@ -42,211 +42,231 @@ import com.nis.web.service.configuration.DnsIpCfgService; @Controller @RequestMapping("${adminPath}/cfg/dnsIp") public class DnsIpCfgController extends BaseController { - - @RequestMapping(value = {"/list"}) - public String list(Model model,HttpServletRequest request - ,HttpServletResponse response,@ModelAttribute("cfg")DnsIpCfg entity - ,RedirectAttributes redirectAttributes){ - Page page = dnsIpCfgService.findPage(new Page(request, response,"r"), entity); + + @RequestMapping(value = { "/list" }) + public String list(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") DnsIpCfg entity, RedirectAttributes redirectAttributes) { + Page page = dnsIpCfgService.findPage(new Page(request, response, "r"), entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); return "/cfg/dnsIpCfgList"; } - @RequestMapping(value = {"/form"}) - @RequiresPermissions(value={"dns:fake:ip:config"}) - public String form(Model model,HttpServletRequest request - ,HttpServletResponse response,String ids,@ModelAttribute("cfg")DnsIpCfg cfg - ,RedirectAttributes redirectAttributes){ - if(!StringUtil.isEmpty(ids)){ + + @RequestMapping(value = { "/form" }) + @RequiresPermissions(value = { "dns:fake:ip:config" }) + public String form(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + @ModelAttribute("cfg") DnsIpCfg cfg, RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(ids)) { cfg = dnsIpCfgService.getDnsIpCfg(Long.parseLong(ids)); initUpdateFormCondition(model, cfg); - }else{ - initFormCondition(model,cfg); + } else { + initFormCondition(model, cfg); } - /*//获取所有响应策略信息 - List resStrategys=dnsResStrategyService.findDnsResStrategys(null, 1,1); - model.addAttribute("dnsResStrategys", resStrategys);*/ - //查询policyGroup列表,供响应策略选择 2018-07-24 经确定IP欺骗只能选择非0号分组 - List policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(1); + /* + * //获取所有响应策略信息 List + * resStrategys=dnsResStrategyService.findDnsResStrategys(null, 1,1); + * model.addAttribute("dnsResStrategys", resStrategys); + */ + // 查询policyGroup列表,供响应策略选择 2018-07-24 经确定IP欺骗只能选择非0号分组 + List policyGroups = policyGroupInfoService.findPolicyGroupInfosByType(1); model.addAttribute("policyGroups", policyGroups); model.addAttribute("_cfg", cfg); return "/cfg/dnsIpCfgForm"; } - + /** * 初始化一条dns fakeip配置 + * * @return */ @ResponseBody - @RequestMapping(value = {"initSpoofingIp"}) - public String initSpoofingIp(){ - Properties msg=getMsgProp(); + @RequestMapping(value = { "initSpoofingIp" }) + public String initSpoofingIp() { + Properties msg = getMsgProp(); try { - DnsIpCfg entity=new DnsIpCfg(); + DnsIpCfg entity = new DnsIpCfg(); entity.setIsAudit(1); entity.setIsValid(1); entity.setDnsStrategyId(0); - List list=dnsIpCfgService.findDnsIpCfg(entity); - if(StringUtil.isEmpty(list)) { + List list = dnsIpCfgService.findDnsIpCfg(entity); + if (StringUtil.isEmpty(list)) { dnsIpCfgService.saveAndAudit(); } } catch (Exception e) { - logger.error("初始化Spoofing ip失败",e); + logger.error("初始化Spoofing ip失败", e); e.printStackTrace(); - if(e instanceof MaatConvertException) { + if (e instanceof MaatConvertException) { return msg.getProperty("request_service_failed"); - }else { + } else { return msg.getProperty("save_failed"); } } return "success"; } - @RequestMapping(value = {"/saveOrUpdate"}) - @RequiresPermissions(value={"dns:fake:ip:config"}) - public String saveOrUpdate(Model model,HttpServletRequest request - ,HttpServletResponse response, - @ModelAttribute("cfg")DnsIpCfg cfg - ,RedirectAttributes redirectAttributes){ - try{ + + @RequestMapping(value = { "/saveOrUpdate" }) + @RequiresPermissions(value = { "dns:fake:ip:config" }) + public String saveOrUpdate(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") DnsIpCfg cfg, RedirectAttributes redirectAttributes) { + try { dnsIpCfgService.saveOrUpdate(cfg); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - logger.error("信息保存失败",e); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + logger.error("信息保存失败", e); e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/cfg/dnsIp/list?functionId="+cfg.getFunctionId(); + + return "redirect:" + adminPath + "/cfg/dnsIp/list?functionId=" + cfg.getFunctionId(); } - - @RequestMapping(value = {"/delete"}) - @RequiresPermissions(value={"dns:fake:ip:config"}) - public String delete(Integer isAudit,Integer isValid - ,String ids,Integer functionId - ,RedirectAttributes redirectAttributes){ - dnsIpCfgService.delete(isAudit,isValid,ids,functionId); - return "redirect:" + adminPath +"/cfg/dnsIp/list?functionId="+functionId; + + @RequestMapping(value = { "/delete" }) + @RequiresPermissions(value = { "dns:fake:ip:config" }) + public String delete(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { + dnsIpCfgService.delete(isAudit, isValid, ids, functionId); + return "redirect:" + adminPath + "/cfg/dnsIp/list?functionId=" + functionId; } - @RequestMapping(value = {"/audit"}) - @RequiresPermissions(value={"dns:fake:ip:confirm"}) - public String audit(Model model,@ModelAttribute("cfg")DnsIpCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + + @RequestMapping(value = { "/audit" }) + @RequiresPermissions(value = { "dns:fake:ip:confirm" }) + public String audit(Model model, @ModelAttribute("cfg") DnsIpCfg cfg, Integer isValid, Integer isAudit, String ids, + Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - dnsIpCfgService.audit(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); + dnsIpCfgService.audit(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { e.printStackTrace(); - logger.info("dns fake ip配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error","request_service_failed"); + logger.info("dns fake ip配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "request_service_failed"); } catch (Exception e) { e.printStackTrace(); - logger.info("dns fake ip配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error", "audit_failed"); + logger.info("dns fake ip配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); try { BeanUtils.copyProperties(searchPage, auditPage); - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - - return list(model, request, response,cfg, redirectAttributes); + + return list(model, request, response, cfg, redirectAttributes); } - return "redirect:" + adminPath +"/cfg/dnsIp/list?functionId="+functionId; + return "redirect:" + adminPath + "/cfg/dnsIp/list?functionId=" + functionId; } - + /** * DNS阻断无策略时检验 + * * @param entity * @param request * @param response * @return */ @ResponseBody - @RequestMapping(value = {"/dnsNoStrategyCheck"}) - public boolean dnsNoStrategyCheck(DnsIpCfg entity, HttpServletRequest request, HttpServletResponse response){ + @RequestMapping(value = { "/dnsNoStrategyCheck" }) + public boolean dnsNoStrategyCheck(DnsIpCfg entity, HttpServletRequest request, HttpServletResponse response) { entity.setIsAudit(1); entity.setIsValid(1); List list = dnsIpCfgService.findDnsIpCfg(entity); - if(list.size() > 0){ + if (list.size() > 0) { return true; } return false; } - - //dnsIp配置导出 - @RequestMapping(value = "exportDnsIp") - public void exportDns(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")DnsIpCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=dnsIpCfgService.findByPage(ids); - }else{ - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = dnsIpCfgService.findPage(pageInfo, entity); - ipLists=page.getList(); - } - - for (int i = 0; i < ipLists.size(); i++) { - if(StringUtil.isEmpty(ipLists.get(i).getDnsStrategyName())){ - Properties msgProp = getMsgProp(); - ipLists.get(i).setDnsStrategyName(msgProp.getProperty("default_group")); - } - } - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), DnsIpCfg.class); - String cfgIndexInfoNoExport=",whether_area_block,client_ip,port_pattern,client_port,server_port,ir_type,direction,protocol,do_log,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(), ipLists); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("DnsIp export failed",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "export_failed"); + // dnsIp配置导出 + @RequestMapping(value = "exportDnsIp") + public void exportDns(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") DnsIpCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = dnsIpCfgService.findByPage(ids); + } else { + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = dnsIpCfgService.findPage(pageInfo, entity); + ipLists = page.getList(); + } + + for (int i = 0; i < ipLists.size(); i++) { + if (StringUtil.isEmpty(ipLists.get(i).getDnsStrategyName())) { + Properties msgProp = getMsgProp(); + ipLists.get(i).setDnsStrategyName(msgProp.getProperty("default_group")); } } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), DnsIpCfg.class); + String cfgIndexInfoNoExport = ",whether_area_block,client_ip,port_pattern,client_port,server_port,ir_type,direction,protocol,do_log,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("DnsIp export failed", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "export_failed"); + } } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } } diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsResStrategyController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsResStrategyController.java index 7cf5f23a1..c87146bdd 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsResStrategyController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsResStrategyController.java @@ -33,189 +33,206 @@ import com.nis.web.controller.BaseController; /** * dns响应策略 + * * @author ddm * */ @Controller @RequestMapping("${adminPath}/maintenance/dnsResStrategy") -public class DnsResStrategyController extends BaseController { - - @RequestMapping(value = {"/form"}) - @RequiresPermissions(value={"dns:res:strategy:config"}) - public String from(Model model, - HttpServletRequest request, - HttpServletResponse response, - String ids, - @ModelAttribute("cfg")DnsResStrategy cfg - ,RedirectAttributes redirectAttributes){ - if(cfg == null){ - cfg=new DnsResStrategy(); +public class DnsResStrategyController extends BaseController { + + @RequestMapping(value = { "/form" }) + @RequiresPermissions(value = { "dns:res:strategy:config" }) + public String from(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + @ModelAttribute("cfg") DnsResStrategy cfg, RedirectAttributes redirectAttributes) { + if (cfg == null) { + cfg = new DnsResStrategy(); } - if(!StringUtil.isEmpty(ids)){ - cfg = dnsResStrategyService.getDnsResStrategy(Long.valueOf(ids),-1); + if (!StringUtil.isEmpty(ids)) { + cfg = dnsResStrategyService.getDnsResStrategy(Long.valueOf(ids), -1); initFormCondition(model, cfg); model.addAttribute("isAdd", false); - }else{ - /*//不存在响应策略为0的配置,则新策略时,cfgId默认为0 - DnsResStrategy dns0=dnsResStrategyService.getDnsResStrategy(0l,null); - if(dns0 == null){ - cfg.setCfgId(0l); - cfg.setCfgDesc("无策略"); - }*/ + } else { + /* + * //不存在响应策略为0的配置,则新策略时,cfgId默认为0 DnsResStrategy + * dns0=dnsResStrategyService.getDnsResStrategy(0l,null); if(dns0 == + * null){ cfg.setCfgId(0l); cfg.setCfgDesc("无策略"); } + */ initFormCondition(model, cfg); model.addAttribute("isAdd", true); } - - //查询policyGroup列表,供响应策略选择 -// List policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(1); - List policyGroups=policyGroupInfoService.findHasIpPolicyGroupInfosByType(1); + + // 查询policyGroup列表,供响应策略选择 + // List + // policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(1); + List policyGroups = policyGroupInfoService.findHasIpPolicyGroupInfosByType(1); model.addAttribute("policyGroups", policyGroups); - + model.addAttribute("_cfg", cfg); return "/cfg/maintenance/dnsResStrategy/form"; } - - @RequestMapping(value = {"/saveOrUpdate"}) - @RequiresPermissions(value={"dns:res:strategy:config"}) - public String saveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")DnsResStrategy cfg - ,RedirectAttributes redirectAttributes){ - try{ - + + @RequestMapping(value = { "/saveOrUpdate" }) + @RequiresPermissions(value = { "dns:res:strategy:config" }) + public String saveOrUpdate(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") DnsResStrategy cfg, RedirectAttributes redirectAttributes) { + try { + dnsResStrategyService.saveOrUpdate(cfg); - - addMessage(redirectAttributes,"success","save_success"); - }catch (MaatConvertException e) { - addMessage(redirectAttributes,"error", "request_service_failed"); + + addMessage(redirectAttributes, "success", "save_success"); + } catch (MaatConvertException e) { + addMessage(redirectAttributes, "error", "request_service_failed"); } catch (Exception e) { - addMessage(redirectAttributes,"error", "save_failed"); + addMessage(redirectAttributes, "error", "save_failed"); } - - return "redirect:" + adminPath +"/maintenance/dnsResStrategy/list?functionId="+cfg.getFunctionId(); + + return "redirect:" + adminPath + "/maintenance/dnsResStrategy/list?functionId=" + cfg.getFunctionId(); } - - @RequestMapping(value = {"/list"}) - public String list(Model model,HttpServletRequest request,HttpServletResponse response - ,@ModelAttribute("cfg")DnsResStrategy entity - ,RedirectAttributes redirectAttributes){ - //查询时left join policyGroup - Page page = dnsResStrategyService.findPage(new Page(request, response,"r"), entity); + + @RequestMapping(value = { "/list" }) + public String list(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") DnsResStrategy entity, RedirectAttributes redirectAttributes) { + // 查询时left join policyGroup + Page page = dnsResStrategyService.findPage(new Page(request, response, "r"), + entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); return "/cfg/maintenance/dnsResStrategy/list"; } - - @RequestMapping(value = {"/delete"}) - @RequiresPermissions(value={"dns:res:strategy:config"}) - public String delete(Integer isAudit,Integer isValid,String ids,Integer functionId - ,Model model,HttpServletRequest request - ,HttpServletResponse response - ,RedirectAttributes redirectAttributes){ - if(!StringUtil.isEmpty(ids)){ - dnsResStrategyService.delete(isAudit,isValid,ids,functionId); + + @RequestMapping(value = { "/delete" }) + @RequiresPermissions(value = { "dns:res:strategy:config" }) + public String delete(Integer isAudit, Integer isValid, String ids, Integer functionId, Model model, + HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(ids)) { + dnsResStrategyService.delete(isAudit, isValid, ids, functionId); } - - return "redirect:" + adminPath +"/maintenance/dnsResStrategy/list?functionId="+functionId; + + return "redirect:" + adminPath + "/maintenance/dnsResStrategy/list?functionId=" + functionId; } - - @RequestMapping(value = {"/audit"}) - @RequiresPermissions(value={"dns:res:strategy:confirm"}) - public String audit(Model model,@ModelAttribute("cfg")DnsResStrategy cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + + @RequestMapping(value = { "/audit" }) + @RequiresPermissions(value = { "dns:res:strategy:confirm" }) + public String audit(Model model, @ModelAttribute("cfg") DnsResStrategy cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - dnsResStrategyService.audit(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); + dnsResStrategyService.audit(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { - addMessage(redirectAttributes,"error", "request_service_failed"); + addMessage(redirectAttributes, "error", "request_service_failed"); } catch (Exception e) { - addMessage(redirectAttributes,"error", "audit_failed"); + addMessage(redirectAttributes, "error", "audit_failed"); } } - - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); try { BeanUtils.copyProperties(searchPage, auditPage); - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - - return list(model, request, response, cfg,redirectAttributes); + + return list(model, request, response, cfg, redirectAttributes); } - return "redirect:" + adminPath +"/maintenance/dnsResStrategy/list?functionId="+functionId; + return "redirect:" + adminPath + "/maintenance/dnsResStrategy/list?functionId=" + functionId; } + @ResponseBody @RequestMapping(value = "/validCfgId") public boolean validCfgId(Long cfgId) { - DnsResStrategy dns=dnsResStrategyService.getDnsResStrategy(cfgId,null); - if(dns == null ){ + DnsResStrategy dns = dnsResStrategyService.getDnsResStrategy(cfgId, null); + if (dns == null) { return false; - }else{ + } else { return true; } } - - //dns配置导出 + + // dns配置导出 @RequestMapping(value = "exportDns") - public void exportDns(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")DnsResStrategy entity,String ids,RedirectAttributes redirectAttributes){ + public void exportDns(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") DnsResStrategy entity, String ids, RedirectAttributes redirectAttributes) { try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=dnsResStrategyService.findByPage(ids); - }else{ - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = dnsResStrategyService.findPage(pageInfo, entity); - ipLists=page.getList(); + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = dnsResStrategyService.findByPage(ids); + } else { + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = dnsResStrategyService.findPage(pageInfo, entity); + ipLists = page.getList(); + } + + for (int i = 0; i < ipLists.size(); i++) { + ipLists.get(i).setMiTtlmax( + String.valueOf(ipLists.get(i).getMinTtl()) + "-" + String.valueOf(ipLists.get(i).getMaxTtl())); + ipLists.get(i).setDnsId(String.valueOf(ipLists.get(i).getCfgId())); + } + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), DnsResStrategy.class); + String cfgIndexInfoNoExport = ",cfg_id,valid_identifier,do_log,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,&config_describe:policy_name-"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + if (entity.gethColumns().contains("policy_name")) { + cfgIndexInfoNoExport = ",config_describe," + cfgIndexInfoNoExport; } - - for (int i = 0; i < ipLists.size(); i++) { - ipLists.get(i).setMiTtlmax(String.valueOf(ipLists.get(i).getMinTtl())+"-"+String.valueOf(ipLists.get(i).getMaxTtl())); - ipLists.get(i).setDnsId( String.valueOf(ipLists.get(i).getCfgId())); - } - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), DnsResStrategy.class); - String cfgIndexInfoNoExport=",cfg_id,valid_identifier,do_log,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(),ipLists); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } } catch (Exception e) { - logger.error("Dns export failed",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "export_failed"); + logger.error("Dns export failed", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "export_failed"); } } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } } diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/IpMultiplexPoolCfgController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/IpMultiplexPoolCfgController.java index 58b64100c..b9224b1fe 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/IpMultiplexPoolCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/IpMultiplexPoolCfgController.java @@ -34,213 +34,200 @@ import com.nis.web.service.basics.SysDictInfoService; */ @Controller @RequestMapping("${adminPath}/maintenance/ipMultiplexPoolCfg") -public class IpMultiplexPoolCfgController extends BaseController { - - @RequestMapping(value = {"/form"}) - @RequiresPermissions(value={"ip:mulitiplex:pool:config"}) - public String from(Model model, - HttpServletRequest request, - HttpServletResponse response, - String ids, - @ModelAttribute("cfg")IpMultiplexPoolCfg cfg){ - if(cfg == null){ - cfg=new IpMultiplexPoolCfg(); +public class IpMultiplexPoolCfgController extends BaseController { + + @RequestMapping(value = { "/form" }) + @RequiresPermissions(value = { "ip:mulitiplex:pool:config" }) + public String from(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + @ModelAttribute("cfg") IpMultiplexPoolCfg cfg) { + if (cfg == null) { + cfg = new IpMultiplexPoolCfg(); } - if(!StringUtil.isEmpty(ids)){ - cfg = ipMultiplexPoolCfgService.getIpMultiplexPoolCfg(Long.valueOf(ids),null); + if (!StringUtil.isEmpty(ids)) { + cfg = ipMultiplexPoolCfgService.getIpMultiplexPoolCfg(Long.valueOf(ids), null); initFormCondition(model, cfg); - }else{ + } else { initFormCondition(model, cfg); } - - //查询ip复用地址池配置的policyGroup列表 - List policyGroups=policyGroupInfoService.getHasAreaPolicyGroups(3); + + // 查询ip复用地址池配置的policyGroup列表 + List policyGroups = policyGroupInfoService.getHasAreaPolicyGroups(3); model.addAttribute("policyGroups", policyGroups); model.addAttribute("_cfg", cfg); return "/cfg/maintenance/ipMultiplexPool/form"; } - - @RequestMapping(value = {"/saveOrUpdate"}) - @RequiresPermissions(value={"ip:mulitiplex:pool:config"}) - public String saveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response,RedirectAttributes redirectAttributes, - @ModelAttribute("cfg")IpMultiplexPoolCfg cfg){ - try{ + + @RequestMapping(value = { "/saveOrUpdate" }) + @RequiresPermissions(value = { "ip:mulitiplex:pool:config" }) + public String saveOrUpdate(Model model, HttpServletRequest request, HttpServletResponse response, + RedirectAttributes redirectAttributes, @ModelAttribute("cfg") IpMultiplexPoolCfg cfg) { + try { // 设置省份信息 groupAreaService.setAreaCodeByGroupId(cfg); - + ipMultiplexPoolCfgService.saveOrUpdate(cfg); - - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ + + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/maintenance/ipMultiplexPoolCfg/list?functionId="+cfg.getFunctionId(); + + return "redirect:" + adminPath + "/maintenance/ipMultiplexPoolCfg/list?functionId=" + cfg.getFunctionId(); } - - @RequestMapping(value = {"/list"}) - public String list(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")IpMultiplexPoolCfg entity){ - //查询时left join policyGroup - Page page = ipMultiplexPoolCfgService.findPage(new Page(request, response,"r"), entity); + + @RequestMapping(value = { "/list" }) + public String list(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") IpMultiplexPoolCfg entity) { + // 查询时left join policyGroup + Page page = ipMultiplexPoolCfgService + .findPage(new Page(request, response, "r"), entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); return "/cfg/maintenance/ipMultiplexPool/list"; } - - @RequestMapping(value = {"/delete"}) - @RequiresPermissions(value={"ip:mulitiplex:pool:config"}) - public String delete(Integer isAudit,Integer isValid,String ids,Integer functionId,Model model,RedirectAttributes redirectAttributes - ,HttpServletRequest request,HttpServletResponse response){ - try{ - if(!StringUtil.isEmpty(ids)){ - ipMultiplexPoolCfgService.delete(isAudit,isValid,ids,functionId); + + @RequestMapping(value = { "/delete" }) + @RequiresPermissions(value = { "ip:mulitiplex:pool:config" }) + public String delete(Integer isAudit, Integer isValid, String ids, Integer functionId, Model model, + RedirectAttributes redirectAttributes, HttpServletRequest request, HttpServletResponse response) { + try { + if (!StringUtil.isEmpty(ids)) { + ipMultiplexPoolCfgService.delete(isAudit, isValid, ids, functionId); } - addMessage(redirectAttributes,"success","delete_success"); - }catch(Exception e){ - logger.error(e); - addMessage(redirectAttributes,"error", "delete_failed"); + addMessage(redirectAttributes, "success", "delete_success"); + } catch (Exception e) { + logger.error(e); + addMessage(redirectAttributes, "error", "delete_failed"); } - return "redirect:" + adminPath +"/maintenance/ipMultiplexPoolCfg/list?functionId="+functionId; + return "redirect:" + adminPath + "/maintenance/ipMultiplexPoolCfg/list?functionId=" + functionId; } - - @RequestMapping(value = {"/audit"}) - @RequiresPermissions(value={"ip:mulitiplex:pool:confirm"}) - public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(ids)){ + + @RequestMapping(value = { "/audit" }) + @RequiresPermissions(value = { "ip:mulitiplex:pool:confirm" }) + public String audit(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(ids)) { String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - ipMultiplexPoolCfgService.audit(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); + ipMultiplexPoolCfgService.audit(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { e.printStackTrace(); - logger.info("IP复用地址池配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error", "request_service_failed"); - }catch (Exception e) { + logger.info("IP复用地址池配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "request_service_failed"); + } catch (Exception e) { e.printStackTrace(); - logger.info("IP复用地址池配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error", "audit_failed"); + logger.info("IP复用地址池配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "audit_failed"); } } - + } - return "redirect:" + adminPath +"/maintenance/ipMultiplexPoolCfg/list?functionId="+functionId; + return "redirect:" + adminPath + "/maintenance/ipMultiplexPoolCfg/list?functionId=" + functionId; } + @ResponseBody @RequestMapping(value = "/validCfgId") public boolean validCfgId(Long cfgId) { - IpMultiplexPoolCfg dns=ipMultiplexPoolCfgService.getIpMultiplexPoolCfg(cfgId,null); - if(dns == null ){ + IpMultiplexPoolCfg dns = ipMultiplexPoolCfgService.getIpMultiplexPoolCfg(cfgId, null); + if (dns == null) { return false; - }else{ + } else { return true; } } - - /*@RequestMapping(value = {"/snatlist"}) - public String snatlist(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")IpMultiplexPoolCfg entity){ - //查询时left join policyGroup - Page page = ipMultiplexPoolCfgService.findPage(new Page(request, response,"r"), entity); - model.addAttribute("page", page); - initFormCondition(model,entity); - return "/cfg/maintenance/ipMultiplexPool/snatlist"; - } - - @RequestMapping(value = {"/snatform"}) - @RequiresPermissions(value={"ip:mulitiplex:pool:config"}) - public String snatfrom(Model model, - HttpServletRequest request, - HttpServletResponse response, - String ids, - @ModelAttribute("cfg")IpMultiplexPoolCfg cfg){ - if(cfg == null){ - cfg=new IpMultiplexPoolCfg(); - } - if(!StringUtil.isEmpty(ids)){ - cfg = ipMultiplexPoolCfgService.getIpMultiplexPoolCfg(Long.valueOf(ids),null); - initUpdateFormCondition(model, cfg); - }else{ - initFormCondition(model, cfg); - } - - //查询ip复用地址池配置的policyGroup列表 - List policyGroups=policyGroupInfoService.getHasAreaPolicyGroups(2); - model.addAttribute("policyGroups", policyGroups); - model.addAttribute("_cfg", cfg); - return "/cfg/maintenance/ipMultiplexPool/snatform"; - } - - @RequestMapping(value = {"/snatsaveOrUpdate"}) - @RequiresPermissions(value={"ip:mulitiplex:pool:config"}) - public String snatsaveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response,RedirectAttributes redirectAttributes, - @ModelAttribute("cfg")IpMultiplexPoolCfg cfg){ - try{ - // 设置省份信息 - if(!StringUtil.isEmpty(cfg.getPolicyGroup())){ - groupAreaService.setAreaCodeByGroupId(cfg); - } - ipMultiplexPoolCfgService.saveOrUpdate(cfg); - - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "save_failed"); - } - } - - return "redirect:" + adminPath +"/maintenance/ipMultiplexPoolCfg/snatlist?functionId="+cfg.getFunctionId(); - } - - @RequestMapping(value = {"/snataudit"}) - @RequiresPermissions(value={"ip:mulitiplex:pool:confirm"}) - public String snataudit(Integer isAudit,Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(ids)){ - String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ - try { - ipMultiplexPoolCfgService.audit(isAudit,isValid,functionId,id,auditTime); - } catch (Exception e) { - e.printStackTrace(); - logger.error("SNAT地址池管理配置下发失败:"+e.getMessage()); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); - } - } - } - - } - return "redirect:" + adminPath +"/maintenance/ipMultiplexPoolCfg/snatlist?functionId="+functionId; - } - @RequestMapping(value = {"/snatdelete"}) - @RequiresPermissions(value={"ip:mulitiplex:pool:config"}) - public String snatdelete(Integer isAudit,Integer isValid,String ids,Integer functionId,Model model,RedirectAttributes redirectAttributes - ,HttpServletRequest request,HttpServletResponse response){ - try{ - if(!StringUtil.isEmpty(ids)){ - ipMultiplexPoolCfgService.delete(isAudit,isValid,ids,functionId); - } - addMessage(redirectAttributes,"success","delete_success"); - }catch(Exception e){ - logger.error(e); - addMessage(redirectAttributes,"error","delete_failed"); - } - return "redirect:" + adminPath +"/maintenance/ipMultiplexPoolCfg/snatlist?functionId="+functionId; - }*/ - + + /* + * @RequestMapping(value = {"/snatlist"}) public String snatlist(Model + * model,HttpServletRequest request,HttpServletResponse + * response,@ModelAttribute("cfg")IpMultiplexPoolCfg entity){ //查询时left join + * policyGroup Page page = + * ipMultiplexPoolCfgService.findPage(new Page(request, + * response,"r"), entity); model.addAttribute("page", page); + * initFormCondition(model,entity); return + * "/cfg/maintenance/ipMultiplexPool/snatlist"; } + * + * @RequestMapping(value = {"/snatform"}) + * + * @RequiresPermissions(value={"ip:mulitiplex:pool:config"}) public String + * snatfrom(Model model, HttpServletRequest request, HttpServletResponse + * response, String ids, + * + * @ModelAttribute("cfg")IpMultiplexPoolCfg cfg){ if(cfg == null){ cfg=new + * IpMultiplexPoolCfg(); } if(!StringUtil.isEmpty(ids)){ cfg = + * ipMultiplexPoolCfgService.getIpMultiplexPoolCfg(Long.valueOf(ids),null); + * initUpdateFormCondition(model, cfg); }else{ initFormCondition(model, + * cfg); } + * + * //查询ip复用地址池配置的policyGroup列表 List + * policyGroups=policyGroupInfoService.getHasAreaPolicyGroups(2); + * model.addAttribute("policyGroups", policyGroups); + * model.addAttribute("_cfg", cfg); return + * "/cfg/maintenance/ipMultiplexPool/snatform"; } + * + * @RequestMapping(value = {"/snatsaveOrUpdate"}) + * + * @RequiresPermissions(value={"ip:mulitiplex:pool:config"}) public String + * snatsaveOrUpdate(Model model,HttpServletRequest + * request,HttpServletResponse response,RedirectAttributes + * redirectAttributes, + * + * @ModelAttribute("cfg")IpMultiplexPoolCfg cfg){ try{ // 设置省份信息 + * if(!StringUtil.isEmpty(cfg.getPolicyGroup())){ + * groupAreaService.setAreaCodeByGroupId(cfg); } + * ipMultiplexPoolCfgService.saveOrUpdate(cfg); + * + * addMessage(redirectAttributes,"success","save_success"); }catch(Exception + * e){ e.printStackTrace(); if(e instanceof MaatConvertException) { + * addMessage(redirectAttributes,"error", "request_service_failed"); }else { + * addMessage(redirectAttributes,"error", "save_failed"); } } + * + * return "redirect:" + adminPath + * +"/maintenance/ipMultiplexPoolCfg/snatlist?functionId="+cfg.getFunctionId + * (); } + * + * @RequestMapping(value = {"/snataudit"}) + * + * @RequiresPermissions(value={"ip:mulitiplex:pool:confirm"}) public String + * snataudit(Integer isAudit,Integer isValid,String ids,Integer + * functionId,RedirectAttributes redirectAttributes) { + * if(!StringUtil.isEmpty(ids)){ String[] idArray = ids.split(","); Date + * auditTime=new Date(); for(String id :idArray){ try { + * ipMultiplexPoolCfgService.audit(isAudit,isValid,functionId,id,auditTime); + * } catch (Exception e) { e.printStackTrace(); + * logger.error("SNAT地址池管理配置下发失败:"+e.getMessage()); if(e instanceof + * MaatConvertException) { addMessage(redirectAttributes,"error", + * "request_service_failed"); }else { addMessage(redirectAttributes,"error", + * "audit_failed"); } } } + * + * } return "redirect:" + adminPath + * +"/maintenance/ipMultiplexPoolCfg/snatlist?functionId="+functionId; } + * + * @RequestMapping(value = {"/snatdelete"}) + * + * @RequiresPermissions(value={"ip:mulitiplex:pool:config"}) public String + * snatdelete(Integer isAudit,Integer isValid,String ids,Integer + * functionId,Model model,RedirectAttributes redirectAttributes + * ,HttpServletRequest request,HttpServletResponse response){ try{ + * if(!StringUtil.isEmpty(ids)){ + * ipMultiplexPoolCfgService.delete(isAudit,isValid,ids,functionId); } + * addMessage(redirectAttributes,"success","delete_success"); + * }catch(Exception e){ logger.error(e); + * addMessage(redirectAttributes,"error","delete_failed"); } return + * "redirect:" + adminPath + * +"/maintenance/ipMultiplexPoolCfg/snatlist?functionId="+functionId; } + */ + /** * 校验IP是否已存在 + * * @param cfg * @param redirectAttributes * @param request @@ -248,97 +235,143 @@ public class IpMultiplexPoolCfgController extends BaseController { * @return */ @ResponseBody - @RequestMapping(value = {"/checkIp"}) - public boolean checkIp(IpMultiplexPoolCfg cfg, HttpServletRequest request, HttpServletResponse response){ + @RequestMapping(value = { "/checkIp" }) + public boolean checkIp(IpMultiplexPoolCfg cfg, HttpServletRequest request, HttpServletResponse response) { // 修改 - if(!StringUtil.isEmpty(cfg.getCfgId())){ + if (!StringUtil.isEmpty(cfg.getCfgId())) { IpMultiplexPoolCfg poolCfg = ipMultiplexPoolCfgService.getCfgInfo(cfg); - if(poolCfg != null && poolCfg.getDestIpAddress().equals(cfg.getDestIpAddress())){ + if (poolCfg != null && poolCfg.getDestIpAddress().equals(cfg.getDestIpAddress())) { return true; } } cfg.setCfgId(null); IpMultiplexPoolCfg poolCfg = ipMultiplexPoolCfgService.getCfgInfo(cfg); - if(poolCfg != null){ + if (poolCfg != null) { return false; } return true; } - - //snat配置导出 - @RequestMapping(value = "exportSnat") - public void exportSnat(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")IpMultiplexPoolCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - - /*//导出选中记录 - * if(!StringUtil.isEmpty(ids)){ - for(String id:ids.split(",")){ - Long.parseLong(id); - } - //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); - }else{*/ - //条件导出数据大于最大导出数,只导出最大导出条数 - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = ipMultiplexPoolCfgService.findPage(pageInfo, entity); - page.setList(ipMultiplexPoolCfgService.getIsp(page.getList())); - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), IpMultiplexPoolCfg.class); - String snatNoExport=",server_port,direction,protocol,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,group_name,"; - noExportMap.put(entity.getMenuNameCode(),snatNoExport); - dataMap.put(entity.getMenuNameCode(), page.getList()); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("snat export failed",e); - addMessage(redirectAttributes,"error","export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + + // snat配置导出 + @RequestMapping(value = "exportSnat") + public void exportSnat(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") IpMultiplexPoolCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + /* + * //导出选中记录 if(!StringUtil.isEmpty(ids)){ for(String + * id:ids.split(",")){ Long.parseLong(id); } //List + * list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename() + * , entity.getFunctionId(), ids); }else{ + */ + // 条件导出数据大于最大导出数,只导出最大导出条数 + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = ipMultiplexPoolCfgService.findPage(pageInfo, entity); + page.setList(ipMultiplexPoolCfgService.getIsp(page.getList())); + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), IpMultiplexPoolCfg.class); + String snatNoExport = ",server_port,direction,protocol,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,group_name,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + snatNoExport = ",config_time" + snatNoExport; } - - //dnat配置导出 - @RequestMapping(value = "exportDnat") - public void exportDnat(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")IpMultiplexPoolCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - - /*//导出选中记录 - * if(!StringUtil.isEmpty(ids)){ - for(String id:ids.split(",")){ - Long.parseLong(id); - } - //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); - }else{*/ - //条件导出数据大于最大导出数,只导出最大导出条数 - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = ipMultiplexPoolCfgService.findPage(pageInfo, entity); - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), IpMultiplexPoolCfg.class); - String snatNoExport=",isp,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,group_name,"; - noExportMap.put(entity.getMenuNameCode(),snatNoExport); - dataMap.put(entity.getMenuNameCode(), page.getList()); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("dnat export failed",e); - addMessage(redirectAttributes,"error","export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); - } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + snatNoExport = ",edit_time" + snatNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + snatNoExport = ",audit_time" + snatNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + snatNoExport = "," + entity.gethColumns() + "," + snatNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), snatNoExport); + dataMap.put(entity.getMenuNameCode(), page.getList()); + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + + } catch (Exception e) { + logger.error("snat export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // dnat配置导出 + @RequestMapping(value = "exportDnat") + public void exportDnat(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") IpMultiplexPoolCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + /* + * //导出选中记录 if(!StringUtil.isEmpty(ids)){ for(String + * id:ids.split(",")){ Long.parseLong(id); } //List + * list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename() + * , entity.getFunctionId(), ids); }else{ + */ + // 条件导出数据大于最大导出数,只导出最大导出条数 + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = ipMultiplexPoolCfgService.findPage(pageInfo, entity); + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), IpMultiplexPoolCfg.class); + String snatNoExport = ",isp,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,group_name,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + snatNoExport = ",config_time" + snatNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + snatNoExport = ",edit_time" + snatNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + snatNoExport = ",audit_time" + snatNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + snatNoExport = "," + entity.gethColumns() + "," + snatNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), snatNoExport); + dataMap.put(entity.getMenuNameCode(), page.getList()); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("dnat export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } } diff --git a/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java b/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java index 9766cd83e..465a92917 100644 --- a/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/manipulation/DdosCfgController.java @@ -39,165 +39,189 @@ import com.nis.web.security.UserUtils; @Controller @RequestMapping("${adminPath}/manipulation/ddos") public class DdosCfgController extends BaseController { - - @RequestMapping(value = {"/list"}) - public String list(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")DdosIpCfg entity){ - Page page = ddosCfgService.findPage(new Page(request, response,"r"), entity); + + @RequestMapping(value = { "/list" }) + public String list(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") DdosIpCfg entity) { + Page page = ddosCfgService.findPage(new Page(request, response, "r"), entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); return "/cfg/ddosIpCfgList"; } - @RequestMapping(value = {"/form"}) - @RequiresPermissions(value={"ddos:ip:config"}) - public String form(Model model,HttpServletRequest request,HttpServletResponse response,String ids,@ModelAttribute("cfg")DdosIpCfg cfg){ - if(!StringUtil.isEmpty(ids)){ - cfg = ddosCfgService.getDdosIpCfg(Long.parseLong(ids),null); + + @RequestMapping(value = { "/form" }) + @RequiresPermissions(value = { "ddos:ip:config" }) + public String form(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + @ModelAttribute("cfg") DdosIpCfg cfg) { + if (!StringUtil.isEmpty(ids)) { + cfg = ddosCfgService.getDdosIpCfg(Long.parseLong(ids), null); initUpdateFormCondition(model, cfg); - }else{ - initFormCondition(model,cfg); + } else { + initFormCondition(model, cfg); } model.addAttribute("_cfg", cfg); return "/cfg/ddosIpCfgForm"; } - - @RequestMapping(value = {"/saveOrUpdate"}) - @RequiresPermissions(value={"ddos:ip:config"}) - public String saveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")DdosIpCfg cfg, RedirectAttributes redirectAttributes){ - try{ + + @RequestMapping(value = { "/saveOrUpdate" }) + @RequiresPermissions(value = { "ddos:ip:config" }) + public String saveOrUpdate(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") DdosIpCfg cfg, RedirectAttributes redirectAttributes) { + try { ddosCfgService.saveOrUpdate(cfg); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - logger.error("信息保存失败",e); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + logger.error("信息保存失败", e); e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/manipulation/ddos/list?functionId="+cfg.getFunctionId(); + + return "redirect:" + adminPath + "/manipulation/ddos/list?functionId=" + cfg.getFunctionId(); } - - @RequestMapping(value = {"/delete"}) - @RequiresPermissions(value={"ddos:ip:config"}) - public String delete(Integer isAudit,Integer isValid,String ids,Integer functionId){ - ddosCfgService.delete(isAudit,isValid,ids,functionId); - return "redirect:" + adminPath +"/manipulation/ddos/list?functionId="+functionId; + + @RequestMapping(value = { "/delete" }) + @RequiresPermissions(value = { "ddos:ip:config" }) + public String delete(Integer isAudit, Integer isValid, String ids, Integer functionId) { + ddosCfgService.delete(isAudit, isValid, ids, functionId); + return "redirect:" + adminPath + "/manipulation/ddos/list?functionId=" + functionId; } - @RequestMapping(value = {"/audit"}) - //@RequiresPermissions(value={"ddos:ip:confirm"}) - public String audit(Model model,@ModelAttribute("cfg")DdosIpCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + + @RequestMapping(value = { "/audit" }) + // @RequiresPermissions(value={"ddos:ip:confirm"}) + public String audit(Model model, @ModelAttribute("cfg") DdosIpCfg cfg, Integer isValid, Integer isAudit, String ids, + Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - ddosCfgService.audit(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); + ddosCfgService.audit(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { e.printStackTrace(); - logger.info("dns fake ip配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error","request_service_failed"); + logger.info("dns fake ip配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "request_service_failed"); } catch (Exception e) { e.printStackTrace(); - logger.info("dns fake ip配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error","audit_failed"); + logger.info("dns fake ip配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); - + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); + try { BeanUtils.copyProperties(searchPage, auditPage); - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return list(model, request, response, cfg); } - return "redirect:" + adminPath +"/manipulation/ddos/list?functionId="+functionId; + return "redirect:" + adminPath + "/manipulation/ddos/list?functionId=" + functionId; } - - //ddos配置导出 + + // ddos配置导出 @RequestMapping(value = "exportDdos") - public void exportddos(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")DdosIpCfg entity,String ids,RedirectAttributes redirectAttributes){ + public void exportddos(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") DdosIpCfg entity, String ids, RedirectAttributes redirectAttributes) { try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ddosCfgService.findByPage(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = ddosCfgService.findPage(pageInfo, entity); - ipLists=page.getList(); - } - /*//导出选中记录 - * if(!StringUtil.isEmpty(ids)){ - for(String id:ids.split(",")){ - Long.parseLong(id); - } - //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); - }else{*/ - //条件导出数据大于最大导出数,只导出最大导出条数 - - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), DdosIpCfg.class); - String cfgIndexInfoNoExport=",do_log,client_ip,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(), ipLists); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ddosCfgService.findByPage(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = ddosCfgService.findPage(pageInfo, entity); + ipLists = page.getList(); + } + /* + * //导出选中记录 if(!StringUtil.isEmpty(ids)){ for(String + * id:ids.split(",")){ Long.parseLong(id); } //List + * list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename() + * , entity.getFunctionId(), ids); }else{ + */ + // 条件导出数据大于最大导出数,只导出最大导出条数 + + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), DdosIpCfg.class); + String cfgIndexInfoNoExport = ",do_log,client_ip,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } } catch (Exception e) { - logger.error("ddos export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + logger.error("ddos export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } + /** * 根据索引表信息异步获取子表信息 + * * @return */ - @RequestMapping(value = {"/ajaxDdosInfo"}) - public String getDdosInfo(Model model,Long cfgId,Integer index,Integer compileId) { + @RequestMapping(value = { "/ajaxDdosInfo" }) + public String getDdosInfo(Model model, Long cfgId, Integer index, Integer compileId) { DdosIpCfg cfg = ddosCfgService.getDdosIpCfg(cfgId, compileId); List tabList = new ArrayList(); - //获取DdosIpCfg信息 - String cfgType = null; - if(!cfg.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",cfg.getCfgType()}); - cfgType = cfg.getCfgType(); - } - - model.addAttribute("_cfg", cfg); + // 获取DdosIpCfg信息 + String cfgType = null; + if (!cfg.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", cfg.getCfgType() }); + cfgType = cfg.getCfgType(); + } + + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/ddosSubList"; diff --git a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java index 87feb33ca..b5c54efea 100644 --- a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java +++ b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java @@ -46,101 +46,116 @@ import com.nis.web.controller.configuration.CommonController; import com.nis.web.service.configuration.IpMultiplexService; /** - * @ClassName: ControlController.java + * @ClassName: ControlController.java * @Description: TODO * @author (dell) * @date 2018年6月22日 下午4:35:42 * @version V1.0 */ -@Controller +@Controller @RequestMapping("${adminPath}/manipulation/ipmulitiplex") public class IpMultiplexController extends CommonController { - + @Autowired private IpMultiplexService ipMultiplexService; - - @RequestMapping(value = {"/list"}) -// @RequiresPermissions(value={"ip:mulitiplex:config","ip:mulitiplex:confirm"},logical=Logical.OR) - public String ipList(String cfgName,Model model,@ModelAttribute("cfg")IpPortCfg cfg,HttpServletRequest request,HttpServletResponse response) { - this._ipList(cfgName,model, cfg, request, response); - model.addAttribute("urlPrefix","/manipulation/ipmulitiplex"); - model.addAttribute("requiresPermissionPrefix","ip:mulitiplex"); + + @RequestMapping(value = { "/list" }) + // @RequiresPermissions(value={"ip:mulitiplex:config","ip:mulitiplex:confirm"},logical=Logical.OR) + public String ipList(String cfgName, Model model, @ModelAttribute("cfg") IpPortCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + this._ipList(cfgName, model, cfg, request, response); + model.addAttribute("urlPrefix", "/manipulation/ipmulitiplex"); + model.addAttribute("requiresPermissionPrefix", "ip:mulitiplex"); return "/cfg/common/ipList"; } - @RequestMapping(value = {"/form"}) - @RequiresPermissions(value={"ip:mulitiplex:config"}) - public String ipForm(String cfgName,Model model,String ids,Integer functionId,BaseIpCfg entity) { - this._ipForm(cfgName,model, ids, functionId, entity); - SysDataDictionaryItem dict=null; - List dictList= DictUtils.getDictList("GROUP_TYPE"); - for(SysDataDictionaryItem di:dictList){ - if("IP".equals(di.getItemValue())){ - dict=di; + + @RequestMapping(value = { "/form" }) + @RequiresPermissions(value = { "ip:mulitiplex:config" }) + public String ipForm(String cfgName, Model model, String ids, Integer functionId, BaseIpCfg entity) { + this._ipForm(cfgName, model, ids, functionId, entity); + SysDataDictionaryItem dict = null; + List dictList = DictUtils.getDictList("GROUP_TYPE"); + for (SysDataDictionaryItem di : dictList) { + if ("IP".equals(di.getItemValue())) { + dict = di; break; } } - if(dict!=null){ - List policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(Integer.parseInt(dict.getItemCode())); + if (dict != null) { + List policyGroups = policyGroupInfoService + .findPolicyGroupInfosByType(Integer.parseInt(dict.getItemCode())); model.addAttribute("policyGroups", policyGroups); } - model.addAttribute("urlPrefix","/manipulation/ipmulitiplex"); - model.addAttribute("requiresPermissionPrefix","ip:mulitiplex"); + model.addAttribute("urlPrefix", "/manipulation/ipmulitiplex"); + model.addAttribute("requiresPermissionPrefix", "ip:mulitiplex"); return "/cfg/manipulation/ipmulitiplex/form"; } - @RequestMapping(value = {"/saveOrUpdate"}) - public String saveOrUpdateIp(String cfgName,RedirectAttributes model, IpPortCfg cfg) { - this._saveOrUpdateIp(cfgName,model, cfg); - return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+cfg.getFunctionId(); + + @RequestMapping(value = { "/saveOrUpdate" }) + public String saveOrUpdateIp(String cfgName, RedirectAttributes model, IpPortCfg cfg) { + this._saveOrUpdateIp(cfgName, model, cfg); + return "redirect:" + adminPath + "/manipulation/ipmulitiplex/list?functionId=" + cfg.getFunctionId(); } - @RequestMapping(value = {"/delete"}) + + @RequestMapping(value = { "/delete" }) @RequiresPermissions("ip:mulitiplex:config") - public String deleteIp(String cfgName,String ids,String compileIds,Integer functionId,RedirectAttributes model) { - this._deleteIp(cfgName,ids, compileIds, functionId, model); - model.addAttribute("urlPrefix","/proxy/ipmulitiplex"); - model.addAttribute("requiresPermissionPrefix","ip:mulitiplex"); - return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+functionId; + public String deleteIp(String cfgName, String ids, String compileIds, Integer functionId, + RedirectAttributes model) { + this._deleteIp(cfgName, ids, compileIds, functionId, model); + model.addAttribute("urlPrefix", "/proxy/ipmulitiplex"); + model.addAttribute("requiresPermissionPrefix", "ip:mulitiplex"); + return "redirect:" + adminPath + "/manipulation/ipmulitiplex/list?functionId=" + functionId; } - @RequestMapping(value = {"/audit"}) + + @RequestMapping(value = { "/audit" }) @RequiresPermissions("ip:mulitiplex:confirm") - public String auditIp(String cfgName,String ids,IpPortCfg cfg,RedirectAttributes redirectAttributes) { - this._auditIp(cfgName,ids, cfg, redirectAttributes); - redirectAttributes.addAttribute("urlPrefix","/manipulation/ipmulitiplex"); - redirectAttributes.addAttribute("requiresPermissionPrefix","ip:mulitiplex"); - return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+cfg.getFunctionId(); + public String auditIp(String cfgName, String ids, IpPortCfg cfg, RedirectAttributes redirectAttributes) { + this._auditIp(cfgName, ids, cfg, redirectAttributes); + redirectAttributes.addAttribute("urlPrefix", "/manipulation/ipmulitiplex"); + redirectAttributes.addAttribute("requiresPermissionPrefix", "ip:mulitiplex"); + return "redirect:" + adminPath + "/manipulation/ipmulitiplex/list?functionId=" + cfg.getFunctionId(); } - //ip配置导入 - /*@RequestMapping(value = "/import", method=RequestMethod.POST) - public String importIp(String cfgName,RedirectAttributes redirectAttributes, - @RequestParam("file") MultipartFile file,IpPortCfg cfg) { - this._importIp(cfgName,redirectAttributes, file,cfg,IpMultiplexPolicyTemplate.class); - redirectAttributes.addAttribute("urlPrefix","/manipulation/ipmulitiplex"); - redirectAttributes.addAttribute("requiresPermissionPrefix","ip:mulitiplex"); - return "redirect:" + adminPath +"/manipulation/ipmulitiplex/list?functionId="+cfg.getFunctionId(); - }*/ - //ip模板下载 + + // ip配置导入 + /* + * @RequestMapping(value = "/import", method=RequestMethod.POST) public + * String importIp(String cfgName,RedirectAttributes redirectAttributes, + * + * @RequestParam("file") MultipartFile file,IpPortCfg cfg) { + * this._importIp(cfgName,redirectAttributes, + * file,cfg,IpMultiplexPolicyTemplate.class); + * redirectAttributes.addAttribute("urlPrefix","/manipulation/ipmulitiplex") + * ; redirectAttributes.addAttribute("requiresPermissionPrefix", + * "ip:mulitiplex"); return "redirect:" + adminPath + * +"/manipulation/ipmulitiplex/list?functionId="+cfg.getFunctionId(); } + */ + // ip模板下载 @RequestMapping(value = "import/template") - public void importFileTemplate(HttpServletRequest request,HttpServletResponse response, - RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) { - this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode,IpMultiplexPolicyTemplate.class); + public void importFileTemplate(HttpServletRequest request, HttpServletResponse response, + RedirectAttributes redirectAttributes, Integer functionId, Integer cfgRegionCode) { + this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode, + IpMultiplexPolicyTemplate.class); } - //ip配置导出 + + // ip配置导出 @RequestMapping(value = "export") - public void exportIp(String columns,Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){ - this._exportIp(columns,model, request, response, entity, ids, redirectAttributes); + public void exportIp(String columns, Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") IpPortCfg entity, String ids, RedirectAttributes redirectAttributes) { + this._exportIp(columns, model, request, response, entity, ids, redirectAttributes); } - + /** * IP复用策略拆分为SNAT/DNAT复用策略 */ - @RequestMapping(value = {"/snatPolicyList"}) - public String snatPolicyList(Model model,@ModelAttribute("cfg")IpReusePolicyCfg cfg, - HttpServletRequest request,HttpServletResponse response) { - - Page page = ipMultiplexService.findPage(new Page(request, response,"r"), cfg); + @RequestMapping(value = { "/snatPolicyList" }) + public String snatPolicyList(Model model, @ModelAttribute("cfg") IpReusePolicyCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + + Page page = ipMultiplexService.findPage(new Page(request, response, "r"), + cfg); model.addAttribute("page", page); - initFormCondition(model,cfg); - + initFormCondition(model, cfg); + // 获取地址池、用户信息 List users = userManageService.findUsers(); List addrPools = ipAddrPoolCfgService.getEffectiveAddrPool(); @@ -148,357 +163,401 @@ public class IpMultiplexController extends CommonController { model.addAttribute("addrPools", addrPools); return "/cfg/manipulation/ipmulitiplex/snatPolicyList2"; } - - @RequestMapping(value = {"/snatPolicyForm"}) - @RequiresPermissions(value={"snat_policy:config"}) - public String snatPolicyForm(Model model, String ids, IpReusePolicyCfg cfg, - HttpServletRequest request,HttpServletResponse response) { - if(cfg == null){ - cfg=new IpReusePolicyCfg(); + + @RequestMapping(value = { "/snatPolicyForm" }) + @RequiresPermissions(value = { "snat_policy:config" }) + public String snatPolicyForm(Model model, String ids, IpReusePolicyCfg cfg, HttpServletRequest request, + HttpServletResponse response) { + if (cfg == null) { + cfg = new IpReusePolicyCfg(); } - if(!StringUtil.isEmpty(ids)){ - cfg = ipMultiplexService.getPolicyCfg(Long.valueOf(ids),null); + if (!StringUtil.isEmpty(ids)) { + cfg = ipMultiplexService.getPolicyCfg(Long.valueOf(ids), null); initUpdateFormCondition(model, cfg); - }else{ + } else { initFormCondition(model, cfg); } - + // 获取用户信息 地址池信息 List users = userManageService.findUsers(); - + model.addAttribute("_cfg", cfg); model.addAttribute("users", users); - model.addAttribute("urlPrefix","/manipulation/ipmulitiplex"); + model.addAttribute("urlPrefix", "/manipulation/ipmulitiplex"); return "/cfg/manipulation/ipmulitiplex/snatPolicyForm2"; } - - @RequestMapping(value = {"/saveOrUpdateSnat"}) - public String saveOrUpdateSnat(Model model, HttpServletRequest request,HttpServletResponse response, + + @RequestMapping(value = { "/saveOrUpdateSnat" }) + public String saveOrUpdateSnat(Model model, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes, IpReusePolicyCfg cfg) { - try{ + try { // 添加策略配置信息 ipMultiplexService.saveOrUpdate(cfg, request, response); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e) { + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+cfg.getFunctionId(); + + return "redirect:" + adminPath + "/manipulation/ipmulitiplex/snatPolicyList?functionId=" + cfg.getFunctionId(); } - - @RequestMapping(value = {"/snatDelete"}) + + @RequestMapping(value = { "/snatDelete" }) @RequiresPermissions("snat_policy:config") - public String snatDelete(String ids, Integer isValid, Integer functionId,RedirectAttributes redirectAttributes, - HttpServletRequest request,HttpServletResponse response) { - - try{ - if(!StringUtil.isEmpty(ids)){ - ipMultiplexService.delete(isValid,ids,functionId); + public String snatDelete(String ids, Integer isValid, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletRequest request, HttpServletResponse response) { + + try { + if (!StringUtil.isEmpty(ids)) { + ipMultiplexService.delete(isValid, ids, functionId); } - addMessage(redirectAttributes,"success","delete_success"); - }catch(Exception e){ + addMessage(redirectAttributes, "success", "delete_success"); + } catch (Exception e) { logger.error(e); - addMessage(redirectAttributes,"error","delete_failed"); + addMessage(redirectAttributes, "error", "delete_failed"); } - - return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+functionId; + + return "redirect:" + adminPath + "/manipulation/ipmulitiplex/snatPolicyList?functionId=" + functionId; } - - @RequestMapping(value = {"/auditSnat"}) + + @RequestMapping(value = { "/auditSnat" }) @RequiresPermissions("snat_policy:confirm") - public String auditSnat(String ids,Integer isAudit,Integer isValid,Integer functionId,RedirectAttributes redirectAttributes) { - - if(!StringUtil.isEmpty(ids)){ + public String auditSnat(String ids, Integer isAudit, Integer isValid, Integer functionId, + RedirectAttributes redirectAttributes) { + + if (!StringUtil.isEmpty(ids)) { String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - ipMultiplexService.auditSnatPolicy(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); + ipMultiplexService.auditSnatPolicy(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("SNAT策略配置下发失败:"+e.getMessage()); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("SNAT策略配置下发失败:" + e.getMessage()); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - + } - return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+functionId; + return "redirect:" + adminPath + "/manipulation/ipmulitiplex/snatPolicyList?functionId=" + functionId; } - - - @RequestMapping(value = {"/ajaxSnatInfo"}) - public String ajaxSnatInfo(Model model,Long cfgId,Integer index,Integer compileId) { + + @RequestMapping(value = { "/ajaxSnatInfo" }) + public String ajaxSnatInfo(Model model, Long cfgId, Integer index, Integer compileId) { IpReusePolicyCfg cfg = ipMultiplexService.getSnatCfg(cfgId, compileId); List tabList = new ArrayList(); - String cfgType = null; - if(!cfg.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",cfg.getCfgType()}); - cfgType = cfg.getCfgType(); - } - + String cfgType = null; + if (!cfg.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", cfg.getCfgType() }); + cfgType = cfg.getCfgType(); + } + List users = userManageService.findUsers(); List addrPools = ipAddrPoolCfgService.getEffectiveAddrPool(); model.addAttribute("users", users); model.addAttribute("addrPools", addrPools); - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/manipulation/ipmulitiplex/snatSubList"; } - - - - @RequestMapping(value = {"/ajaxDnatInfo"}) - public String ajaxDnatInfo(Model model,Long cfgId,Integer index,Integer compileId) { + + @RequestMapping(value = { "/ajaxDnatInfo" }) + public String ajaxDnatInfo(Model model, Long cfgId, Integer index, Integer compileId) { IpReuseDnatPolicyCfg cfg = ipMultiplexService.getDnatCfg(cfgId, compileId); List tabList = new ArrayList(); - String cfgType = null; - if(!cfg.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",cfg.getCfgType()}); - cfgType = cfg.getCfgType(); - } - model.addAttribute("_cfg", cfg); + String cfgType = null; + if (!cfg.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", cfg.getCfgType() }); + cfgType = cfg.getCfgType(); + } + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/manipulation/ipmulitiplex/dnatSubList"; } - - + /** * 异步获取地址池信息 + * * @param request * @param response * @return */ @ResponseBody - @RequestMapping(value = {"/ajaxGetAddrPools"}) - public List ajaxGetAddrPools(HttpServletRequest request, HttpServletResponse response){ + @RequestMapping(value = { "/ajaxGetAddrPools" }) + public List ajaxGetAddrPools(HttpServletRequest request, HttpServletResponse response) { List addrPools = ipAddrPoolCfgService.getEffectiveAddrPool(); - List addrPoolsNew=new ArrayList<>(); + List addrPoolsNew = new ArrayList<>(); for (IpAddrPoolCfg addrPool : addrPools) { Map params = new HashMap(); params.put("addr_pool_id", addrPool.getCfgId()); - String url =Constants.IP_REUSE_CALL_CGI_URL ; - Map resultMap=ConfigServiceUtil.getCGIInfo(url, Constants.IP_NUM_GET, params); - if(!StringUtil.isEmpty(resultMap) - && !StringUtil.isEmpty(resultMap.get("num")) + String url = Constants.IP_REUSE_CALL_CGI_URL; + Map resultMap = ConfigServiceUtil.getCGIInfo(url, Constants.IP_NUM_GET, params); + if (!StringUtil.isEmpty(resultMap) && !StringUtil.isEmpty(resultMap.get("num")) && Integer.parseInt(resultMap.get("num").toString()) > 0) { addrPoolsNew.add(addrPool); } } return addrPoolsNew; } - + /** * 校验地址池是否被策略引用 + * * @param addrPoolIds * @param request * @param response * @return */ @ResponseBody - @RequestMapping(value = {"/ajaxIsUsed"}) - public boolean ajaxIsUsed(String addrPoolIds, HttpServletRequest request, HttpServletResponse response){ + @RequestMapping(value = { "/ajaxIsUsed" }) + public boolean ajaxIsUsed(String addrPoolIds, HttpServletRequest request, HttpServletResponse response) { for (String addrPoolId : addrPoolIds.split(",")) { List ipList = ipMultiplexService.checkAddrPoolIsUsed(addrPoolId); - if(ipList != null && ipList.size() > 0){ + if (ipList != null && ipList.size() > 0) { return false; } } return true; - + } - - - @RequestMapping(value = {"/dnatPolicyList"}) - public String dnatPolicyList(String cfgName,Model model,@ModelAttribute("cfg")IpReuseDnatPolicyCfg cfg, - HttpServletRequest request,HttpServletResponse response) { - //this._ipList(cfgName,model, cfg, request, response); - - Page page = ipMultiplexService.findPageDnat(new Page(request, response,"r"), cfg); + + @RequestMapping(value = { "/dnatPolicyList" }) + public String dnatPolicyList(String cfgName, Model model, @ModelAttribute("cfg") IpReuseDnatPolicyCfg cfg, + HttpServletRequest request, HttpServletResponse response) { + // this._ipList(cfgName,model, cfg, request, response); + + Page page = ipMultiplexService.findPageDnat(new Page(request, response, "r"), cfg); model.addAttribute("page", page); - initFormCondition(model,cfg); - + initFormCondition(model, cfg); + return "/cfg/manipulation/ipmulitiplex/dnatPolicyList2"; } - - @RequestMapping(value = {"/dnatPolicyForm"}) - @RequiresPermissions(value={"dnat_policy:config"}) - public String dnatPolicyForm(String cfgName,Model model,String ids,Integer functionId,IpReuseDnatPolicyCfg cfg) { - //this._ipForm(cfgName,model, ids, functionId, entity); - - if(cfg == null){ - cfg=new IpReuseDnatPolicyCfg(); + + @RequestMapping(value = { "/dnatPolicyForm" }) + @RequiresPermissions(value = { "dnat_policy:config" }) + public String dnatPolicyForm(String cfgName, Model model, String ids, Integer functionId, + IpReuseDnatPolicyCfg cfg) { + // this._ipForm(cfgName,model, ids, functionId, entity); + + if (cfg == null) { + cfg = new IpReuseDnatPolicyCfg(); } - if(!StringUtil.isEmpty(ids)){ - cfg = ipMultiplexService.getDnatPolicyCfg(Long.valueOf(ids),null); + if (!StringUtil.isEmpty(ids)) { + cfg = ipMultiplexService.getDnatPolicyCfg(Long.valueOf(ids), null); initUpdateFormCondition(model, cfg); - }else{ + } else { initFormCondition(model, cfg); } model.addAttribute("_cfg", cfg); return "/cfg/manipulation/ipmulitiplex/dnatPolicyForm2"; } - - @RequestMapping(value = {"/saveOrUpdateDnat"}) + + @RequestMapping(value = { "/saveOrUpdateDnat" }) public String saveOrUpdateDnat(Model model, RedirectAttributes redirectAttributes, IpReuseDnatPolicyCfg cfg, - HttpServletRequest request,HttpServletResponse response) { - try{ + HttpServletRequest request, HttpServletResponse response) { + try { // 添加策略配置信息 ipMultiplexService.saveOrUpdateDnat(cfg, request, response); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e) { + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - return "redirect:" + adminPath +"/manipulation/ipmulitiplex/dnatPolicyList?functionId="+cfg.getFunctionId(); + return "redirect:" + adminPath + "/manipulation/ipmulitiplex/dnatPolicyList?functionId=" + cfg.getFunctionId(); } - - @RequestMapping(value = {"/dnatDelete"}) + + @RequestMapping(value = { "/dnatDelete" }) @RequiresPermissions("dnat_policy:config") - public String dnatDelete(String ids, Integer isValid, Integer functionId,RedirectAttributes redirectAttributes) { - //this._deleteIp(cfgName,ids, compileIds, functionId, model); - - try{ - if(!StringUtil.isEmpty(ids)){ - ipMultiplexService.deleteDnat(isValid,ids,functionId); + public String dnatDelete(String ids, Integer isValid, Integer functionId, RedirectAttributes redirectAttributes) { + // this._deleteIp(cfgName,ids, compileIds, functionId, model); + + try { + if (!StringUtil.isEmpty(ids)) { + ipMultiplexService.deleteDnat(isValid, ids, functionId); } - addMessage(redirectAttributes,"success","delete_success"); - }catch(Exception e){ + addMessage(redirectAttributes, "success", "delete_success"); + } catch (Exception e) { logger.error(e); - addMessage(redirectAttributes,"error","delete_failed"); + addMessage(redirectAttributes, "error", "delete_failed"); } - - return "redirect:" + adminPath +"/manipulation/ipmulitiplex/dnatPolicyList?functionId="+functionId; + + return "redirect:" + adminPath + "/manipulation/ipmulitiplex/dnatPolicyList?functionId=" + functionId; } - - @RequestMapping(value = {"/auditDnat"}) + + @RequestMapping(value = { "/auditDnat" }) @RequiresPermissions("dnat_policy:confirm") - public String auditDnat(String ids,Integer isAudit,Integer isValid,Integer functionId,RedirectAttributes redirectAttributes) { - //this._auditIp(cfgName,ids, cfg, redirectAttributes); - - if(!StringUtil.isEmpty(ids)){ + public String auditDnat(String ids, Integer isAudit, Integer isValid, Integer functionId, + RedirectAttributes redirectAttributes) { + // this._auditIp(cfgName,ids, cfg, redirectAttributes); + + if (!StringUtil.isEmpty(ids)) { String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - ipMultiplexService.auditDnatPolicy(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); + ipMultiplexService.auditDnatPolicy(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { e.printStackTrace(); - logger.error("DNAT策略配置下发失败:"+e.getMessage()); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("DNAT策略配置下发失败:" + e.getMessage()); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - + } - return "redirect:" + adminPath +"/manipulation/ipmulitiplex/dnatPolicyList?functionId="+functionId; + return "redirect:" + adminPath + "/manipulation/ipmulitiplex/dnatPolicyList?functionId=" + functionId; } - - //snat配置导出 - @RequestMapping(value = "exportSnat") - public void exportSnat(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")BaseIpCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - Properties msgProp = getMsgProp(); - - /*//导出选中记录 - * if(!StringUtil.isEmpty(ids)){ - for(String id:ids.split(",")){ - Long.parseLong(id); - } - //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); - }else{*/ - //条件导出数据大于最大导出数,只导出最大导出条数 - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = ipCfgService.findPage(pageInfo, entity);// - for (BaseIpCfg baseIp : page.getList()) { - if(StringUtil.isEmpty(baseIp.getGroupName())){ - baseIp.setGroupName(msgProp.getProperty("default_group")); - } - } - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), BaseIpCfg.class); - String snatNoExport=",client_ip,group_name,server_ip,ip_type,ip_pattern,port_pattern,client_port,server_port,ir_type,direction,protocol,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),snatNoExport); - dataMap.put(entity.getMenuNameCode(), page.getList()); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("snat export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + + // snat配置导出 + @RequestMapping(value = "exportSnat") + public void exportSnat(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") BaseIpCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + Properties msgProp = getMsgProp(); + + /* + * //导出选中记录 if(!StringUtil.isEmpty(ids)){ for(String + * id:ids.split(",")){ Long.parseLong(id); } //List + * list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename() + * , entity.getFunctionId(), ids); }else{ + */ + // 条件导出数据大于最大导出数,只导出最大导出条数 + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = ipCfgService.findPage(pageInfo, entity);// + for (BaseIpCfg baseIp : page.getList()) { + if (StringUtil.isEmpty(baseIp.getGroupName())) { + baseIp.setGroupName(msgProp.getProperty("default_group")); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } - - - //dnat配置导出 - @RequestMapping(value = "exportDnat") - public void exportDnat(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")BaseIpCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - Properties msgProp = getMsgProp(); - - /*//导出选中记录 - * if(!StringUtil.isEmpty(ids)){ - for(String id:ids.split(",")){ - Long.parseLong(id); - } - //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); - }else{*/ - //条件导出数据大于最大导出数,只导出最大导出条数 - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = ipCfgService.findPage(pageInfo, entity);// - for (BaseIpCfg baseIp : page.getList()) { - if(StringUtil.isEmpty(baseIp.getGroupName())){ - baseIp.setGroupName(msgProp.getProperty("default_group")); - } - } - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), BaseIpCfg.class); - String snatNoExport=",direction,client_ip,ip_type,ip_pattern,port_pattern,client_port,ir_type,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),snatNoExport); - dataMap.put(entity.getMenuNameCode(), page.getList()); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("dnat export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), BaseIpCfg.class); + String snatNoExport = ",client_ip,group_name,server_ip,ip_type,ip_pattern,port_pattern,client_port,server_port,ir_type,direction,protocol,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + snatNoExport = ",config_time" + snatNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + snatNoExport = ",edit_time" + snatNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + snatNoExport = ",audit_time" + snatNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + snatNoExport = "," + entity.gethColumns() + "," + snatNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), snatNoExport); + dataMap.put(entity.getMenuNameCode(), page.getList()); + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("snat export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // dnat配置导出 + @RequestMapping(value = "exportDnat") + public void exportDnat(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") BaseIpCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + Properties msgProp = getMsgProp(); + + /* + * //导出选中记录 if(!StringUtil.isEmpty(ids)){ for(String + * id:ids.split(",")){ Long.parseLong(id); } //List + * list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename() + * , entity.getFunctionId(), ids); }else{ + */ + // 条件导出数据大于最大导出数,只导出最大导出条数 + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = ipCfgService.findPage(pageInfo, entity);// + for (BaseIpCfg baseIp : page.getList()) { + if (StringUtil.isEmpty(baseIp.getGroupName())) { + baseIp.setGroupName(msgProp.getProperty("default_group")); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), BaseIpCfg.class); + String snatNoExport = ",direction,client_ip,ip_type,ip_pattern,port_pattern,client_port,ir_type,do_log,whether_area_block,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + snatNoExport = ",config_time" + snatNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + snatNoExport = ",edit_time" + snatNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + snatNoExport = ",audit_time" + snatNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + snatNoExport = "," + entity.gethColumns() + "," + snatNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), snatNoExport); + dataMap.put(entity.getMenuNameCode(), page.getList()); + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("dnat export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/AsnPolicyCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/AsnPolicyCfgController.java index b35f187f0..b29dc337d 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/AsnPolicyCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/AsnPolicyCfgController.java @@ -19,87 +19,87 @@ import com.nis.domain.specific.ConfigGroupInfo; import com.nis.exceptions.MaatConvertException; import com.nis.util.StringUtil; import com.nis.web.controller.BaseController; + @Controller @RequestMapping("${adminPath}/cfg/asnPolicy") @Deprecated public class AsnPolicyCfgController extends BaseController { - @RequestMapping(value = {"/list"}) - public String list(Model model,HttpServletRequest request - ,HttpServletResponse response,@ModelAttribute("cfg")CfgIndexInfo entity - ,RedirectAttributes redirectAttributes){ - Page page = asnPolicyCfgService.findPage(new Page(request, response,"r"), entity); + @RequestMapping(value = { "/list" }) + public String list(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, RedirectAttributes redirectAttributes) { + Page page = asnPolicyCfgService.findPage(new Page(request, response, "r"), entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); return "/cfg/asnPolicyCfgList"; } - @RequestMapping(value = {"/form"}) - @RequiresPermissions(value={"asn:policy:config"}) - public String form(Model model,HttpServletRequest request - ,HttpServletResponse response,String ids,@ModelAttribute("cfg")CfgIndexInfo entity - ,RedirectAttributes redirectAttributes){ - if(!StringUtil.isEmpty(ids)){ + + @RequestMapping(value = { "/form" }) + @RequiresPermissions(value = { "asn:policy:config" }) + public String form(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + @ModelAttribute("cfg") CfgIndexInfo entity, RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(ids)) { entity = asnPolicyCfgService.get(Long.parseLong(ids)); initUpdateFormCondition(model, entity); - }else{ - initFormCondition(model,entity); + } else { + initFormCondition(model, entity); } - List policyGroups=asnPolicyCfgService.getConfigGroupInfoList(4); + List policyGroups = asnPolicyCfgService.getConfigGroupInfoList(4); model.addAttribute("policyGroups", policyGroups); model.addAttribute("_cfg", entity); return "/cfg/asnPolicyCfgForm"; } - @RequestMapping(value = {"/saveOrUpdate"}) - @RequiresPermissions(value={"asn:policy:config"}) - public String saveOrUpdate(Model model,HttpServletRequest request - ,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo cfg - ,RedirectAttributes redirectAttributes){ - try{ + + @RequestMapping(value = { "/saveOrUpdate" }) + @RequiresPermissions(value = { "asn:policy:config" }) + public String saveOrUpdate(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo cfg, RedirectAttributes redirectAttributes) { + try { asnPolicyCfgService.saveOrUpdate(cfg); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - logger.error("信息保存失败",e); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + logger.error("信息保存失败", e); e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/cfg/asnPolicy/list?functionId="+cfg.getFunctionId(); + + return "redirect:" + adminPath + "/cfg/asnPolicy/list?functionId=" + cfg.getFunctionId(); } - @RequestMapping(value = {"/delete"}) - @RequiresPermissions(value={"asn:policy:config"}) - public String delete(Integer isAudit,Integer isValid - ,String ids,Integer functionId - ,RedirectAttributes redirectAttributes){ + + @RequestMapping(value = { "/delete" }) + @RequiresPermissions(value = { "asn:policy:config" }) + public String delete(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { asnPolicyCfgService.delete(functionId, isValid, ids); - return "redirect:" + adminPath +"/cfg/asnPolicy/list?functionId="+functionId; + return "redirect:" + adminPath + "/cfg/asnPolicy/list?functionId=" + functionId; } -// @RequestMapping(value = {"/audit"}) -// @RequiresPermissions(value={"asn:policy:confirm"}) -// public String audit(Integer isAudit,Integer isValid,String ids -// ,Integer functionId, RedirectAttributes redirectAttributes) { -// if(!StringUtil.isEmpty(ids)){ -// String[] idArray = ids.split(","); -// Date auditTime=new Date(); -// for(String id :idArray){ -// try { -// asnPolicyCfgService.audit(isAudit,isValid,functionId,id,auditTime); -// } catch (MaatConvertException e) { -// e.printStackTrace(); -// logger.error("dns fake ip配置下发失败:"+e.getMessage()); -// addMessage(redirectAttributes,"error","request_service_failed"); -// } catch (Exception e) { -// e.printStackTrace(); -// logger.error("dns fake ip配置下发失败:"+e.getMessage()); -// addMessage(redirectAttributes,"error","audit_failed"); -// } -// -// } -// -// } -// return "redirect:" + adminPath +"/cfg/asnPolicy/list?functionId="+functionId; -// } + // @RequestMapping(value = {"/audit"}) + // @RequiresPermissions(value={"asn:policy:confirm"}) + // public String audit(Integer isAudit,Integer isValid,String ids + // ,Integer functionId, RedirectAttributes redirectAttributes) { + // if(!StringUtil.isEmpty(ids)){ + // String[] idArray = ids.split(","); + // Date auditTime=new Date(); + // for(String id :idArray){ + // try { + // asnPolicyCfgService.audit(isAudit,isValid,functionId,id,auditTime); + // } catch (MaatConvertException e) { + // e.printStackTrace(); + // logger.error("dns fake ip配置下发失败:"+e.getMessage()); + // addMessage(redirectAttributes,"error","request_service_failed"); + // } catch (Exception e) { + // e.printStackTrace(); + // logger.error("dns fake ip配置下发失败:"+e.getMessage()); + // addMessage(redirectAttributes,"error","audit_failed"); + // } + // + // } + // + // } + // return "redirect:" + adminPath + // +"/cfg/asnPolicy/list?functionId="+functionId; + // } } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java b/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java index a2be7c3e0..baf8f5bf4 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java @@ -42,1086 +42,1068 @@ import com.nis.web.controller.BaseController; /** * 处理音视频文本业务 + * * @author ddm * */ @Controller @RequestMapping("${adminPath}/ntc/av") -public class AvContentController extends BaseController { - /*****************************voip业务***************/ - //音视频VOIP IP配置新增界面 - @RequestMapping(value = {"/voipForm"}) - @RequiresPermissions(value={"avVoip:config"}) - public String voipFrom(Model model,HttpServletRequest request ,HttpServletResponse response - ,String compileIds,String ids, CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){ - if(!StringUtil.isEmpty(ids)){ - cfg.setCfgId(Long.parseLong(ids)); - cfg = avContentCfgService.getCfgIndexInfo(cfg); - initUpdateFormCondition(model, cfg); - }else{ - initFormCondition(model,cfg); - } - - model.addAttribute("_cfg", cfg); - return "/cfg/av/voip/voipForm"; +public class AvContentController extends BaseController { + /***************************** voip业务 ***************/ + // 音视频VOIP IP配置新增界面 + @RequestMapping(value = { "/voipForm" }) + @RequiresPermissions(value = { "avVoip:config" }) + public String voipFrom(Model model, HttpServletRequest request, HttpServletResponse response, String compileIds, + String ids, CfgIndexInfo cfg, RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(ids)) { + cfg.setCfgId(Long.parseLong(ids)); + cfg = avContentCfgService.getCfgIndexInfo(cfg); + initUpdateFormCondition(model, cfg); + } else { + initFormCondition(model, cfg); } - //音视频VOIP Account配置新增界面 -/* @RequestMapping(value = {"/voipAccountForm"}) - @RequiresPermissions(value={"avVoipAccount:config"}) - public String voipAccountForm(Model model,HttpServletRequest request ,HttpServletResponse response - ,String compileIds,String ids, CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){ - //修改 - if(!StringUtil.isEmpty(compileIds)){ - cfg.setCompileId(Integer.parseInt(compileIds)); - cfg = avContentCfgService.getCfgIndexInfo2(cfg); - initUpdateFormCondition(model, cfg); - }else{ - initFormCondition(model,cfg);//新增 - } - - model.addAttribute("_cfg", cfg); - return "/cfg/av/voip/voipAccountForm"; - }*/ - - //保存voip ip信息 - @RequestMapping(value = {"/saveVoip"}) - public String saveVoip(Model model,HttpServletRequest request,HttpServletResponse response,String ids, - CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){ - try{ - avContentCfgService.saveOrUpdateAvVoip(cfg); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - if(e instanceof MaatConvertException) { - e.printStackTrace(); - logger.error("voip 信息保存失败",e); - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - e.printStackTrace(); - logger.error("voip 信息保存失败",e); - addMessage(redirectAttributes,"error","save_failed"); - } - } - return "redirect:" + adminPath +"/ntc/av/voipList?functionId="+cfg.getFunctionId(); + + model.addAttribute("_cfg", cfg); + return "/cfg/av/voip/voipForm"; } - //保存voip Account信息 -/* @RequestMapping(value = {"/saveAccountVoip"}) - public String saveAccountVoip(Model model,HttpServletRequest request,HttpServletResponse response,String ids, - CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){ - try{ - avContentCfgService.saveOrUpdateAvVoipAccount(cfg); - addMessage(redirectAttributes,"save_success"); - }catch(Exception e){ - if(e instanceof MaatConvertException) { + // 音视频VOIP Account配置新增界面 + /* + * @RequestMapping(value = {"/voipAccountForm"}) + * + * @RequiresPermissions(value={"avVoipAccount:config"}) public String + * voipAccountForm(Model model,HttpServletRequest request + * ,HttpServletResponse response ,String compileIds,String ids, CfgIndexInfo + * cfg ,RedirectAttributes redirectAttributes){ //修改 + * if(!StringUtil.isEmpty(compileIds)){ + * cfg.setCompileId(Integer.parseInt(compileIds)); cfg = + * avContentCfgService.getCfgIndexInfo2(cfg); initUpdateFormCondition(model, + * cfg); }else{ initFormCondition(model,cfg);//新增 } + * + * model.addAttribute("_cfg", cfg); return "/cfg/av/voip/voipAccountForm"; } + */ + + // 保存voip ip信息 + @RequestMapping(value = { "/saveVoip" }) + public String saveVoip(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + CfgIndexInfo cfg, RedirectAttributes redirectAttributes) { + try { + avContentCfgService.saveOrUpdateAvVoip(cfg); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.error("voip Account信息保存失败",e); - addMessage(redirectAttributes,"request_service_failed"); - }else { + logger.error("voip 信息保存失败", e); + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("voip Account信息保存失败",e); - addMessage(redirectAttributes,"save_failed"); + logger.error("voip 信息保存失败", e); + addMessage(redirectAttributes, "error", "save_failed"); } } - return "redirect:" + adminPath +"/ntc/av/voipAccountList?functionId="+cfg.getFunctionId(); - }*/ - //视频文本VOIP 配置列表 - @RequestMapping(value = {"/voipList"}) - public String voipCfgList(Model model,HttpServletRequest request ,HttpServletResponse response ,@ModelAttribute("cfg")CfgIndexInfo entity - ,RedirectAttributes redirectAttributes){ - /*if(entity.getIpPort()== null){ - entity.setIpPort(new IpPortCfg()); - } - if(entity.getVoipAccount()== null){ - entity.setVoipAccount(new AvVoipAccountCfg()); - } - if(entity.getNtcSubscribeIdCfg()==null){ - entity.setNtcSubscribeIdCfg(new NtcSubscribeIdCfg()); - }*/ - Page page = avContentCfgService.findPage(new Page(request, response,"r"), entity); + return "redirect:" + adminPath + "/ntc/av/voipList?functionId=" + cfg.getFunctionId(); + } + + // 保存voip Account信息 + /* + * @RequestMapping(value = {"/saveAccountVoip"}) public String + * saveAccountVoip(Model model,HttpServletRequest + * request,HttpServletResponse response,String ids, CfgIndexInfo cfg + * ,RedirectAttributes redirectAttributes){ try{ + * avContentCfgService.saveOrUpdateAvVoipAccount(cfg); + * addMessage(redirectAttributes,"save_success"); }catch(Exception e){ if(e + * instanceof MaatConvertException) { e.printStackTrace(); + * logger.error("voip Account信息保存失败",e); + * addMessage(redirectAttributes,"request_service_failed"); }else { + * e.printStackTrace(); logger.error("voip Account信息保存失败",e); + * addMessage(redirectAttributes,"save_failed"); } } return "redirect:" + + * adminPath +"/ntc/av/voipAccountList?functionId="+cfg.getFunctionId(); } + */ + // 视频文本VOIP 配置列表 + @RequestMapping(value = { "/voipList" }) + public String voipCfgList(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, RedirectAttributes redirectAttributes) { + /* + * if(entity.getIpPort()== null){ entity.setIpPort(new IpPortCfg()); } + * if(entity.getVoipAccount()== null){ entity.setVoipAccount(new + * AvVoipAccountCfg()); } if(entity.getNtcSubscribeIdCfg()==null){ + * entity.setNtcSubscribeIdCfg(new NtcSubscribeIdCfg()); } + */ + Page page = avContentCfgService.findPage(new Page(request, response, "r"), entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); return "/cfg/av/voip/voipList"; } - //视频文本VOIP Account配置列表 -/* @RequestMapping(value = {"/voipAccountList"}) - public String voipCfgAccountList(Model model,HttpServletRequest request ,HttpServletResponse response - ,@ModelAttribute("cfg")CfgIndexInfo entity ,RedirectAttributes redirectAttributes){ - if(entity.getVoipAccount()== null){ - entity.setVoipAccount(new AvVoipAccountCfg()); - } - if(entity.getNtcSubscribeIdCfg()==null){ - entity.setNtcSubscribeIdCfg(new NtcSubscribeIdCfg()); - } - Page page = avContentCfgService.findAccountPage(new Page(request, response,"r"), entity); - model.addAttribute("page", page); - initPageCondition(model,entity); - return "/cfg/av/voip/voipAccountList"; - }*/ - - - //修改VOIP IP配置状态 - @RequestMapping(value = {"/updateAvVoipValid"}) - @RequiresPermissions(value={"avVoip:config"}) - public String updateVoipValid(Integer isAudit,String compileIds,Integer isValid,String ids,Integer functionId - ,RedirectAttributes redirectAttributes - ) { + // 视频文本VOIP Account配置列表 + /* + * @RequestMapping(value = {"/voipAccountList"}) public String + * voipCfgAccountList(Model model,HttpServletRequest request + * ,HttpServletResponse response ,@ModelAttribute("cfg")CfgIndexInfo entity + * ,RedirectAttributes redirectAttributes){ if(entity.getVoipAccount()== + * null){ entity.setVoipAccount(new AvVoipAccountCfg()); } + * if(entity.getNtcSubscribeIdCfg()==null){ entity.setNtcSubscribeIdCfg(new + * NtcSubscribeIdCfg()); } Page page = + * avContentCfgService.findAccountPage(new Page(request, + * response,"r"), entity); model.addAttribute("page", page); + * initPageCondition(model,entity); return "/cfg/av/voip/voipAccountList"; } + */ + + // 修改VOIP IP配置状态 + @RequestMapping(value = { "/updateAvVoipValid" }) + @RequiresPermissions(value = { "avVoip:config" }) + public String updateVoipValid(Integer isAudit, String compileIds, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { try { - avContentCfgService.updateAvVoipValid(isAudit,isValid,compileIds,functionId); - addMessage(redirectAttributes,"success", "delete_success"); + avContentCfgService.updateAvVoipValid(isAudit, isValid, compileIds, functionId); + addMessage(redirectAttributes, "success", "delete_success"); } catch (Exception e) { - if(e instanceof MaatConvertException) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.error("voip 信息审核失败",e); - addMessage(redirectAttributes,"error","request_service_failed"); - }else { + logger.error("voip 信息审核失败", e); + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("voip 信息审核失败",e); - addMessage(redirectAttributes,"error","delete_failed"); + logger.error("voip 信息审核失败", e); + addMessage(redirectAttributes, "error", "delete_failed"); } } - return "redirect:" + adminPath +"/ntc/av/voipList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/av/voipList?functionId=" + functionId; } - //修改VOIP account配置状态 -/* @RequestMapping(value = {"/updateAvVoipAccountValid"}) - @RequiresPermissions(value={"avVoipAccount:config"}) - public String updateVoipAccountValid(Integer isAudit,String compileIds,Integer isValid,String ids,Integer functionId - ,RedirectAttributes redirectAttributes - ) { - try { - avContentCfgService.updateAvVoipAccountValid(isAudit,isValid,compileIds,functionId); - } catch (Exception e) { - if(e instanceof MaatConvertException) { - e.printStackTrace(); - logger.error("voip Account信息审核失败",e); - addMessage(redirectAttributes,"request_service_failed"); - }else { - e.printStackTrace(); - logger.error("voip Account信息审核失败",e); - addMessage(redirectAttributes,"audit_failed"); - } - } - return "redirect:" + adminPath +"/ntc/av/voipAccountList?functionId="+functionId; - }*/ - //修改VOIP IP配置审核状态 - @RequestMapping(value = {"/auditAvVoip"}) - @RequiresPermissions(value={"avVoip:confirm"}) - public String auditVoip(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + + // 修改VOIP account配置状态 + /* + * @RequestMapping(value = {"/updateAvVoipAccountValid"}) + * + * @RequiresPermissions(value={"avVoipAccount:config"}) public String + * updateVoipAccountValid(Integer isAudit,String compileIds,Integer + * isValid,String ids,Integer functionId ,RedirectAttributes + * redirectAttributes ) { try { + * avContentCfgService.updateAvVoipAccountValid(isAudit,isValid,compileIds, + * functionId); } catch (Exception e) { if(e instanceof + * MaatConvertException) { e.printStackTrace(); + * logger.error("voip Account信息审核失败",e); + * addMessage(redirectAttributes,"request_service_failed"); }else { + * e.printStackTrace(); logger.error("voip Account信息审核失败",e); + * addMessage(redirectAttributes,"audit_failed"); } } return "redirect:" + + * adminPath +"/ntc/av/voipAccountList?functionId="+functionId; } + */ + // 修改VOIP IP配置审核状态 + @RequestMapping(value = { "/auditAvVoip" }) + @RequiresPermissions(value = { "avVoip:confirm" }) + public String auditVoip(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - avContentCfgService.auditAvVoip(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); - } catch ( Exception e) { - if(e instanceof MaatConvertException) { + avContentCfgService.auditAvVoip(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.error("VOIP配置下发失败:"+e.getMessage());; - addMessage(redirectAttributes,"error","request_service_failed"); - }else { + logger.error("VOIP配置下发失败:" + e.getMessage()); + ; + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("VOIP配置下发失败",e); - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("VOIP配置下发失败", e); + addMessage(redirectAttributes, "error", "audit_failed"); } - + } } - - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } return voipCfgList(model, request, response, cfg, redirectAttributes); } - return "redirect:" + adminPath +"/ntc/av/voipList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/av/voipList?functionId=" + functionId; } - //修改VOIP IP配置审核状态 -/* @RequestMapping(value = {"/auditAvVoipAccount"}) - @RequiresPermissions(value={"avVoipAccount:confirm"}) - public String auditVoipAccount(Integer isAudit,Integer isValid,String ids - ,String compileIds,Integer functionId - ,RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(compileIds)){ - String[] idArray = compileIds.split(","); - Date auditTime=new Date(); - for(String id :idArray){ - try { - avContentCfgService.auditAvVoipAccount(isAudit,isValid,functionId,id,auditTime); - } catch (MaatConvertException e) { - if(e instanceof MaatConvertException) { - e.printStackTrace(); - logger.info("VOIPAccount配置下发失败:"+e.getMessage());; - addMessage(redirectAttributes,"request_service_failed"); - }else { - e.printStackTrace(); - logger.error("VOIPAccount配置下发失败",e); - addMessage(redirectAttributes,"audit_failed"); - } - } - } - - } - return "redirect:" + adminPath +"/ntc/av/voipAccountList?functionId="+functionId; - }*/ - + // 修改VOIP IP配置审核状态 + /* + * @RequestMapping(value = {"/auditAvVoipAccount"}) + * + * @RequiresPermissions(value={"avVoipAccount:confirm"}) public String + * auditVoipAccount(Integer isAudit,Integer isValid,String ids ,String + * compileIds,Integer functionId ,RedirectAttributes redirectAttributes) { + * if(!StringUtil.isEmpty(compileIds)){ String[] idArray = + * compileIds.split(","); Date auditTime=new Date(); for(String id + * :idArray){ try { + * avContentCfgService.auditAvVoipAccount(isAudit,isValid,functionId,id, + * auditTime); } catch (MaatConvertException e) { if(e instanceof + * MaatConvertException) { e.printStackTrace(); + * logger.info("VOIPAccount配置下发失败:"+e.getMessage());; + * addMessage(redirectAttributes,"request_service_failed"); }else { + * e.printStackTrace(); logger.error("VOIPAccount配置下发失败",e); + * addMessage(redirectAttributes,"audit_failed"); } } } + * + * } return "redirect:" + adminPath + * +"/ntc/av/voipAccountList?functionId="+functionId; } + */ + /** - * 账号account - * 根据索引表信息异步获取子表信息 + * 账号account 根据索引表信息异步获取子表信息 + * * @return */ - /*@ResponseBody - @RequestMapping(value = "ajaxVoipAccountInfo") - public Map getVoipAccountInfo(CfgIndexInfo cfgIndexInfo) { - Map voipAndAccountInfoMap=new HashMap(); - List voipAccountCfgList=new ArrayList(); - List ntcSubscribeIdCfgList=new ArrayList(); - - voipAccountCfgList = avContentCfgService.getVoipAccountCfgList(cfgIndexInfo); - ntcSubscribeIdCfgList=avContentCfgService.getSubscribeIdCfgList(cfgIndexInfo); - - voipAndAccountInfoMap.put("account", voipAccountCfgList); - voipAndAccountInfoMap.put("subscribe", ntcSubscribeIdCfgList); - return voipAndAccountInfoMap; - }*/ + /* + * @ResponseBody + * + * @RequestMapping(value = "ajaxVoipAccountInfo") public Map + * getVoipAccountInfo(CfgIndexInfo cfgIndexInfo) { Map + * voipAndAccountInfoMap=new HashMap(); + * List voipAccountCfgList=new + * ArrayList(); List + * ntcSubscribeIdCfgList=new ArrayList(); + * + * voipAccountCfgList = + * avContentCfgService.getVoipAccountCfgList(cfgIndexInfo); + * ntcSubscribeIdCfgList=avContentCfgService.getSubscribeIdCfgList( + * cfgIndexInfo); + * + * voipAndAccountInfoMap.put("account", voipAccountCfgList); + * voipAndAccountInfoMap.put("subscribe", ntcSubscribeIdCfgList); return + * voipAndAccountInfoMap; } + */ /** * 根据索引表信息异步获取子表信息 + * * @return */ - @RequestMapping(value = {"/ajaxVoipIpInfo"}) - public String getVoipIpInfo(Model model,Long cfgId,Integer index,Integer compileId) { + @RequestMapping(value = { "/ajaxVoipIpInfo" }) + public String getVoipIpInfo(Model model, Long cfgId, Integer index, Integer compileId) { CfgIndexInfo cfgIndexInfo = new CfgIndexInfo(); cfgIndexInfo.setCfgId(cfgId); cfgIndexInfo.setCompileId(compileId); CfgIndexInfo cfg = avContentCfgService.getCfgIndexInfo(cfgIndexInfo); List tabList = new ArrayList(); - //获取voipIpCfg信息 -/* if(cfg.getVoipIps()!=null){ + // 获取voipIpCfg信息 + /* + * if(cfg.getVoipIps()!=null){ String cfgType = null; for(AvVoipIpCfg + * ip:cfg.getVoipIps()){ if(!ip.getCfgType().equals(cfgType)){ + * tabList.add(new String[]{"1",ip.getCfgType()}); cfgType = + * ip.getCfgType(); } } } + */ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(AvVoipIpCfg ip:cfg.getVoipIps()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); - cfgType = ip.getCfgType(); - } - } - }*/ - if(cfg.getIpPortList()!=null){ - String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - - if(cfg.getVoipAccounts()!=null){ + + if (cfg.getVoipAccounts() != null) { String cfgType = null; - for(AvVoipAccountCfg account:cfg.getVoipAccounts()){ - if(account!=null&&!account.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",account.getCfgType()}); + for (AvVoipAccountCfg account : cfg.getVoipAccounts()) { + if (account != null && !account.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", account.getCfgType() }); cfgType = account.getCfgType(); } } } - //查询关键字 - if(cfg.getNtcSubscribeIdCfgList()!=null){ + // 查询关键字 + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg ntc:cfg.getNtcSubscribeIdCfgList()){ - if(!ntc.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",ntc.getCfgType()}); + for (NtcSubscribeIdCfg ntc : cfg.getNtcSubscribeIdCfgList()) { + if (!ntc.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", ntc.getCfgType() }); cfgType = ntc.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/av/voip/voipSubList"; } - /*****************************voip业务***************/ - - /*****************************contIp业务***************/ - //视频文本内容配置列表 - @RequestMapping(value = {"/contIpList"}) - public String contIpList(Model model,HttpServletRequest request - ,HttpServletResponse response - ,@ModelAttribute("cfg")BaseIpCfg entity - ,RedirectAttributes redirectAttributes){ - Page page = avContentCfgService.findContIpPage(new Page(request, response,"r"), entity); + + /***************************** voip业务 ***************/ + + /***************************** contIp业务 ***************/ + // 视频文本内容配置列表 + @RequestMapping(value = { "/contIpList" }) + public String contIpList(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") BaseIpCfg entity, RedirectAttributes redirectAttributes) { + Page page = avContentCfgService.findContIpPage(new Page(request, response, "r"), entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); return "/cfg/av/contIp/contIpList"; } - //音视频CONTIP新增界面 - @RequestMapping(value = {"/contIpForm"}) - @RequiresPermissions(value={"avContIp:config"}) - public String contIpForm(Model model,HttpServletRequest request,HttpServletResponse response - ,String ids,String compileIds - ,BaseIpCfg cfg - ,RedirectAttributes redirectAttributes){ - if(!StringUtil.isEmpty(compileIds)){ + + // 音视频CONTIP新增界面 + @RequestMapping(value = { "/contIpForm" }) + @RequiresPermissions(value = { "avContIp:config" }) + public String contIpForm(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + String compileIds, BaseIpCfg cfg, RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(compileIds)) { cfg.setCompileId(Integer.parseInt(compileIds)); cfg = avContentCfgService.getContIpCfgById(cfg); initUpdateFormCondition(model, cfg); - }else{ - initFormCondition(model,cfg); + } else { + initFormCondition(model, cfg); } model.addAttribute("_cfg", cfg); return "/cfg/av/contIp/contIpForm"; } - - //保存CONTIP信息 - @RequestMapping(value = {"/saveContIp"}) - public String saveContIp(Model model,HttpServletRequest request - ,HttpServletResponse response, - @ModelAttribute("cfg")BaseIpCfg cfg, - @ModelAttribute("areaCfgIds")String areaCfgIds - ,RedirectAttributes redirectAttributes){ - try{ - avContentCfgService.saveOrUpdateContIp(cfg,areaCfgIds); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - logger.error("信息保存失败",e); + + // 保存CONTIP信息 + @RequestMapping(value = { "/saveContIp" }) + public String saveContIp(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") BaseIpCfg cfg, @ModelAttribute("areaCfgIds") String areaCfgIds, + RedirectAttributes redirectAttributes) { + try { + avContentCfgService.saveOrUpdateContIp(cfg, areaCfgIds); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + logger.error("信息保存失败", e); e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/ntc/av/contIpList?functionId="+cfg.getFunctionId(); + + return "redirect:" + adminPath + "/ntc/av/contIpList?functionId=" + cfg.getFunctionId(); } - - //修改CONTIP例配置状态 - @RequestMapping(value = {"/updateAvContIpValid"}) - @RequiresPermissions(value={"avContIp:config"}) - public String updateAvContIpValid(Integer isAudit,Integer isValid - ,String ids,Integer functionId - ,RedirectAttributes redirectAttributes){ - avContentCfgService.updateContIpValid(isAudit,isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/av/contIpList?functionId="+functionId; + + // 修改CONTIP例配置状态 + @RequestMapping(value = { "/updateAvContIpValid" }) + @RequiresPermissions(value = { "avContIp:config" }) + public String updateAvContIpValid(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { + avContentCfgService.updateContIpValid(isAudit, isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/av/contIpList?functionId=" + functionId; } - //修改CONTIP配置审核 - @RequestMapping(value = {"/auditAvContIp"}) - @RequiresPermissions(value={"avContIp:confirm"}) - public String auditContIp(Integer isAudit,Integer isValid - ,String ids,String compileIds,Integer functionId - , RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(compileIds)){ + + // 修改CONTIP配置审核 + @RequestMapping(value = { "/auditAvContIp" }) + @RequiresPermissions(value = { "avContIp:confirm" }) + public String auditContIp(Integer isAudit, Integer isValid, String ids, String compileIds, Integer functionId, + RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(compileIds)) { String[] idArray = compileIds.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - avContentCfgService.auditContIp(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); + avContentCfgService.auditContIp(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { - logger.error("Cont Ip配置下发失败",e); - addMessage(redirectAttributes,"error","request_service_failed"); - }catch (Exception e) { - logger.error("Cont Ip配置下发失败",e); - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("Cont Ip配置下发失败", e); + addMessage(redirectAttributes, "error", "request_service_failed"); + } catch (Exception e) { + logger.error("Cont Ip配置下发失败", e); + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + } - return "redirect:" + adminPath +"/ntc/av/contIpList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/av/contIpList?functionId=" + functionId; } + // 获取域配置信息 - @RequestMapping(value = {"ajaxAvContIpList"}) - public String ajaxAvContIpList(Model model,Long cfgId,Integer index) { + @RequestMapping(value = { "ajaxAvContIpList" }) + public String ajaxAvContIpList(Model model, Long cfgId, Integer index) { BaseIpCfg baseIpCfg = new BaseIpCfg(); baseIpCfg.setCfgId(cfgId); BaseIpCfg cfg = avContentCfgService.getContIpCfgById(baseIpCfg); List tabList = new ArrayList(); - - tabList.add(new String[]{"1",cfg.getCfgType()}); - if(cfg.getNtcSubscribeIdCfgList()!=null){ + + tabList.add(new String[] { "1", cfg.getCfgType() }); + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(BaseStringCfg subscribeId:cfg.getNtcSubscribeIdCfgList()){ - if(!subscribeId.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",subscribeId.getCfgType()}); + for (BaseStringCfg subscribeId : cfg.getNtcSubscribeIdCfgList()) { + if (!subscribeId.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", subscribeId.getCfgType() }); cfgType = subscribeId.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/av/subList"; } - /*****************************contIp业务***************/ - - /*****************************picIp业务***************/ - //视频文本内容配置列表 - @RequestMapping(value = {"/picIpList"}) - public String picIpList(Model model,HttpServletRequest request - ,HttpServletResponse response - ,@ModelAttribute("cfg")BaseIpCfg entity - ,RedirectAttributes redirectAttributes){ - Page page = avContentCfgService.findPicIpPage(new Page(request, response,"r"), entity); + + /***************************** contIp业务 ***************/ + + /***************************** picIp业务 ***************/ + // 视频文本内容配置列表 + @RequestMapping(value = { "/picIpList" }) + public String picIpList(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") BaseIpCfg entity, RedirectAttributes redirectAttributes) { + Page page = avContentCfgService.findPicIpPage(new Page(request, response, "r"), entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); return "/cfg/av/picIp/picIpList"; } - //音视频CONTIP新增界面 - @RequestMapping(value = {"/picIpForm"}) - @RequiresPermissions(value={"avPicIp:config"}) - public String picIpForm(Model model,HttpServletRequest request - ,HttpServletResponse response,String ids - ,String compileIds,BaseIpCfg cfg - ,RedirectAttributes redirectAttributes){ - if(!StringUtil.isEmpty(compileIds)){ + + // 音视频CONTIP新增界面 + @RequestMapping(value = { "/picIpForm" }) + @RequiresPermissions(value = { "avPicIp:config" }) + public String picIpForm(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + String compileIds, BaseIpCfg cfg, RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(compileIds)) { cfg.setCompileId(Integer.parseInt(compileIds)); cfg = avContentCfgService.getPicIpCfgById(cfg); initUpdateFormCondition(model, cfg); - }else{ - initFormCondition(model,cfg); + } else { + initFormCondition(model, cfg); } model.addAttribute("_cfg", cfg); return "/cfg/av/picIp/picIpForm"; } - - //保存CONTIP信息 - @RequestMapping(value = {"/savePicIp"}) - public String savePicIp(Model model,HttpServletRequest request - ,HttpServletResponse response, - @ModelAttribute("cfg")BaseIpCfg cfg, - @ModelAttribute("areaCfgIds")String areaCfgIds - ,RedirectAttributes redirectAttributes){ - try{ - avContentCfgService.saveOrUpdatePicIp(cfg,areaCfgIds); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - logger.error("信息保存失败",e); + + // 保存CONTIP信息 + @RequestMapping(value = { "/savePicIp" }) + public String savePicIp(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") BaseIpCfg cfg, @ModelAttribute("areaCfgIds") String areaCfgIds, + RedirectAttributes redirectAttributes) { + try { + avContentCfgService.saveOrUpdatePicIp(cfg, areaCfgIds); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + logger.error("信息保存失败", e); e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/ntc/av/picIpList?functionId="+cfg.getFunctionId(); + + return "redirect:" + adminPath + "/ntc/av/picIpList?functionId=" + cfg.getFunctionId(); } - - //修改CONTIP例配置状态 - @RequestMapping(value = {"/updatePicIpValid"}) - @RequiresPermissions(value={"avPicIp:config"}) - public String updateAvPicIpValid(Integer isAudit,Integer isValid - ,String ids,Integer functionId - ,RedirectAttributes redirectAttributes){ - avContentCfgService.updatePicIpValid(isAudit,isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/av/picIpList?functionId="+functionId; + + // 修改CONTIP例配置状态 + @RequestMapping(value = { "/updatePicIpValid" }) + @RequiresPermissions(value = { "avPicIp:config" }) + public String updateAvPicIpValid(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { + avContentCfgService.updatePicIpValid(isAudit, isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/av/picIpList?functionId=" + functionId; } - //修改CONTIP配置审核 - @RequestMapping(value = {"/auditPicIp"}) - @RequiresPermissions(value={"avPicIp:confirm"}) - public String auditPicIp(Integer isAudit,Integer isValid,String ids - ,String compileIds,Integer functionId - , RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(compileIds)){ + + // 修改CONTIP配置审核 + @RequestMapping(value = { "/auditPicIp" }) + @RequiresPermissions(value = { "avPicIp:confirm" }) + public String auditPicIp(Integer isAudit, Integer isValid, String ids, String compileIds, Integer functionId, + RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(compileIds)) { String[] idArray = compileIds.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - avContentCfgService.auditPicIp(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); + avContentCfgService.auditPicIp(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { e.printStackTrace(); - logger.error("Pic Ip配置下发失败",e); - addMessage(redirectAttributes,"error","request_service_failed"); + logger.error("Pic Ip配置下发失败", e); + addMessage(redirectAttributes, "error", "request_service_failed"); } catch (Exception e) { e.printStackTrace(); - logger.error("Pic Ip配置下发失败",e); - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("Pic Ip配置下发失败", e); + addMessage(redirectAttributes, "error", "audit_failed"); } } - + } - return "redirect:" + adminPath +"/ntc/av/picIpList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/av/picIpList?functionId=" + functionId; } + // 获取域配置信息 - @RequestMapping(value = {"ajaxAvPicIpList"}) - public String ajaxAvPicIpList(Model model,Long cfgId,Integer index) { + @RequestMapping(value = { "ajaxAvPicIpList" }) + public String ajaxAvPicIpList(Model model, Long cfgId, Integer index) { BaseIpCfg baseIpCfg = new BaseIpCfg(); baseIpCfg.setCfgId(cfgId); BaseIpCfg cfg = avContentCfgService.getPicIpCfgById(baseIpCfg); List tabList = new ArrayList(); - - tabList.add(new String[]{"1",cfg.getCfgType()}); - if(cfg.getNtcSubscribeIdCfgList()!=null){ + + tabList.add(new String[] { "1", cfg.getCfgType() }); + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(BaseStringCfg subscribeId:cfg.getNtcSubscribeIdCfgList()){ - if(!subscribeId.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",subscribeId.getCfgType()}); + for (BaseStringCfg subscribeId : cfg.getNtcSubscribeIdCfgList()) { + if (!subscribeId.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", subscribeId.getCfgType() }); cfgType = subscribeId.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/av/subList"; - } - /*****************************picIp业务***************/ - - - /*****************************contUrl业务***************/ - //视频文本内容配置列表 - @RequestMapping(value = {"/contUrlList"}) - public String contUrlList(Model model,HttpServletRequest request - ,HttpServletResponse response - ,@ModelAttribute("cfg")CfgIndexInfo entity - ,RedirectAttributes redirectAttributes){ - /*if(entity.getIpPort()== null){ - entity.setIpPort(new IpPortCfg()); - } - if(entity.getAvContUrlCfgList()== null){ - entity.setAvContUrlCfg(new AvContUrlCfg());; - } - if(entity.getNtcSubscribeIdCfg()==null){ - entity.setNtcSubscribeIdCfg(new NtcSubscribeIdCfg()); - }*/ - Page page = avContentCfgService.findPage(new Page(request, response,"r"), entity); + } + + /***************************** picIp业务 ***************/ + + /***************************** contUrl业务 ***************/ + // 视频文本内容配置列表 + @RequestMapping(value = { "/contUrlList" }) + public String contUrlList(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, RedirectAttributes redirectAttributes) { + /* + * if(entity.getIpPort()== null){ entity.setIpPort(new IpPortCfg()); } + * if(entity.getAvContUrlCfgList()== null){ entity.setAvContUrlCfg(new + * AvContUrlCfg());; } if(entity.getNtcSubscribeIdCfg()==null){ + * entity.setNtcSubscribeIdCfg(new NtcSubscribeIdCfg()); } + */ + Page page = avContentCfgService.findPage(new Page(request, response, "r"), entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); return "/cfg/av/contUrl/contUrlList"; } - //音视频CONTUrl新增界面 - @RequestMapping(value = {"/contUrlForm"}) - @RequiresPermissions(value={"avContUrl:config"}) - public String contUrlForm(Model model,HttpServletRequest request ,HttpServletResponse response - ,String compileIds,String ids, CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){ - if(!StringUtil.isEmpty(ids)){ + + // 音视频CONTUrl新增界面 + @RequestMapping(value = { "/contUrlForm" }) + @RequiresPermissions(value = { "avContUrl:config" }) + public String contUrlForm(Model model, HttpServletRequest request, HttpServletResponse response, String compileIds, + String ids, CfgIndexInfo cfg, RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(ids)) { cfg.setCfgId(Long.parseLong(ids)); cfg = avContentCfgService.getUrlCfgIndexInfo(cfg); AvContUrlCfg urlCfg = new AvContUrlCfg(); urlCfg.setCfgType("NTC_STREAMING_MEDIA_URL"); cfg.setAvContUrlCfg(urlCfg); - if(cfg.getAvContUrlCfgList().size()==0){ + if (cfg.getAvContUrlCfgList().size() == 0) { cfg.getAvContUrlCfgList().add(urlCfg); } initUpdateFormCondition(model, cfg); - }else{ + } else { AvContUrlCfg urlCfg = new AvContUrlCfg(); urlCfg.setCfgType("NTC_STREAMING_MEDIA_URL"); cfg.setAvContUrlCfg(urlCfg); - List urlList=new ArrayList(); + List urlList = new ArrayList(); urlList.add(urlCfg); cfg.setAvContUrlCfgList(urlList); - initFormCondition(model,cfg); + initFormCondition(model, cfg); } model.addAttribute("_cfg", cfg); return "/cfg/av/contUrl/contUrlForm"; } - - //保存CONTUrl信息 - @RequestMapping(value = {"/saveContUrl"}) - public String saveContUrl(Model model,HttpServletRequest request,HttpServletResponse response,String ids, - CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){ - try{ + + // 保存CONTUrl信息 + @RequestMapping(value = { "/saveContUrl" }) + public String saveContUrl(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + CfgIndexInfo cfg, RedirectAttributes redirectAttributes) { + try { avContentCfgService.saveOrUpdateContUrl(cfg); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - if(e instanceof MaatConvertException) { + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.error("Stream Media 信息保存失败",e); - addMessage(redirectAttributes,"error","request_service_failed"); - }else { + logger.error("Stream Media 信息保存失败", e); + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("Stream Media 信息保存失败",e); - addMessage(redirectAttributes,"error","save_failed"); + logger.error("Stream Media 信息保存失败", e); + addMessage(redirectAttributes, "error", "save_failed"); } } - return "redirect:" + adminPath +"/ntc/av/contUrlList?functionId="+cfg.getFunctionId(); + return "redirect:" + adminPath + "/ntc/av/contUrlList?functionId=" + cfg.getFunctionId(); } - - //修改CONTUrl例配置状态 - @RequestMapping(value = {"/updateAvContUrlValid"}) - @RequiresPermissions(value={"avContUrl:config"}) - public String updateAvContUrlValid(Integer isAudit,Integer isValid - ,String ids,Integer functionId - ,RedirectAttributes redirectAttributes){ - avContentCfgService.updateContUrlValid(isAudit,isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/av/contUrlList?functionId="+functionId; + + // 修改CONTUrl例配置状态 + @RequestMapping(value = { "/updateAvContUrlValid" }) + @RequiresPermissions(value = { "avContUrl:config" }) + public String updateAvContUrlValid(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { + avContentCfgService.updateContUrlValid(isAudit, isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/av/contUrlList?functionId=" + functionId; } - //修改CONTUrl配置审核 - @RequestMapping(value = {"/auditAvContUrl"}) - @RequiresPermissions(value={"avContUrl:confirm"}) - public String auditContUrl(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + + // 修改CONTUrl配置审核 + @RequestMapping(value = { "/auditAvContUrl" }) + @RequiresPermissions(value = { "avContUrl:confirm" }) + public String auditContUrl(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - avContentCfgService.auditContUrl(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); - } catch ( Exception e) { + avContentCfgService.auditContUrl(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { e.printStackTrace(); - logger.info("Cont Url配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.info("Cont Url配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } return contUrlList(model, request, response, cfg, redirectAttributes); } - return "redirect:" + adminPath +"/ntc/av/contUrlList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/av/contUrlList?functionId=" + functionId; } + // 获取域配置信息 - @RequestMapping(value = {"ajaxAvContUrlList"}) - public String ajaxAvContUrlList(Model model,Long cfgId,Integer index,Integer compileId) { + @RequestMapping(value = { "ajaxAvContUrlList" }) + public String ajaxAvContUrlList(Model model, Long cfgId, Integer index, Integer compileId) { CfgIndexInfo cfgIndexInfo = new CfgIndexInfo(); cfgIndexInfo.setCfgId(cfgId); cfgIndexInfo.setCompileId(compileId); CfgIndexInfo cfg = avContentCfgService.getUrlCfgIndexInfo(cfgIndexInfo); List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getAvContUrlCfgList()!=null){ + if (cfg.getAvContUrlCfgList() != null) { String cfgType = null; - for(AvContUrlCfg avContUrlCfg:cfg.getAvContUrlCfgList()){ - if(!avContUrlCfg.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",avContUrlCfg.getCfgType()}); + for (AvContUrlCfg avContUrlCfg : cfg.getAvContUrlCfgList()) { + if (!avContUrlCfg.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", avContUrlCfg.getCfgType() }); cfgType = avContUrlCfg.getCfgType(); } } } - - - //查询关键字 - if(cfg.getNtcSubscribeIdCfgList()!=null){ + + // 查询关键字 + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg ntc:cfg.getNtcSubscribeIdCfgList()){ - if(!ntc.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",ntc.getCfgType()}); + for (NtcSubscribeIdCfg ntc : cfg.getNtcSubscribeIdCfgList()) { + if (!ntc.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", ntc.getCfgType() }); cfgType = ntc.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/av/contUrl/contSubList"; } - /*****************************contUrl业务***************/ - - - /*****************************picUrl业务***************/ - //视频文本内容配置列表 - @RequestMapping(value = {"/picUrlList"}) - public String picUrlList(Model model,HttpServletRequest request - ,HttpServletResponse response - ,@ModelAttribute("cfg")BaseStringCfg entity - ,RedirectAttributes redirectAttributes){ - Page page = avContentCfgService.findPicUrlPage(new Page(request, response,"r"), entity); + + /***************************** contUrl业务 ***************/ + + /***************************** picUrl业务 ***************/ + // 视频文本内容配置列表 + @RequestMapping(value = { "/picUrlList" }) + public String picUrlList(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") BaseStringCfg entity, RedirectAttributes redirectAttributes) { + Page page = avContentCfgService.findPicUrlPage(new Page(request, response, "r"), + entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); return "/cfg/av/picUrl/picUrlList"; } - //音视频CONTUrl新增界面 - @RequestMapping(value = {"/picUrlForm"}) - @RequiresPermissions(value={"avPicUrl:config"}) - public String picUrlForm(Model model,HttpServletRequest request - ,HttpServletResponse response,String ids - ,String compileIds,@ModelAttribute("cfg")BaseStringCfg cfg - ,RedirectAttributes redirectAttributes){ - if(!StringUtil.isEmpty(compileIds)){ + + // 音视频CONTUrl新增界面 + @RequestMapping(value = { "/picUrlForm" }) + @RequiresPermissions(value = { "avPicUrl:config" }) + public String picUrlForm(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + String compileIds, @ModelAttribute("cfg") BaseStringCfg cfg, RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(compileIds)) { cfg.setCompileId(Integer.parseInt(compileIds)); cfg = avContentCfgService.getPicUrlCfgById(cfg); initUpdateFormCondition(model, cfg); - }else{ - initFormCondition(model,cfg); + } else { + initFormCondition(model, cfg); } model.addAttribute("_cfg", cfg); return "/cfg/av/picUrl/picUrlForm"; } - - //保存CONTUrl信息 - @RequestMapping(value = {"/savePicUrl"}) - public String savePicUrl(Model model,HttpServletRequest request - ,HttpServletResponse response, - @ModelAttribute("cfg")BaseStringCfg cfg, - @ModelAttribute("areaCfgIds")String areaCfgIds - ,RedirectAttributes redirectAttributes){ - try{ - avContentCfgService.saveOrUpdatePicUrl(cfg,areaCfgIds); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - logger.error("信息保存失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + + // 保存CONTUrl信息 + @RequestMapping(value = { "/savePicUrl" }) + public String savePicUrl(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") BaseStringCfg cfg, @ModelAttribute("areaCfgIds") String areaCfgIds, + RedirectAttributes redirectAttributes) { + try { + avContentCfgService.saveOrUpdatePicUrl(cfg, areaCfgIds); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + logger.error("信息保存失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/ntc/av/picUrlList?functionId="+cfg.getFunctionId(); + + return "redirect:" + adminPath + "/ntc/av/picUrlList?functionId=" + cfg.getFunctionId(); } - - //修改CONTUrl例配置状态 - @RequestMapping(value = {"/updateAvPicUrlValid"}) - @RequiresPermissions(value={"avPicUrl:config"}) - public String updateAvPicUrlValid(Integer isAudit,Integer isValid - ,String ids,Integer functionId - ,RedirectAttributes redirectAttributes){ - avContentCfgService.updatePicUrlValid(isAudit,isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/av/picUrlList?functionId="+functionId; + + // 修改CONTUrl例配置状态 + @RequestMapping(value = { "/updateAvPicUrlValid" }) + @RequiresPermissions(value = { "avPicUrl:config" }) + public String updateAvPicUrlValid(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { + avContentCfgService.updatePicUrlValid(isAudit, isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/av/picUrlList?functionId=" + functionId; } - //修改CONTUrl配置审核 - @RequestMapping(value = {"/auditAvPicUrl"}) - @RequiresPermissions(value={"avPicUrl:confirm"}) - public String auditPicUrl(Integer isAudit,Integer isValid - ,String ids,String compileIds,Integer functionId - , RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(compileIds)){ + + // 修改CONTUrl配置审核 + @RequestMapping(value = { "/auditAvPicUrl" }) + @RequiresPermissions(value = { "avPicUrl:confirm" }) + public String auditPicUrl(Integer isAudit, Integer isValid, String ids, String compileIds, Integer functionId, + RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(compileIds)) { String[] idArray = compileIds.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - avContentCfgService.auditPicUrl(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); - } catch ( Exception e) { + avContentCfgService.auditPicUrl(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { e.printStackTrace(); - logger.info("Pic Url配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.info("Pic Url配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - + } - return "redirect:" + adminPath +"/ntc/av/picUrlList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/av/picUrlList?functionId=" + functionId; } + // 获取域配置信息 - @RequestMapping(value = {"ajaxAvPicUrlList"}) - public String ajaxAvPicUrlList(Model model,Long cfgId,Integer index) { + @RequestMapping(value = { "ajaxAvPicUrlList" }) + public String ajaxAvPicUrlList(Model model, Long cfgId, Integer index) { BaseStringCfg baseStrCfg = new BaseStringCfg(); baseStrCfg.setCfgId(cfgId); BaseStringCfg cfg = avContentCfgService.getPicUrlCfgById(baseStrCfg); List tabList = new ArrayList(); - - tabList.add(new String[]{"2",cfg.getCfgType()}); - if(cfg.getNtcSubscribeIdCfgList()!=null){ + + tabList.add(new String[] { "2", cfg.getCfgType() }); + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg subscribeId:cfg.getNtcSubscribeIdCfgList()){ - if(!subscribeId.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",subscribeId.getCfgType()}); + for (NtcSubscribeIdCfg subscribeId : cfg.getNtcSubscribeIdCfgList()) { + if (!subscribeId.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", subscribeId.getCfgType() }); cfgType = subscribeId.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/av/subList"; } - /*****************************picUrl业务***************/ + + /***************************** picUrl业务 ***************/ /** - * 1、effectiveIds分组展示 - * 2、无effectiveIds查询area_ip,根据compileId查询展示 + * 1、effectiveIds分组展示 2、无effectiveIds查询area_ip,根据compileId查询展示 */ @ResponseBody @RequestMapping(value = "/area/ajaxAreaEffictiveInfo") - public Map ajaxAreaEffictiveInfo(String areaEffectiveIds,Integer compileId) { - Map data=new HashMap(); - - List areaIsps=new ArrayList(); - List areaIps=new ArrayList(); - if(StringUtils.isEmpty(areaEffectiveIds)){ - areaIps=ipCfgService.getAreaCfgByCompileId(compileId); - }else{ - List itTypeList=new ArrayList(); + public Map ajaxAreaEffictiveInfo(String areaEffectiveIds, Integer compileId) { + Map data = new HashMap(); + + List areaIsps = new ArrayList(); + List areaIps = new ArrayList(); + if (StringUtils.isEmpty(areaEffectiveIds)) { + areaIps = ipCfgService.getAreaCfgByCompileId(compileId); + } else { + List itTypeList = new ArrayList(); itTypeList.add(Constants.ITEM_TYPE_AREA); - List areas = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(),itTypeList,null); + List areas = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(), itTypeList, null); itTypeList.clear(); itTypeList.add(Constants.ITEM_TYPE_ISP); - List isps = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(),itTypeList,null); + List isps = sysDictInfoService.findAllSysDictInfo(new SysDictInfo(), itTypeList, null); getAreaIsps(areaEffectiveIds, areaIsps, isps, areas); - + } data.put("areaIsps", areaIsps); data.put("areaIps", areaIps); return data; } - //视频文本VOIP配置列表导出 - @RequestMapping(value = {"/voipExport"}) - public String voipExport(Model model, - HttpServletRequest request, - HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity, - String ids, - RedirectAttributes redirectAttributes){ + + // 视频文本VOIP配置列表导出 + @RequestMapping(value = { "/voipExport" }) + public String voipExport(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { try { - //获取国际化配置 + // 获取国际化配置 Properties msgProp = getMsgProp(); - //获取分类、性质、标签 - List fls=serviceDictInfoService.findAllFlDict(); - List xzs=serviceDictInfoService.findAllXzDict(); - List labels=serviceDictInfoService.findAllLableDict(); - Map map=new HashMap(); + // 获取分类、性质、标签 + List fls = serviceDictInfoService.findAllFlDict(); + List xzs = serviceDictInfoService.findAllXzDict(); + List labels = serviceDictInfoService.findAllLableDict(); + Map map = new HashMap(); map.put("fls", fls); map.put("xzs", xzs); map.put("labels", labels); - - String fileName = "数据-"+DateUtils.getDate("yyyyMMddHHmmss")+".xlsx"; - - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - - }else{ - //导出查询条件下的所有记录 - - if(entity.getVoipIp()== null){ - entity.setVoipIp(new AvVoipIpCfg()); - } - if(entity.getVoipAccount()== null){ - entity.setVoipAccount(new AvVoipAccountCfg()); - } - //条件导出数据大于最大导出数,只导出最大导出条数 - Page pageInfo=new Page(request, response,"r"); - if(pageInfo.getCount()>Constants.MAX_EXPORT_SIZE){ - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - }else{ - pageInfo.setPageNo(1); - pageInfo.setPageSize(-1); - } - Page page = avContentCfgService.findPage(pageInfo, entity); - new ExportExcel(msgProp,null, CfgIndexInfo.class,1).setDataList(msgProp,page.getList(),map).write(response, fileName).dispose(); - } - - return null; - } catch (Exception e) { - e.printStackTrace(); - addMessage(redirectAttributes,"error", "export_failed"); - } - - return "redirect:" + adminPath +"/ntc/av/picUrlList?functionId="+entity.getFunctionId(); - } - - //stream配置导出 - @RequestMapping(value = "exportStream") - public void exportStream(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"r"); + + String fileName = "数据-" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; + + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + + } else { + // 导出查询条件下的所有记录 + + if (entity.getVoipIp() == null) { + entity.setVoipIp(new AvVoipIpCfg()); + } + if (entity.getVoipAccount() == null) { + entity.setVoipAccount(new AvVoipAccountCfg()); + } + // 条件导出数据大于最大导出数,只导出最大导出条数 + Page pageInfo = new Page(request, response, "r"); + if (pageInfo.getCount() > Constants.MAX_EXPORT_SIZE) { pageInfo.setPageNo(1); pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - if(entity.getIpPort()== null){ - entity.setIpPort(new IpPortCfg()); - } - if(entity.getAvContUrlCfgList()== null){ - entity.setAvContUrlCfg(new AvContUrlCfg());; - } - if(entity.getNtcSubscribeIdCfg()==null){ - entity.setNtcSubscribeIdCfg(new NtcSubscribeIdCfg()); - } - Page page = avContentCfgService.findPage(pageInfo, entity); - ipLists=page.getList(); + } else { + pageInfo.setPageNo(1); + pageInfo.setPageSize(-1); } - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_UNIVERSAL_IP"); - titleList.add("NTC_STREAMING_MEDIA_URL"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); - classMap.put("NTC_STREAMING_MEDIA_URL", BaseStringCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String regionCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_UNIVERSAL_IP", ipPortInfoNoExport); - noExportMap.put("NTC_STREAMING_MEDIA_URL", regionCfgNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - List ipList=new ArrayList(); - List subscribeInfoList=new ArrayList(); - List streamurlList=new ArrayList(); - for (CfgIndexInfo cfg : ipLists) { - Map maps=avContentCfgService.exportstream(cfg); - ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); - streamurlList.addAll(maps.get("NTC_STREAMING_MEDIA_URL")); - subscribeInfoList.addAll(maps.get("NTC_SUBSCRIBE_ID")); - } - subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); - streamurlList=BaseStringCfg.replaceBaseKeyList(streamurlList); - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_UNIVERSAL_IP", ipList); - dataMap.put("NTC_STREAMING_MEDIA_URL", streamurlList); - dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("stream export failed",e); - addMessage(redirectAttributes,"error", "export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); - } - - //voip配置导出 - @RequestMapping(value = "exportVoip") - public void exportVoip(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - if(entity.getIpPort()== null){ - entity.setIpPort(new IpPortCfg()); - } - if(entity.getVoipAccount()== null){ - entity.setVoipAccount(new AvVoipAccountCfg()); - } - if(entity.getNtcSubscribeIdCfg()==null){ - entity.setNtcSubscribeIdCfg(new NtcSubscribeIdCfg()); - } - Page page = avContentCfgService.findPage(new Page(request, response,"r"), entity); - ipLists=page.getList(); - } - - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_UNIVERSAL_IP"); - titleList.add("NTC_VOIP_ACCOUNT"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); - classMap.put("NTC_VOIP_ACCOUNT", BaseStringCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String regionCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_UNIVERSAL_IP", ipPortInfoNoExport); - noExportMap.put("NTC_VOIP_ACCOUNT", regionCfgNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - List ipList=new ArrayList(); - List subscribeInfoList=new ArrayList(); - List countlList=new ArrayList(); - for (CfgIndexInfo cfg : ipLists) { - Map maps=avContentCfgService.exportvoip(cfg); - ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); - countlList.addAll(maps.get("NTC_VOIP_ACCOUNT")); - subscribeInfoList.addAll(maps.get("NTC_SUBSCRIBE_ID")); - } - countlList=BaseStringCfg.replaceBaseKeyList(countlList); - subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); - dataMap.put(entity.getMenuNameCode(),ipLists); - dataMap.put("NTC_UNIVERSAL_IP", ipList); - dataMap.put("NTC_VOIP_ACCOUNT", countlList); - dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("voip export failed",e); - addMessage(redirectAttributes,"error", "export_failed"); + Page page = avContentCfgService.findPage(pageInfo, entity); + new ExportExcel(msgProp, null, CfgIndexInfo.class, 1).setDataList(msgProp, page.getList(), map) + .write(response, fileName).dispose(); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + + return null; + } catch (Exception e) { + e.printStackTrace(); + addMessage(redirectAttributes, "error", "export_failed"); } + + return "redirect:" + adminPath + "/ntc/av/picUrlList?functionId=" + entity.getFunctionId(); + } + + // stream配置导出 + @RequestMapping(value = "exportStream") + public void exportStream(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = avContentCfgService.findPage(pageInfo, entity); + ipLists = page.getList(); + } + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_UNIVERSAL_IP"); + titleList.add("NTC_STREAMING_MEDIA_URL"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); + classMap.put("NTC_STREAMING_MEDIA_URL", BaseStringCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + + String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String ntcSubscribeIdCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String regionCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_UNIVERSAL_IP", ipPortInfoNoExport); + noExportMap.put("NTC_STREAMING_MEDIA_URL", regionCfgNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); + List ipList = new ArrayList(); + List subscribeInfoList = new ArrayList(); + List streamurlList = new ArrayList(); + for (CfgIndexInfo cfg : ipLists) { + Map maps = avContentCfgService.exportstream(cfg); + ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); + streamurlList.addAll(maps.get("NTC_STREAMING_MEDIA_URL")); + subscribeInfoList.addAll(maps.get("NTC_SUBSCRIBE_ID")); + } + subscribeInfoList = BaseStringCfg.baseHexList(subscribeInfoList); + streamurlList = BaseStringCfg.replaceBaseKeyList(streamurlList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_UNIVERSAL_IP", ipList); + dataMap.put("NTC_STREAMING_MEDIA_URL", streamurlList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("stream export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // voip配置导出 + @RequestMapping(value = "exportVoip") + public void exportVoip(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = avContentCfgService.findPage(new Page(request, response, "r"), + entity); + ipLists = page.getList(); + } + + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_UNIVERSAL_IP"); + titleList.add("NTC_VOIP_ACCOUNT"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); + classMap.put("NTC_VOIP_ACCOUNT", BaseStringCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + + String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String ntcSubscribeIdCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String regionCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_UNIVERSAL_IP", ipPortInfoNoExport); + noExportMap.put("NTC_VOIP_ACCOUNT", regionCfgNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); + List ipList = new ArrayList(); + List subscribeInfoList = new ArrayList(); + List countlList = new ArrayList(); + for (CfgIndexInfo cfg : ipLists) { + Map maps = avContentCfgService.exportvoip(cfg); + ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); + countlList.addAll(maps.get("NTC_VOIP_ACCOUNT")); + subscribeInfoList.addAll(maps.get("NTC_SUBSCRIBE_ID")); + } + countlList = BaseStringCfg.replaceBaseKeyList(countlList); + subscribeInfoList = BaseStringCfg.baseHexList(subscribeInfoList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_UNIVERSAL_IP", ipList); + dataMap.put("NTC_VOIP_ACCOUNT", countlList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("voip export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java b/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java index f72403808..126b59d4e 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java @@ -71,613 +71,671 @@ import it.sauronsoftware.jave.VideoInfo; /** * 处理音视频业务 + * * @author zhangwei * */ @Controller @RequestMapping("${adminPath}/ntc/av") -public class AvController extends BaseController { +public class AvController extends BaseController { - //音视频文件样例配置列表 - @RequestMapping(value = {"/sample/fileSampleList","/sample/fileSampleSpeakerList","/sample/fileSampleLogoList","/sample/fileSampleFaceList"}) - public String fileSampleList(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")AvFileSampleCfg entity){ - Page page = avCfgService.getAvFileSampleList(new Page(request, response,"a"), entity); + // 音视频文件样例配置列表 + @RequestMapping(value = { "/sample/fileSampleList", "/sample/fileSampleSpeakerList", "/sample/fileSampleLogoList", + "/sample/fileSampleFaceList" }) + public String fileSampleList(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AvFileSampleCfg entity) { + Page page = avCfgService.getAvFileSampleList(new Page(request, response, "a"), + entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); List regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId()); - for(FunctionRegionDict region:regionList){ - model.addAttribute("regionValue",region.getConfigRegionValue()); + for (FunctionRegionDict region : regionList) { + model.addAttribute("regionValue", region.getConfigRegionValue()); break; } return "/cfg/av/fileSampleList"; } - //音视频标志样例配置列表 - @RequestMapping(value = {"/sample/audioSignSampleList"}) - public String audioSignSampleList(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")AvSignSampleCfg entity){ - Page page = avCfgService.getAvSignSampleList(new Page(request, response,"a"), entity); + + // 音视频标志样例配置列表 + @RequestMapping(value = { "/sample/audioSignSampleList" }) + public String audioSignSampleList(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AvSignSampleCfg entity) { + Page page = avCfgService.getAvSignSampleList(new Page(request, response, "a"), + entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); List regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId()); - for(FunctionRegionDict region:regionList){ - model.addAttribute("regionValue",region.getConfigRegionValue()); + for (FunctionRegionDict region : regionList) { + model.addAttribute("regionValue", region.getConfigRegionValue()); break; } return "/cfg/av/signSampleList"; } - //视频标志样例配置列表 - @RequestMapping(value = {"/sample/signSampleList"}) - public String signSampleList(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")AvSignSampleCfg entity){ + + // 视频标志样例配置列表 + @RequestMapping(value = { "/sample/signSampleList" }) + public String signSampleList(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AvSignSampleCfg entity) { List list = avCfgService.getSignSampleList(entity); model.addAttribute("cfgs", list); model.addAttribute("functionId", entity.getFunctionId()); - initPageCondition(model,entity); - /*List regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId()); - for(FunctionRegionDict region:regionList){ - model.addAttribute("regionValue",region.getConfigRegionValue()); - break; - }*/ + initPageCondition(model, entity); + /* + * List regionList = + * DictUtils.getFunctionRegionDictList(entity.getFunctionId()); + * for(FunctionRegionDict region:regionList){ + * model.addAttribute("regionValue",region.getConfigRegionValue()); + * break; } + */ List serviceList = DictUtils.getFunctionServiceDictList(entity.getFunctionId()); model.addAttribute("serviceList", serviceList); - //return "/cfg/av/signSampleList"; + // return "/cfg/av/signSampleList"; return "/cfg/av/switchSignSample"; } + // 日志获取样例获取域配置信息 - @RequestMapping(value = {"ajaxSignSampleList"}) - public String ajaxSignSampleList(Model model,Long cfgId,Integer index,Integer compileId) { + @RequestMapping(value = { "ajaxSignSampleList" }) + public String ajaxSignSampleList(Model model, Long cfgId, Integer index, Integer compileId) { List tabList = new ArrayList(); AvSignSampleCfg cfg = new AvSignSampleCfg(); cfg.setCfgId(cfgId); cfg.setCompileId(compileId); List list = avCfgService.getSignSampleList(cfg); - if(list!=null){ - cfg=list.get(0); + if (list != null) { + cfg = list.get(0); } cfg.setCfgType("5"); - String cfgType = null; - if(cfg.getCfgType()!=null){ - tabList.add(new String[]{"5",cfg.getCfgType()}); - cfgType = cfg.getCfgType(); - } - model.addAttribute("_cfg", cfg); + String cfgType = null; + if (cfg.getCfgType() != null) { + tabList.add(new String[] { "5", cfg.getCfgType() }); + cfgType = cfg.getCfgType(); + } + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/av/switchSignSampleSubList"; } - //文件样例配置界面 - @RequestMapping(value = {"/sample/fileSampleForm"}) - public String fileSampleForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,AvFileSampleCfg entity){ - if(!StringUtil.isEmpty(ids)){ - entity = avCfgService.getAvFileSampleById(Long.parseLong(ids),null); + // 文件样例配置界面 + @RequestMapping(value = { "/sample/fileSampleForm" }) + public String fileSampleForm(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + AvFileSampleCfg entity) { + if (!StringUtil.isEmpty(ids)) { + entity = avCfgService.getAvFileSampleById(Long.parseLong(ids), null); } - - initFormCondition(model,entity); + + initFormCondition(model, entity); model.addAttribute("_cfg", entity); return "/cfg/av/fileSampleForm"; } + // 日志获取样例获取域配置信息 - @RequestMapping(value = {"ajaxfileSampleList"}) - public String ajaxAvContIpList(Model model,Long cfgId,Integer index,Integer compileId) { - AvFileSampleCfg cfg = avCfgService.getAvFileSampleById(cfgId,compileId); + @RequestMapping(value = { "ajaxfileSampleList" }) + public String ajaxAvContIpList(Model model, Long cfgId, Integer index, Integer compileId) { + AvFileSampleCfg cfg = avCfgService.getAvFileSampleById(cfgId, compileId); List tabList = new ArrayList(); - if(cfg!=null){ + if (cfg != null) { String cfgType = null; - if(!cfg.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"5",cfg.getCfgType()}); + if (!cfg.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "5", cfg.getCfgType() }); cfgType = cfg.getCfgType(); } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/av/fileSampleSubList"; } - //标志样例配置界面 - @RequestMapping(value = {"/sample/audioSignSampleForm"}) - public String audioSignSampleForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,AvSignSampleCfg entity){ - if(!StringUtil.isEmpty(ids)){ + + // 标志样例配置界面 + @RequestMapping(value = { "/sample/audioSignSampleForm" }) + public String audioSignSampleForm(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + AvSignSampleCfg entity) { + if (!StringUtil.isEmpty(ids)) { entity = avCfgService.getAvSignSampleById(Long.parseLong(ids)); } - initFormCondition(model,entity); + initFormCondition(model, entity); model.addAttribute("_cfg", entity); return "/cfg/av/signSampleForm"; } - //保存文件样例配置 - @RequestMapping(value = {"/sample/saveFileSample"}) - public String saveFileSample(Model model,HttpServletRequest request,HttpServletResponse response, RedirectAttributes redirectAttributes, - String ids,AvFileSampleCfg entity,MultipartFile srcFile,MultipartFile sampleFile,String picPath,String videoToPicture){ - try{ -// if(srcFile!=null && sampleFile!=null && -// srcFile.getSize()>0 && sampleFile.getSize()>0){ + + // 保存文件样例配置 + @RequestMapping(value = { "/sample/saveFileSample" }) + public String saveFileSample(Model model, HttpServletRequest request, HttpServletResponse response, + RedirectAttributes redirectAttributes, String ids, AvFileSampleCfg entity, MultipartFile srcFile, + MultipartFile sampleFile, String picPath, String videoToPicture) { + try { + // if(srcFile!=null && sampleFile!=null && + // srcFile.getSize()>0 && sampleFile.getSize()>0){ String sep = System.getProperty("file.separator"); - String srcFilePath = Constants.AV_FILE_PATH+entity.getCfgType()+sep+"srcFile";//源文件保存路径 - String sampleFilePath = Constants.AV_FILE_PATH+entity.getCfgType()+sep+"sampleFile";//样例文件保存路径 - String resultFilePath = Constants.AV_FILE_PATH+entity.getCfgType()+sep+"resultFile";//结果文件保存路径 + String srcFilePath = Constants.AV_FILE_PATH + entity.getCfgType() + sep + "srcFile";// 源文件保存路径 + String sampleFilePath = Constants.AV_FILE_PATH + entity.getCfgType() + sep + "sampleFile";// 样例文件保存路径 + String resultFilePath = Constants.AV_FILE_PATH + entity.getCfgType() + sep + "resultFile";// 结果文件保存路径 FileUtils.createDirectory(srcFilePath); - FileUtils.createDirectory(sampleFilePath); - String fileName = UUID.randomUUID()+""; - - //视频样例生成并选中的图片压缩为zip文件 - if("true".equals(videoToPicture)){ - if(!StringUtils.isBlank(entity.getSrcPath())){ - String[] srcArray = entity.getSrcPath().split("\\|");//所选图片数组 - String srcFileAllPath = srcFilePath+sep+fileName+".zip"; + FileUtils.createDirectory(sampleFilePath); + String fileName = UUID.randomUUID() + ""; + + // 视频样例生成并选中的图片压缩为zip文件 + if ("true".equals(videoToPicture)) { + if (!StringUtils.isBlank(entity.getSrcPath())) { + String[] srcArray = entity.getSrcPath().split("\\|");// 所选图片数组 + String srcFileAllPath = srcFilePath + sep + fileName + ".zip"; File zipFile = new File(srcFileAllPath); ZipOutputStream zouts = new ZipOutputStream(new FileOutputStream(zipFile)); - for(String s:srcArray){ - if(!"".equals(s)){ - String filePath = picPath+sep+s; + for (String s : srcArray) { + if (!"".equals(s)) { + String filePath = picPath + sep + s; File file = new File(filePath); - //将文件添加至压缩文件 + // 将文件添加至压缩文件 FileUtils.zipFilesToZipFile(file.getParent(), file, zouts); file.delete(); } } FileUtils.deleteDirectory(picPath); - if(zouts!=null){ + if (zouts != null) { zouts.close(); } FileInputStream input = new FileInputStream(srcFileAllPath); - srcFile = new MockMultipartFile(zipFile.getName(), input); - if(input!=null){ - input.close(); - } + srcFile = new MockMultipartFile(zipFile.getName(), input); + if (input != null) { + input.close(); + } } } - - if(srcFile!=null && srcFile.getSize()>0 && entity!=null){ + + if (srcFile != null && srcFile.getSize() > 0 && entity != null) { String srcFileAllPath = ""; - if(StringUtil.isBlank(srcFile.getOriginalFilename())){ - srcFileAllPath = srcFilePath+sep+fileName+FileUtils.getSuffix(srcFile.getName(), true); - }else{ - srcFileAllPath = srcFilePath+sep+fileName+FileUtils.getSuffix(srcFile.getOriginalFilename(), true); + if (StringUtil.isBlank(srcFile.getOriginalFilename())) { + srcFileAllPath = srcFilePath + sep + fileName + FileUtils.getSuffix(srcFile.getName(), true); + } else { + srcFileAllPath = srcFilePath + sep + fileName + + FileUtils.getSuffix(srcFile.getOriginalFilename(), true); } - - String sampleFileAllPath = sampleFilePath+sep+fileName+".sample"; - String resultFileAllPath = resultFilePath+sep+fileName+".result"; + + String sampleFileAllPath = sampleFilePath + sep + fileName + ".sample"; + String resultFileAllPath = resultFilePath + sep + fileName + ".result"; entity.setSrcPath(srcFileAllPath); entity.setSamplePath(sampleFileAllPath); entity.setResultPath(resultFileAllPath); - + File uploadSrcFile = new File(srcFileAllPath); - if(!uploadSrcFile.exists()){ - FileCopyUtils.copy(srcFile.getBytes(), uploadSrcFile);//保存源文件 + if (!uploadSrcFile.exists()) { + FileCopyUtils.copy(srcFile.getBytes(), uploadSrcFile);// 保存源文件 } entity.setSrcUrl(""); entity.setSampleUrl(""); - /*String host = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath(); - String srcUrl = host+srcFilePath.substring(srcFilePath.indexOf(Constants.AV_FILE_PATH)+Constants.AV_FILE_PATH.length()-1)+sep+uploadSrcFile.getName(); - String sampleUrl = host+sampleFilePath.substring(sampleFilePath.indexOf(Constants.AV_FILE_PATH)+Constants.AV_FILE_PATH.length()-1)+sep+uploadSampleFile.getName(); - srcUrl = srcUrl.replace("\\", "/"); - sampleUrl = sampleUrl.replace("\\", "/"); - logger.info("srcUrl:"+srcUrl); - logger.info("sampleUrl:"+sampleUrl); - entity.setSrcUrl(srcUrl); - entity.setSampleUrl(sampleUrl);*/ - -// File uploadSrcFile = new File(srcFilePath); -// FileCopyUtils.copy(srcFile.getBytes(), uploadSrcFile); -// String srcMd5 = FileUtils.getFileMD5(uploadSrcFile); -// File uploadSampleFile = new File(sampleFilePath); -// String sampleMd5 = FileUtils.getFileMD5(uploadSampleFile); - -// entity.setSrcMd5(srcMd5); -// entity.setSampleMd5(sampleMd5); - - //音频、视频、VoIP、说话人(音频)、人脸识别(视频)样例需要验证时长 - if(Constants.AUDIO_FILE_TYPE.contains(FileUtils.getSuffix(uploadSrcFile.getName(),false)) - ||Constants.VIDEO_FILE_TYPE.contains(FileUtils.getSuffix(uploadSrcFile.getName(),false)) - ||Constants.VOIP_FILE_TYPE.contains(FileUtils.getSuffix(uploadSrcFile.getName(),false)) - ||Constants.SPEAKER_FILE_TYPE.contains(FileUtils.getSuffix(uploadSrcFile.getName(),false)) - ){ - if(!validateAvDuration(uploadSrcFile)){ - addMessage(redirectAttributes,"error","exceeds_duration_limit"); - logger.error("The duration of uploaded files exceeds the limit("+Constants.AV_DURATION_LIMIT+"s)."); + /* + * String host = + * request.getScheme()+"://"+request.getServerName()+":"+request + * .getServerPort()+request.getContextPath(); String srcUrl = + * host+srcFilePath.substring(srcFilePath.indexOf(Constants. + * AV_FILE_PATH)+Constants.AV_FILE_PATH.length()-1)+sep+ + * uploadSrcFile.getName(); String sampleUrl = + * host+sampleFilePath.substring(sampleFilePath.indexOf( + * Constants.AV_FILE_PATH)+Constants.AV_FILE_PATH.length()-1)+ + * sep+uploadSampleFile.getName(); srcUrl = + * srcUrl.replace("\\", "/"); sampleUrl = + * sampleUrl.replace("\\", "/"); logger.info("srcUrl:"+srcUrl); + * logger.info("sampleUrl:"+sampleUrl); + * entity.setSrcUrl(srcUrl); entity.setSampleUrl(sampleUrl); + */ + + // File uploadSrcFile = new File(srcFilePath); + // FileCopyUtils.copy(srcFile.getBytes(), uploadSrcFile); + // String srcMd5 = FileUtils.getFileMD5(uploadSrcFile); + // File uploadSampleFile = new File(sampleFilePath); + // String sampleMd5 = FileUtils.getFileMD5(uploadSampleFile); + + // entity.setSrcMd5(srcMd5); + // entity.setSampleMd5(sampleMd5); + + // 音频、视频、VoIP、说话人(音频)、人脸识别(视频)样例需要验证时长 + if (Constants.AUDIO_FILE_TYPE.contains(FileUtils.getSuffix(uploadSrcFile.getName(), false)) + || Constants.VIDEO_FILE_TYPE.contains(FileUtils.getSuffix(uploadSrcFile.getName(), false)) + || Constants.VOIP_FILE_TYPE.contains(FileUtils.getSuffix(uploadSrcFile.getName(), false)) + || Constants.SPEAKER_FILE_TYPE.contains(FileUtils.getSuffix(uploadSrcFile.getName(), false))) { + if (!validateAvDuration(uploadSrcFile)) { + addMessage(redirectAttributes, "error", "exceeds_duration_limit"); + logger.error("The duration of uploaded files exceeds the limit(" + Constants.AV_DURATION_LIMIT + + "s)."); throw new MultiPartNewException(this.getMsgProp().getProperty("exceeds_duration_limit")); } } - + } - - + avCfgService.saveOrUpdateAvFileSample(entity, srcFile); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - logger.error("文件上传失败",e); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + logger.error("文件上传失败", e); e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else if(e instanceof MultiPartNewException) { - addMessage(redirectAttributes,"error",e.getMessage()); - }else{ - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else if (e instanceof MultiPartNewException) { + addMessage(redirectAttributes, "error", e.getMessage()); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/ntc/av/sample/fileSampleList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/ntc/av/sample/fileSampleList?functionId=" + entity.getFunctionId(); } - //保存标志样例配置 - @RequestMapping(value = {"/sample/saveAudioSignSample"}) - public String saveAudioSignSample(Model model,HttpServletRequest request,HttpServletResponse response, RedirectAttributes redirectAttributes,String ids,AvSignSampleCfg entity){ - try{ + + // 保存标志样例配置 + @RequestMapping(value = { "/sample/saveAudioSignSample" }) + public String saveAudioSignSample(Model model, HttpServletRequest request, HttpServletResponse response, + RedirectAttributes redirectAttributes, String ids, AvSignSampleCfg entity) { + try { avCfgService.saveOrUpdateAvSignSample(entity); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - logger.error("saveAudioSignSample failed",e); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + logger.error("saveAudioSignSample failed", e); e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - return "redirect:" + adminPath +"/ntc/av/sample/audioSignSampleList?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/ntc/av/sample/audioSignSampleList?functionId=" + entity.getFunctionId(); } - //修改文件样例配置状态 - @RequestMapping(value = {"/sample/updateAvFileSampleValid"}) - public String updateAvFileSampleValid(Integer isAudit,Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes){ - avCfgService.updateAvFileSampleValid(isAudit,isValid,ids); - addMessage(redirectAttributes,"success","delete_success"); - return "redirect:" + adminPath +"/ntc/av/sample/fileSampleList?functionId="+functionId; + + // 修改文件样例配置状态 + @RequestMapping(value = { "/sample/updateAvFileSampleValid" }) + public String updateAvFileSampleValid(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { + avCfgService.updateAvFileSampleValid(isAudit, isValid, ids); + addMessage(redirectAttributes, "success", "delete_success"); + return "redirect:" + adminPath + "/ntc/av/sample/fileSampleList?functionId=" + functionId; } - //修改文件样例配置审核状态 + + // 修改文件样例配置审核状态 /** * 审核配置下发,为了保证配置下发过程事务正确,一条配置提交一次 + * * @param isAudit * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"/sample/auditAvFileSample"}) - public String auditAvFileSample(Model model,@ModelAttribute("cfg")AvFileSampleCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request){ - if(!StringUtil.isEmpty(ids)){ - //avCfgService.auditAvFileSample(isAudit,isValid,ids); + @RequestMapping(value = { "/sample/auditAvFileSample" }) + public String auditAvFileSample(Model model, @ModelAttribute("cfg") AvFileSampleCfg cfg, Integer isValid, + Integer isAudit, String ids, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletResponse response, HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { + // avCfgService.auditAvFileSample(isAudit,isValid,ids); AvFileSampleCfg entity = new AvFileSampleCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = avCfgService.getAvFileSampleById(Long.parseLong(id),null); + for (String id : idArray) { + entity = avCfgService.getAvFileSampleById(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); -// String oldSrcUrl = entity.getSrcPath(); -// String oldSampleUrl = entity.getSamplePath(); + // String oldSrcUrl = entity.getSrcPath(); + // String oldSampleUrl = entity.getSamplePath(); try { - /*if(isAudit==1){ - Date creatTime = entity.getCreateTime(); - //音视频文件上传接口调用 - File srcFile = new File(oldSrcUrl); - Map srcMap = new HashMap(); - srcMap.put("filetype", FileUtils.getSuffix(srcFile.getName(), false)); - srcMap.put("datatype", "dbSystem");//源文件存入数据中心 - - srcMap.put("createTime",creatTime); - srcMap.put("key",FileUtils.getPrefix(srcFile.getName(), false)); - srcMap.put("fileName", srcFile.getName()); - srcMap.put("checksum", entity.getSrcMd5()); - ToMaatResult result1 = ConfigServiceUtil.postFileCfg(null, srcFile, JsonMapper.toJsonString(srcMap)); - logger.info("音视频源文件上传响应信息:"+result1); - //获取文件上传响应信息(新的文件访问路径) - String srcAccessUrl = null; - if(!StringUtil.isEmpty(result1)){ - ResponseData data = result1.getData(); - srcAccessUrl=data.getAccessUrl(); - entity.setSrcUrl(srcAccessUrl); -// entity.setSrcPath(""); - } - File sampleFile = new File(oldSampleUrl); - Map sampleMap = new HashMap(); - sampleMap.put("filetype", FileUtils.getSuffix(sampleFile.getName(), false)); - sampleMap.put("datatype", "fileSystem");//样例文件存入fastdfs - sampleMap.put("createTime", creatTime); - sampleMap.put("key",FileUtils.getPrefix(sampleFile.getName(), false)); - sampleMap.put("fileName", sampleFile.getName()); - sampleMap.put("checksum", entity.getSampleMd5()); - ToMaatResult result2 = ConfigServiceUtil.postFileCfg(null, sampleFile, JsonMapper.toJsonString(sampleMap)); - logger.info("音视频样例文件上传响应信息:"+result2); - - //获取文件上传响应信息(新的文件访问路径) - String sampleAccessUrl = null; - if(!StringUtil.isEmpty(result2)){ - ResponseData data = result2.getData(); - sampleAccessUrl = data.getAccessUrl(); - entity.setSampleUrl(sampleAccessUrl); -// entity.setSamplePath(""); - - } - }*/ - avCfgService.auditAvFileSample(entity,isAudit); - //删除本地源文件和样例文件 - /*if(!oldSrcUrl.equals(entity.getSrcUrl())){ - FileUtils.deleteFile(oldSrcUrl); - } - if(!oldSampleUrl.equals(entity.getSampleUrl())){ - FileUtils.deleteFile(oldSampleUrl); - }*/ - addMessage(redirectAttributes,"success", "audit_success"); - }catch(Exception e){ + /* + * if(isAudit==1){ Date creatTime = entity.getCreateTime(); + * //音视频文件上传接口调用 File srcFile = new File(oldSrcUrl); + * Map srcMap = new HashMap(); + * srcMap.put("filetype", + * FileUtils.getSuffix(srcFile.getName(), false)); + * srcMap.put("datatype", "dbSystem");//源文件存入数据中心 + * + * srcMap.put("createTime",creatTime); + * srcMap.put("key",FileUtils.getPrefix(srcFile.getName(), + * false)); srcMap.put("fileName", srcFile.getName()); + * srcMap.put("checksum", entity.getSrcMd5()); ToMaatResult + * result1 = ConfigServiceUtil.postFileCfg(null, srcFile, + * JsonMapper.toJsonString(srcMap)); + * logger.info("音视频源文件上传响应信息:"+result1); + * //获取文件上传响应信息(新的文件访问路径) String srcAccessUrl = null; + * if(!StringUtil.isEmpty(result1)){ ResponseData data = + * result1.getData(); srcAccessUrl=data.getAccessUrl(); + * entity.setSrcUrl(srcAccessUrl); // entity.setSrcPath(""); + * } File sampleFile = new File(oldSampleUrl); + * Map sampleMap = new HashMap(); + * sampleMap.put("filetype", + * FileUtils.getSuffix(sampleFile.getName(), false)); + * sampleMap.put("datatype", "fileSystem");//样例文件存入fastdfs + * sampleMap.put("createTime", creatTime); + * sampleMap.put("key",FileUtils.getPrefix(sampleFile. + * getName(), false)); sampleMap.put("fileName", + * sampleFile.getName()); sampleMap.put("checksum", + * entity.getSampleMd5()); ToMaatResult result2 = + * ConfigServiceUtil.postFileCfg(null, sampleFile, + * JsonMapper.toJsonString(sampleMap)); + * logger.info("音视频样例文件上传响应信息:"+result2); + * + * //获取文件上传响应信息(新的文件访问路径) String sampleAccessUrl = null; + * if(!StringUtil.isEmpty(result2)){ ResponseData data = + * result2.getData(); sampleAccessUrl = data.getAccessUrl(); + * entity.setSampleUrl(sampleAccessUrl); // + * entity.setSamplePath(""); + * + * } } + */ + avCfgService.auditAvFileSample(entity, isAudit); + // 删除本地源文件和样例文件 + /* + * if(!oldSrcUrl.equals(entity.getSrcUrl())){ + * FileUtils.deleteFile(oldSrcUrl); } + * if(!oldSampleUrl.equals(entity.getSampleUrl())){ + * FileUtils.deleteFile(oldSampleUrl); } + */ + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { e.printStackTrace(); - if(e instanceof MaatConvertException) { - logger.info("音视频文件样例配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - logger.error("auditAvFileSample failed",e); - addMessage(redirectAttributes,"error","audit_failed"); + if (e instanceof MaatConvertException) { + logger.info("音视频文件样例配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + logger.error("auditAvFileSample failed", e); + addMessage(redirectAttributes, "error", "audit_failed"); } } } - }else { - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + } else { + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return fileSampleList(model, request, response, cfg); } - return "redirect:" + adminPath +"/ntc/av/sample/fileSampleList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/av/sample/fileSampleList?functionId=" + functionId; } - //修改标志样例配置状态 - @RequestMapping(value = {"/sample/updateAvSignSampleValid"}) - public String updateAvSignSampleValid(Integer isAudit,Integer isValid,String ids,Integer functionId){ - avCfgService.updateAvSignSampleValid(isAudit,isValid,ids); - return "redirect:" + adminPath +"/ntc/av/sample/signSampleList?functionId="+functionId; + + // 修改标志样例配置状态 + @RequestMapping(value = { "/sample/updateAvSignSampleValid" }) + public String updateAvSignSampleValid(Integer isAudit, Integer isValid, String ids, Integer functionId) { + avCfgService.updateAvSignSampleValid(isAudit, isValid, ids); + return "redirect:" + adminPath + "/ntc/av/sample/signSampleList?functionId=" + functionId; } - - //修改标志样例配置审核状态 + + // 修改标志样例配置审核状态 /** * 审核配置下发,为了保证配置下发过程事务正确,一条配置提交一次 + * * @param isAudit * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"/sample/auditAvAudioSignSample"}) - public String auditAvAudioSignSample(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes){ -// avCfgService.auditAvSignSample(isAudit,isValid,ids); + @RequestMapping(value = { "/sample/auditAvAudioSignSample" }) + public String auditAvAudioSignSample(Integer isAudit, Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { + // avCfgService.auditAvSignSample(isAudit,isValid,ids); AvSignSampleCfg entity = new AvSignSampleCfg(); String[] idArray = ids.split(","); - for(String id :idArray){ + for (String id : idArray) { entity = avCfgService.getAvSignSampleById(Long.parseLong(id)); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); try { - avCfgService.audioAuditAvSignSample(entity,isAudit,false); - addMessage(redirectAttributes,"success", "audit_success"); - }catch(Exception e){ + avCfgService.audioAuditAvSignSample(entity, isAudit, false); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { e.printStackTrace(); - if(e instanceof MaatConvertException) { - logger.error("音视频标识样例配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - logger.error("auditAvAudioSignSample failed",e); - addMessage(redirectAttributes,"error","audit_failed"); + if (e instanceof MaatConvertException) { + logger.error("音视频标识样例配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + logger.error("auditAvAudioSignSample failed", e); + addMessage(redirectAttributes, "error", "audit_failed"); } } } - return "redirect:" + adminPath +"/ntc/av/sample/signSampleList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/av/sample/signSampleList?functionId=" + functionId; } - //修改标志样例配置审核状态 + + // 修改标志样例配置审核状态 /** * 审核配置下发,为了保证配置下发过程事务正确,一条配置提交一次 + * * @param isAudit * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"/sample/auditAvSignSample"}) - public String auditAvSignSample(Integer preset,AvSignSampleCfgModel cfg,Integer functionId,RedirectAttributes redirectAttributes){ - //预置配置 + @RequestMapping(value = { "/sample/auditAvSignSample" }) + public String auditAvSignSample(Integer preset, AvSignSampleCfgModel cfg, Integer functionId, + RedirectAttributes redirectAttributes) { + // 预置配置 try { - if(preset!=null&&1==preset){//预置信息需要在数据库中插入一条记录 + if (preset != null && 1 == preset) {// 预置信息需要在数据库中插入一条记录 for (AvSignSampleCfg avSignSampleCfg : cfg.getCfgs()) { avCfgService.saveOrUpdateAvSignSample(avSignSampleCfg); } - addMessage(redirectAttributes,"success","save_success"); - return "redirect:" + adminPath +"/ntc/av/sample/signSampleList?functionId="+functionId; + addMessage(redirectAttributes, "success", "save_success"); + return "redirect:" + adminPath + "/ntc/av/sample/signSampleList?functionId=" + functionId; } } catch (Exception e1) { - if(e1 instanceof MaatConvertException) { - logger.error("预置失败",e1); - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - logger.error("auditAvSignSample failed",e1); - addMessage(redirectAttributes,"error","save_failed"); + if (e1 instanceof MaatConvertException) { + logger.error("预置失败", e1); + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + logger.error("auditAvSignSample failed", e1); + addMessage(redirectAttributes, "error", "save_failed"); } } - //修改下发配置 - if(cfg != null && cfg.getCfgs() != null ){ + // 修改下发配置 + if (cfg != null && cfg.getCfgs() != null) { for (AvSignSampleCfg avSignSampleCfg : cfg.getCfgs()) { - /*if(StringUtil.isEmpty(avSignSampleCfg.getIsValid())){ - avSignSampleCfg.setIsValid(0); - }*/ - if(cfg.getAction()!=null){ + /* + * if(StringUtil.isEmpty(avSignSampleCfg.getIsValid())){ + * avSignSampleCfg.setIsValid(0); } + */ + if (cfg.getAction() != null) { avSignSampleCfg.setAction(cfg.getAction()); } - //isValid值变更才下发 -// if(!avSignSampleCfg.getAction().equals(avSignSampleCfg.getActionOld())||!avSignSampleCfg.getIsValid().equals(avSignSampleCfg.getIsValidOld())){ - try { - avCfgService.auditAvSignSample(avSignSampleCfg); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - e.printStackTrace(); - if(e instanceof MaatConvertException) { - logger.error("下发失败",e); - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - logger.error("auditAvSignSample failed",e); - addMessage(redirectAttributes,"error","save_failed"); - } + // isValid值变更才下发 + // if(!avSignSampleCfg.getAction().equals(avSignSampleCfg.getActionOld())||!avSignSampleCfg.getIsValid().equals(avSignSampleCfg.getIsValidOld())){ + try { + avCfgService.auditAvSignSample(avSignSampleCfg); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + e.printStackTrace(); + if (e instanceof MaatConvertException) { + logger.error("下发失败", e); + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + logger.error("auditAvSignSample failed", e); + addMessage(redirectAttributes, "error", "save_failed"); } } - -// } + } + + // } } - return "redirect:" + adminPath +"/ntc/av/sample/signSampleList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/av/sample/signSampleList?functionId=" + functionId; } - - //ysp配置导出 + + // ysp配置导出 @RequestMapping(value = "exportYsp") - public void exportYsp(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")AvFileSampleCfg entity,String ids,RedirectAttributes redirectAttributes){ + public void exportYsp(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") AvFileSampleCfg entity, String ids, RedirectAttributes redirectAttributes) { try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - - /*//导出选中记录 - * if(!StringUtil.isEmpty(ids)){ - for(String id:ids.split(",")){ - Long.parseLong(id); - } - //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); - }else{*/ - //条件导出数据大于最大导出数,只导出最大导出条数 - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = avCfgService.getAvFileSampleList(pageInfo, entity); - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), AvFileSampleCfg.class); - String cfgIndexInfoNoExport=",group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(), page.getList()); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + /* + * //导出选中记录 if(!StringUtil.isEmpty(ids)){ for(String + * id:ids.split(",")){ Long.parseLong(id); } //List + * list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename() + * , entity.getFunctionId(), ids); }else{ + */ + // 条件导出数据大于最大导出数,只导出最大导出条数 + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = avCfgService.getAvFileSampleList(pageInfo, entity); + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), AvFileSampleCfg.class); + String cfgIndexInfoNoExport = ",group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), page.getList()); + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } } catch (Exception e) { - logger.error("ysp export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + logger.error("ysp export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); } - + /** * 验证音视频时长 - * @throws EncoderException - * @throws InputFormatException + * + * @throws EncoderException + * @throws InputFormatException */ - public boolean validateAvDuration(File file) throws InputFormatException, EncoderException{ - //验证音视频文件时长 + public boolean validateAvDuration(File file) throws InputFormatException, EncoderException { + // 验证音视频文件时长 Encoder encoder = new Encoder(); String length = ""; MultimediaInfo m = encoder.getInfo(file); - long ls = m.getDuration()/1000; - int hour = (int) (ls/3600); - int minute = (int) (ls%3600)/60; - int second = (int) (ls-hour*3600-minute*60); - length = hour+"'"+minute+"''"+second+"'''"; - logger.info(file.getName()+"时长:"+length); - if(ls>0 && ls>Constants.AV_DURATION_LIMIT){ + long ls = m.getDuration() / 1000; + int hour = (int) (ls / 3600); + int minute = (int) (ls % 3600) / 60; + int second = (int) (ls - hour * 3600 - minute * 60); + length = hour + "'" + minute + "''" + second + "'''"; + logger.info(file.getName() + "时长:" + length); + if (ls > 0 && ls > Constants.AV_DURATION_LIMIT) { return false; - }else{ + } else { return true; } } + /** * 上传视频文件,调用脚本生成关键帧图片,返回图片保存路径 + * * @param cfg * @param functionId * @param redirectAttributes * @return */ @ResponseBody - @RequestMapping(value = {"/sample/videoToPicture"}) - public Map videoToPicture(Model model,@RequestParam("srcFile") CommonsMultipartFile srcFile){ - + @RequestMapping(value = { "/sample/videoToPicture" }) + public Map videoToPicture(Model model, @RequestParam("srcFile") CommonsMultipartFile srcFile) { + String sep = System.getProperty("file.separator"); - String random = UUID.randomUUID()+""; - String srcFilePath = Constants.AV_FILE_PATH+"video"+sep+"srcFile";//视频源文件保存路径 - String picFilePath = StringUtils.getUserfilesBaseDir()+"video"+sep+"picFile"+sep+random+sep;//视频生成的关键帧图片文件保存路径 - + String random = UUID.randomUUID() + ""; + String srcFilePath = Constants.AV_FILE_PATH + "video" + sep + "srcFile";// 视频源文件保存路径 + String picFilePath = StringUtils.getUserfilesBaseDir() + "video" + sep + "picFile" + sep + random + sep;// 视频生成的关键帧图片文件保存路径 + FileUtils.createDirectory(srcFilePath); FileUtils.createDirectory(picFilePath); - String srcFileAllPath = srcFilePath+sep+random+FileUtils.getSuffix(srcFile.getOriginalFilename(), true);//新的文件名 + String srcFileAllPath = srcFilePath + sep + random + FileUtils.getSuffix(srcFile.getOriginalFilename(), true);// 新的文件名 File uploadSrcFile = new File(srcFileAllPath); Map map = new HashMap(); map.put("picFilePath", picFilePath); try { Properties msgProp = getMsgProp(); - FileCopyUtils.copy(srcFile.getBytes(), uploadSrcFile);//保存源文件 - if(validateAvDuration(uploadSrcFile)){ + FileCopyUtils.copy(srcFile.getBytes(), uploadSrcFile);// 保存源文件 + if (validateAvDuration(uploadSrcFile)) { String shellName = Constants.VEDIO_TO_PICTURE_PROC; -// String params = srcFileAllPath+" "+picFilePath+" 0.95 90.0 0.5"; - String[] params = new String[]{srcFileAllPath,picFilePath}; - logger.info("调用视频转关键帧图片程序:"+shellName+" " +StringUtils.join(params," ")); + // String params = srcFileAllPath+" "+picFilePath+" 0.95 90.0 + // 0.5"; + String[] params = new String[] { srcFileAllPath, picFilePath }; + logger.info("调用视频转关键帧图片程序:" + shellName + " " + StringUtils.join(params, " ")); Map resultMap = avCfgService.execShell(shellName, params); - if(resultMap.get("exitStatus").equals(0)){//调用外部程序成功 - String out = resultMap.get("out").toString();//输出参数 - logger.info("调用视频转关键帧图片程序输出参数:"+out); - JSONArray resArray =JSONArray.fromObject(out); + if (resultMap.get("exitStatus").equals(0)) {// 调用外部程序成功 + String out = resultMap.get("out").toString();// 输出参数 + logger.info("调用视频转关键帧图片程序输出参数:" + out); + JSONArray resArray = JSONArray.fromObject(out); JSONObject resObject = resArray.getJSONObject(0); int state = resObject.getInt("state"); - if(state==1){ - //关键帧图片生成成功,删除原视频文件 + if (state == 1) { + // 关键帧图片生成成功,删除原视频文件 FileUtils.deleteFile(srcFileAllPath); - //获取图片列表 + // 获取图片列表 Collection files = FileUtils.listFiles(new File(picFilePath), null, true); String srcPath = null; - for(File f:files){ - if(srcPath==null){ + for (File f : files) { + if (srcPath == null) { srcPath = f.getName(); - }else{ - srcPath += "|"+f.getName(); + } else { + srcPath += "|" + f.getName(); } } - //将图片文件列表赋值给生成样例的源文件路径参数 + // 将图片文件列表赋值给生成样例的源文件路径参数 map.put("srcPath", srcPath); map.put("status", 1); map.put("msg", "success"); - }else{ - if(StringUtil.isEmpty(resObject.getString("message"))){ + } else { + if (StringUtil.isEmpty(resObject.getString("message"))) { map.put("status", 0); - map.put("msg", msgProp.getProperty("call_external_procedures_failed", "Call external procedures failed")); - }else{ + map.put("msg", msgProp.getProperty("call_external_procedures_failed", + "Call external procedures failed")); + } else { map.put("status", 0); map.put("msg", resObject.getString("message")); } } - - }else{ + + } else { map.put("status", 0); - map.put("msg", msgProp.getProperty("call_external_procedures_failed", "Call external procedures failed")); + map.put("msg", + msgProp.getProperty("call_external_procedures_failed", "Call external procedures failed")); } - }else{ + } else { map.put("status", 0); map.put("msg", msgProp.get("exceeds_duration_limit")); } - + } catch (IOException e) { e.printStackTrace(); map.put("status", 0); @@ -693,31 +751,35 @@ public class AvController extends BaseController { } return map; } + /** * 上传图片文件,调用脚本压缩图片,返回图片保存路径 + * * @param cfg * @param functionId * @param redirectAttributes * @return */ @ResponseBody - @RequestMapping(value = {"/sample/faceToPicture"}) - public Map faceToPicture(Model model,@RequestParam("srcFile") CommonsMultipartFile[] srcFile,@RequestParam("faceFilePath")String faceFilePath){ + @RequestMapping(value = { "/sample/faceToPicture" }) + public Map faceToPicture(Model model, @RequestParam("srcFile") CommonsMultipartFile[] srcFile, + @RequestParam("faceFilePath") String faceFilePath) { String sep = System.getProperty("file.separator"); - String random = UUID.randomUUID()+""; -// String srcFilePath = Constants.AV_FILE_PATH+"face"+random+sep+"srcFile";//视频源文件保存路径 - String srcFilePath=""; - if(StringUtil.isBlank(faceFilePath)){ - srcFilePath = StringUtils.getUserfilesBaseDir()+"face"+sep+"picFile"+sep+random+sep;//视频生成的关键帧图片文件保存路径 - faceFilePath=srcFilePath; + String random = UUID.randomUUID() + ""; + // String srcFilePath = + // Constants.AV_FILE_PATH+"face"+random+sep+"srcFile";//视频源文件保存路径 + String srcFilePath = ""; + if (StringUtil.isBlank(faceFilePath)) { + srcFilePath = StringUtils.getUserfilesBaseDir() + "face" + sep + "picFile" + sep + random + sep;// 视频生成的关键帧图片文件保存路径 + faceFilePath = srcFilePath; FileUtils.createDirectory(srcFilePath); - }else{ - srcFilePath=faceFilePath; + } else { + srcFilePath = faceFilePath; } - //保存源文件 + // 保存源文件 for (CommonsMultipartFile sinFile : srcFile) { - String r = UUID.randomUUID()+""; - String srcFileAllPath = srcFilePath+sep+r+FileUtils.getSuffix(sinFile.getOriginalFilename(), true);//新的文件名 + String r = UUID.randomUUID() + ""; + String srcFileAllPath = srcFilePath + sep + r + FileUtils.getSuffix(sinFile.getOriginalFilename(), true);// 新的文件名 File uploadSrcFile = new File(srcFileAllPath); try { FileCopyUtils.copy(sinFile.getBytes(), uploadSrcFile); @@ -726,60 +788,61 @@ public class AvController extends BaseController { e.printStackTrace(); } } - - + Map map = new HashMap(); map.put("picFilePath", srcFilePath); map.put("faceFilePath", faceFilePath); - - //获取图片列表 + + // 获取图片列表 Collection files = FileUtils.listFiles(new File(srcFilePath), null, true); - String srcPath = null; - for(File f:files){ - if(srcPath==null){ - srcPath = f.getName(); - }else{ - srcPath += "|"+f.getName(); - } - } - //将图片文件列表赋值给生成样例的源文件路径参数 - map.put("srcPath", srcPath); - map.put("status", 1); - map.put("msg", "success"); - + String srcPath = null; + for (File f : files) { + if (srcPath == null) { + srcPath = f.getName(); + } else { + srcPath += "|" + f.getName(); + } + } + // 将图片文件列表赋值给生成样例的源文件路径参数 + map.put("srcPath", srcPath); + map.put("status", 1); + map.put("msg", "success"); + return map; } - @RequestMapping(value = {"/sample/selectVedioPicture"}) - public String selectVedioPicture(Model model,HttpServletRequest request,String picFilePath,String srcPath){ + + @RequestMapping(value = { "/sample/selectVedioPicture" }) + public String selectVedioPicture(Model model, HttpServletRequest request, String picFilePath, String srcPath) { Collection files = FileUtils.listFiles(new File(picFilePath), null, true); - List> fileList = new ArrayList(); - String picUrl = picFilePath.substring(picFilePath.indexOf(Configurations.getStringProperty("userfiles.basedir", "upload"))); + List> fileList = new ArrayList(); + String picUrl = picFilePath + .substring(picFilePath.indexOf(Configurations.getStringProperty("userfiles.basedir", "upload"))); String sep = System.getProperty("file.separator"); String[] checkedPic = null; - if(srcPath!=null){ + if (srcPath != null) { checkedPic = srcPath.split("\\|"); } - for(File f:files){ + for (File f : files) { Map map = new HashMap(); - map.put("picUrl", StringUtils.replace(picUrl+"/"+f.getName(), "\\", "/")); + map.put("picUrl", StringUtils.replace(picUrl + "/" + f.getName(), "\\", "/")); map.put("picName", f.getName()); boolean checked = false; - if(checkedPic!=null){ - for(String pic:checkedPic){ - if(f.getName().equals(pic)){ + if (checkedPic != null) { + for (String pic : checkedPic) { + if (f.getName().equals(pic)) { checked = true; } } - }else{ - checked = true;//默认全选 + } else { + checked = true;// 默认全选 } - + map.put("checked", checked); fileList.add(map); } model.addAttribute("fileList", fileList); - model.addAttribute("picFilePath",picFilePath); + model.addAttribute("picFilePath", picFilePath); return "/cfg/av/videoPictureList"; } - + } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java index 5d2bf2264..e7326b2f7 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/BgpCfgController.java @@ -1,6 +1,5 @@ package com.nis.web.controller.configuration.ntc; - import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -34,227 +33,245 @@ import com.nis.web.security.UserUtils; /** * BGP配置 + * * @author dell * */ @Controller @RequestMapping("${adminPath}/ntc/other/") -public class BgpCfgController extends BaseController{ - - @RequestMapping(value = {"bgpList"}) -// @RequiresPermissions(value={"other:bgp:config"}) - public String bgpList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg - ,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"a"); +public class BgpCfgController extends BaseController { + + @RequestMapping(value = { "bgpList" }) + // @RequiresPermissions(value={"other:bgp:config"}) + public String bgpList(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "a"); Page page = bgpCfgService.getBgpList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/other/bgpList"; } - - @RequestMapping(value = {"bgpForm"}) - @RequiresPermissions(value={"other:bgp:config"}) - public String bgpForm(Model model,String ids,CfgIndexInfo entity,RedirectAttributes redirectAttributes) { - if(StringUtils.isNotBlank(ids)){ - entity = bgpCfgService.getBgpCfg(Long.parseLong(ids),null); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + + @RequestMapping(value = { "bgpForm" }) + @RequiresPermissions(value = { "other:bgp:config" }) + public String bgpForm(Model model, String ids, CfgIndexInfo entity, RedirectAttributes redirectAttributes) { + if (StringUtils.isNotBlank(ids)) { + entity = bgpCfgService.getBgpCfg(Long.parseLong(ids), null); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/other/bgpForm"; } - - @RequestMapping(value = {"saveBgpCfg"}) - @RequiresPermissions(value={"other:bgp:config"}) - public String saveBgpCfg(Model model,HttpServletRequest request,HttpServletResponse response - ,String ids,CfgIndexInfo entity - ,RedirectAttributes redirectAttributes) { + + @RequestMapping(value = { "saveBgpCfg" }) + @RequiresPermissions(value = { "other:bgp:config" }) + public String saveBgpCfg(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + CfgIndexInfo entity, RedirectAttributes redirectAttributes) { bgpCfgService.saveBgpCfg(entity); - return "redirect:" + adminPath +"/ntc/other/bgpList?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/ntc/other/bgpList?functionId=" + entity.getFunctionId(); } - - @RequestMapping(value = {"ajaxBgpSubList"}) - public String ajaxBgpSubList(Model model,Long cfgId,Integer index,Integer compileId) { - CfgIndexInfo cfg = bgpCfgService.getBgpCfg(cfgId,compileId); + + @RequestMapping(value = { "ajaxBgpSubList" }) + public String ajaxBgpSubList(Model model, Long cfgId, Integer index, Integer compileId) { + CfgIndexInfo cfg = bgpCfgService.getBgpCfg(cfgId, compileId); List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getNtcBgpAsCfgList()!=null){ + if (cfg.getNtcBgpAsCfgList() != null) { String cfgType = null; - for(NtcBgpAsCfg ip:cfg.getNtcBgpAsCfgList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",ip.getCfgType()}); + for (NtcBgpAsCfg ip : cfg.getNtcBgpAsCfgList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getNtcSubscribeIdCfgList()!=null){ + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg ip:cfg.getNtcSubscribeIdCfgList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",ip.getCfgType()}); + for (NtcSubscribeIdCfg ip : cfg.getNtcSubscribeIdCfgList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - /*TODO - * if(cfg.getDomainList()!=null){ - String cfgType = null; - for(ComplexkeywordCfg keyword:cfg.getDomainList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"3",keyword.getCfgType()}); - cfgType = keyword.getCfgType(); - } - } - }*/ - model.addAttribute("_cfg", cfg); + /* + * TODO if(cfg.getDomainList()!=null){ String cfgType = null; + * for(ComplexkeywordCfg keyword:cfg.getDomainList()){ + * if(!keyword.getCfgType().equals(cfgType)){ tabList.add(new + * String[]{"3",keyword.getCfgType()}); cfgType = keyword.getCfgType(); + * } } } + */ + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/other/bgpSubList"; } - - @RequestMapping(value = {"updateBgpCfgValid"}) - @RequiresPermissions(value={"other:bgp:config"}) - public String updateBgpCfgValid(Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes) { - bgpCfgService.updateBgpCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/other/bgpList?functionId="+functionId; + + @RequestMapping(value = { "updateBgpCfgValid" }) + @RequiresPermissions(value = { "other:bgp:config" }) + public String updateBgpCfgValid(Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { + bgpCfgService.updateBgpCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/other/bgpList?functionId=" + functionId; } - - @RequestMapping(value = {"auditBgpCfg"}) - @RequiresPermissions(value={"other:bgp:confirm"}) - public String auditBgpCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)) { + + @RequestMapping(value = { "auditBgpCfg" }) + @RequiresPermissions(value = { "other:bgp:confirm" }) + public String auditBgpCfg(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { CfgIndexInfo entity = new CfgIndexInfo(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = bgpCfgService.getBgpCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = bgpCfgService.getBgpCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - bgpCfgService.auditBgpCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + bgpCfgService.auditBgpCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { e.printStackTrace(); - logger.error("bgp配置下发失败",e); - addMessage(redirectAttributes,"error","request_service_failed"); - }catch (Exception e) { + logger.error("bgp配置下发失败", e); + addMessage(redirectAttributes, "error", "request_service_failed"); + } catch (Exception e) { e.printStackTrace(); - logger.error("bgp配置下发失败",e); - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("bgp配置下发失败", e); + addMessage(redirectAttributes, "error", "audit_failed"); } } - }else { - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + } else { + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } return bgpList(model, cfg, request, response); } - return "redirect:" + adminPath +"/ntc/other/bgpList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/other/bgpList?functionId=" + functionId; } - - //bgp配置导出 - @RequestMapping(value = "exportbgp") - public void exportbgp(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = bgpCfgService.getBgpList(pageInfo, entity); - ipLists=page.getList(); - } - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_IP"); - titleList.add("NTC_BGP_AS"); -// titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_IP", IpPortCfg.class); - classMap.put("NTC_BGP_AS", BaseStringCfg.class); -// classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String regionCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_IP", ipPortInfoNoExport); - noExportMap.put("NTC_BGP_AS", regionCfgNoExport); -// noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - List ipList=new ArrayList(); -// List subscribeInfoList=new ArrayList(); - List asInfoList=new ArrayList(); - for (CfgIndexInfo cfg : ipLists) { - CfgIndexInfo cfgIndexInfo=bgpCfgService.exportbgp(cfg); - ipList.addAll(cfgIndexInfo.getIpPortList()); -// subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); - asInfoList.addAll(cfgIndexInfo.getNtcBgpAsCfgList()); - } - asInfoList=BaseStringCfg.replaceBaseKeyList(asInfoList); -// subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_IP", ipList); - dataMap.put("NTC_BGP_AS", asInfoList); -// dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); - - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("bgp export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + + // bgp配置导出 + @RequestMapping(value = "exportbgp") + public void exportbgp(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = bgpCfgService.getBgpList(pageInfo, entity); + ipLists = page.getList(); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_IP"); + titleList.add("NTC_BGP_AS"); + // titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_IP", IpPortCfg.class); + classMap.put("NTC_BGP_AS", BaseStringCfg.class); + // classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String ntcSubscribeIdCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String regionCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_IP", ipPortInfoNoExport); + noExportMap.put("NTC_BGP_AS", regionCfgNoExport); + // noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); + List ipList = new ArrayList(); + // List subscribeInfoList=new + // ArrayList(); + List asInfoList = new ArrayList(); + for (CfgIndexInfo cfg : ipLists) { + CfgIndexInfo cfgIndexInfo = bgpCfgService.exportbgp(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + // subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); + asInfoList.addAll(cfgIndexInfo.getNtcBgpAsCfgList()); + } + asInfoList = BaseStringCfg.replaceBaseKeyList(asInfoList); + // subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_IP", ipList); + dataMap.put("NTC_BGP_AS", asInfoList); + // dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("bgp export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); } - + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java index 6a9b631d1..ff536414c 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java @@ -48,368 +48,365 @@ import com.nis.web.security.UserUtils; /** * 文件传输相关配置控制类 + * * @author dell * */ @Controller @RequestMapping("${adminPath}/ntc/fileTransfer/") -public class FileTransferCfgController extends BaseController{ - @RequestMapping(value = {"ftpList"}) -// @RequiresPermissions(value={"fileTransfer:ftp:config"}) - public String ftpList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"a"); +public class FileTransferCfgController extends BaseController { + @RequestMapping(value = { "ftpList" }) + // @RequiresPermissions(value={"fileTransfer:ftp:config"}) + public String ftpList(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "a"); Page page = fileTransferCfgService.getFtpList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/fileTransfer/ftpList"; } - @RequestMapping(value = {"ftpForm"}) - @RequiresPermissions(value={"fileTransfer:ftp:config"}) - public String ftpForm(Model model,String compileIds,String ids,CfgIndexInfo entity) { - if(StringUtils.isNotBlank(ids)){ - entity = fileTransferCfgService.getFtpCfg(Long.parseLong(ids),null); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + + @RequestMapping(value = { "ftpForm" }) + @RequiresPermissions(value = { "fileTransfer:ftp:config" }) + public String ftpForm(Model model, String compileIds, String ids, CfgIndexInfo entity) { + if (StringUtils.isNotBlank(ids)) { + entity = fileTransferCfgService.getFtpCfg(Long.parseLong(ids), null); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/fileTransfer/ftpForm"; } - @RequestMapping(value = {"saveFtpCfg"}) - @RequiresPermissions(value={"fileTransfer:ftp:config"}) - public String saveFtpCfg(Model model,HttpServletRequest request,HttpServletResponse response,String ids, - CfgIndexInfo entity,RedirectAttributes redirectAttributes) { + + @RequestMapping(value = { "saveFtpCfg" }) + @RequiresPermissions(value = { "fileTransfer:ftp:config" }) + public String saveFtpCfg(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + CfgIndexInfo entity, RedirectAttributes redirectAttributes) { try { fileTransferCfgService.saveFtpCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { - if(e instanceof MaatConvertException) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.error("ftp信息保存失败",e); - addMessage(redirectAttributes,"error","request_service_failed"); - }else { + logger.error("ftp信息保存失败", e); + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("ftp信息保存失败",e); - addMessage(redirectAttributes,"error","save_failed"); + logger.error("ftp信息保存失败", e); + addMessage(redirectAttributes, "error", "save_failed"); } } - return "redirect:" + adminPath +"/ntc/fileTransfer/ftpList?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/ntc/fileTransfer/ftpList?functionId=" + entity.getFunctionId(); } - @RequestMapping(value = {"ajaxFtpSubList"}) - public String ajaxFtpSubList(Model model,Long cfgId,Integer index,Integer compileId) { - CfgIndexInfo cfg = fileTransferCfgService.getFtpCfg(cfgId,compileId); + + @RequestMapping(value = { "ajaxFtpSubList" }) + public String ajaxFtpSubList(Model model, Long cfgId, Integer index, Integer compileId) { + CfgIndexInfo cfg = fileTransferCfgService.getFtpCfg(cfgId, compileId); List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getStringList()!=null){ + if (cfg.getStringList() != null) { String cfgType = null; - for(BaseStringCfg keyword:cfg.getStringList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",keyword.getCfgType()}); + for (BaseStringCfg keyword : cfg.getStringList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - //查询关键字 - if(cfg.getNtcSubscribeIdCfgList()!=null){ + // 查询关键字 + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg ntc:cfg.getNtcSubscribeIdCfgList()){ - if(!ntc.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",ntc.getCfgType()}); + for (NtcSubscribeIdCfg ntc : cfg.getNtcSubscribeIdCfgList()) { + if (!ntc.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", ntc.getCfgType() }); cfgType = ntc.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/fileTransfer/ftpSubList"; } - - + /** * 做删除操作 + * * @param isValid * @param ids * @param functionId * @return */ - @RequestMapping(value = {"updateFtpCfgValid"}) - @RequiresPermissions(value={"fileTransfer:ftp:config"}) - public String updateFtpCfgValid(Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { + @RequestMapping(value = { "updateFtpCfgValid" }) + @RequiresPermissions(value = { "fileTransfer:ftp:config" }) + public String updateFtpCfgValid(Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { try { - fileTransferCfgService.updateFtpCfgValid(isValid,ids,functionId); - addMessage(redirectAttributes,"success","delete_success"); + fileTransferCfgService.updateFtpCfgValid(isValid, ids, functionId); + addMessage(redirectAttributes, "success", "delete_success"); } catch (Exception e) { - if(e instanceof MaatConvertException) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.info("ftp配置删除失败:"+e.getMessage());; - addMessage(redirectAttributes,"error","request_service_failed"); - }else { + logger.info("ftp配置删除失败:" + e.getMessage()); + ; + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("ftp配置删除失败",e); - addMessage(redirectAttributes,"error","delete_failed"); + logger.error("ftp配置删除失败", e); + addMessage(redirectAttributes, "error", "delete_failed"); } } - return "redirect:" + adminPath +"/ntc/fileTransfer/ftpList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/fileTransfer/ftpList?functionId=" + functionId; } - @RequestMapping(value = {"auditFtpCfg"}) - @RequiresPermissions(value={"fileTransfer:ftp:confirm"}) - public String auditFtpCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + + @RequestMapping(value = { "auditFtpCfg" }) + @RequiresPermissions(value = { "fileTransfer:ftp:confirm" }) + public String auditFtpCfg(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { CfgIndexInfo entity = new CfgIndexInfo(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = fileTransferCfgService.getFtpCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = fileTransferCfgService.getFtpCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - fileTransferCfgService.auditFtpCfg(entity,isAudit); - addMessage(redirectAttributes,"success","audit_success"); - } catch ( Exception e) { - if(e instanceof MaatConvertException) { + fileTransferCfgService.auditFtpCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.error("ftp配置下发失败:"+e.getMessage());; - addMessage(redirectAttributes,"error","request_service_failed"); - }else { + logger.error("ftp配置下发失败:" + e.getMessage()); + ; + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("ftp配置下发失败",e); - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("ftp配置下发失败", e); + addMessage(redirectAttributes, "error", "audit_failed"); } } } - }else { - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + } else { + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } return ftpList(model, cfg, request, response); } - return "redirect:" + adminPath +"/ntc/fileTransfer/ftpList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/fileTransfer/ftpList?functionId=" + functionId; } - - @RequestMapping(value = {"fileDigestList"}) -// @RequiresPermissions(value={"fileTransfer:fileDigest:config"}) - public String fileDigestList(Model model,@ModelAttribute("cfg")FileDigestCfg cfg - ,HttpServletRequest request,HttpServletResponse response - ,RedirectAttributes redirectAttributes) { - Page searchPage=new Page(request,response,"a"); + + @RequestMapping(value = { "fileDigestList" }) + // @RequiresPermissions(value={"fileTransfer:fileDigest:config"}) + public String fileDigestList(Model model, @ModelAttribute("cfg") FileDigestCfg cfg, HttpServletRequest request, + HttpServletResponse response, RedirectAttributes redirectAttributes) { + Page searchPage = new Page(request, response, "a"); Page page = fileTransferCfgService.getFileDigestList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/fileTransfer/fileDigestList"; } - - @RequestMapping(value = {"fileDigestForm"}) - @RequiresPermissions(value={"fileTransfer:fileDigest:config"}) - public String fileDigestForm(Model model,String ids,FileDigestCfg entity,RedirectAttributes redirectAttributes) { - if(StringUtils.isNotBlank(ids)){ - entity = fileTransferCfgService.getFileDigestCfg(Long.parseLong(ids),null); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + + @RequestMapping(value = { "fileDigestForm" }) + @RequiresPermissions(value = { "fileTransfer:fileDigest:config" }) + public String fileDigestForm(Model model, String ids, FileDigestCfg entity, RedirectAttributes redirectAttributes) { + if (StringUtils.isNotBlank(ids)) { + entity = fileTransferCfgService.getFileDigestCfg(Long.parseLong(ids), null); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/fileTransfer/fileDigestForm"; } - @RequestMapping(value = {"saveFileDigestCfg"}) - @RequiresPermissions(value={"fileTransfer:fileDigest:config"}) - public String saveFileDigestCfg(Model model,HttpServletRequest request - ,HttpServletResponse response,String ids, - FileDigestCfg entity,MultipartFile file - ,@ModelAttribute("areaCfgIds")String areaCfgIds - ,RedirectAttributes redirectAttributes) { - try { - Date fileTime=null; - Date date=new Date(); - if(!StringUtil.isEmpty(entity.getCfgId())){ + + @RequestMapping(value = { "saveFileDigestCfg" }) + @RequiresPermissions(value = { "fileTransfer:fileDigest:config" }) + public String saveFileDigestCfg(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + FileDigestCfg entity, MultipartFile file, @ModelAttribute("areaCfgIds") String areaCfgIds, + RedirectAttributes redirectAttributes) { + try { + Date fileTime = null; + Date date = new Date(); + if (!StringUtil.isEmpty(entity.getCfgId())) { entity.setEditTime(date); - fileTime=entity.getEditTime(); - }else{ + fileTime = entity.getEditTime(); + } else { entity.setCreateTime(date); - fileTime=entity.getCreateTime(); + fileTime = entity.getCreateTime(); } ToMaatResult result = new ToMaatResult(); - if(file!=null && file.getSize()>0 && entity!=null){ + if (file != null && file.getSize() > 0 && entity != null) { String sep = System.getProperty("file.separator"); - String digestFilePath = request.getRealPath("/")+"digestFile"; + String digestFilePath = request.getRealPath("/") + "digestFile"; FileUtils.createDirectory(digestFilePath); - String fileName = UUID.randomUUID()+FileUtils.getSuffix(file.getOriginalFilename(), true); - File uploadFile = new File(digestFilePath+sep+fileName); + String fileName = UUID.randomUUID() + FileUtils.getSuffix(file.getOriginalFilename(), true); + File uploadFile = new File(digestFilePath + sep + fileName); FileCopyUtils.copy(file.getBytes(), uploadFile); Date creatTime = entity.getCreateTime(); - //获取文件摘要接口调用 - Map fileMap = new HashMap(); + // 获取文件摘要接口调用 + Map fileMap = new HashMap(); fileMap.put("filetype", FileUtils.getSuffix(file.getOriginalFilename(), false)); - fileMap.put("datatype", "dbSystem");//源文件存入数据中心 - - fileMap.put("createTime",fileTime); - fileMap.put("key",FileUtils.getPrefix(file.getOriginalFilename(), false)); + fileMap.put("datatype", "dbSystem");// 源文件存入数据中心 + + fileMap.put("createTime", fileTime); + fileMap.put("key", FileUtils.getPrefix(file.getOriginalFilename(), false)); fileMap.put("fileName", file.getOriginalFilename()); String md5 = DigestUtils.md5Hex(file.getBytes()); fileMap.put("checksum", md5); result = ConfigServiceUtil.getFileDigest(null, uploadFile, JsonMapper.toJsonString(fileMap)); - if((result.getData().getRawLen() == null) || (result.getData().getDigest() == null)) { + if ((result.getData().getRawLen() == null) || (result.getData().getDigest() == null)) { logger.error("文件摘要信息获取有误!"); throw new MaatConvertException(""); } - logger.info("获取文件摘要响应信息:"+result); - } - fileTransferCfgService.saveOrUpdateFileDigestCfg(entity,result,areaCfgIds); - addMessage(redirectAttributes,"success","save_success"); - } catch ( Exception e) { - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - - }else { - addMessage(redirectAttributes,"error","save_failed"); + logger.info("获取文件摘要响应信息:" + result); + } + fileTransferCfgService.saveOrUpdateFileDigestCfg(entity, result, areaCfgIds); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - return "redirect:" + adminPath +"/ntc/fileTransfer/fileDigestList?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/ntc/fileTransfer/fileDigestList?functionId=" + entity.getFunctionId(); } - @RequestMapping(value = {"updateFileDigestValid"}) - @RequiresPermissions(value={"fileTransfer:fileDigest:config"}) - public String updateFileDigestValid(Integer isValid,String ids,Integer functionId - ,RedirectAttributes redirectAttributes) { - fileTransferCfgService.updateFileDigestCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/fileTransfer/fileDigestList?functionId="+functionId; + + @RequestMapping(value = { "updateFileDigestValid" }) + @RequiresPermissions(value = { "fileTransfer:fileDigest:config" }) + public String updateFileDigestValid(Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { + fileTransferCfgService.updateFileDigestCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/fileTransfer/fileDigestList?functionId=" + functionId; } - - @RequestMapping(value = {"auditFileDigestCfg"}) - @RequiresPermissions(value={"fileTransfer:fileDigest:confirm"}) - public String auditFileDigestCfg(Model model,@ModelAttribute("cfg")FileDigestCfg cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + + @RequestMapping(value = { "auditFileDigestCfg" }) + @RequiresPermissions(value = { "fileTransfer:fileDigest:confirm" }) + public String auditFileDigestCfg(Model model, @ModelAttribute("cfg") FileDigestCfg cfg, Integer isValid, + Integer isAudit, String ids, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletResponse response, HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - fileTransferCfgService.auditFileDigestCfg(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); - } catch ( Exception e) { - logger.error("File Digest配置下发失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + fileTransferCfgService.auditFileDigestCfg(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { + logger.error("File Digest配置下发失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } } - - }else { - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + + } else { + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } return fileDigestList(model, cfg, request, response, redirectAttributes); } - return "redirect:" + adminPath +"/ntc/fileTransfer/fileDigestList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/fileTransfer/fileDigestList?functionId=" + functionId; } - @RequestMapping(value = {"ajaxFileDigestSubIdList"}) - public String ajaxFileDigestSubIdList(Model model,Long cfgId,Integer index,Integer compileId) { - FileDigestCfg cfg = fileTransferCfgService.getFileDigestSubIdCfg(cfgId,compileId); + + @RequestMapping(value = { "ajaxFileDigestSubIdList" }) + public String ajaxFileDigestSubIdList(Model model, Long cfgId, Integer index, Integer compileId) { + FileDigestCfg cfg = fileTransferCfgService.getFileDigestSubIdCfg(cfgId, compileId); List tabList = new ArrayList(); - //查询SubscribeId域配置 - if(cfg.getNtcSubscribeIdCfgList()!=null){ + // 查询SubscribeId域配置 + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg ntc:cfg.getNtcSubscribeIdCfgList()){ - if(!ntc.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",ntc.getCfgType()}); + for (NtcSubscribeIdCfg ntc : cfg.getNtcSubscribeIdCfgList()) { + if (!ntc.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", ntc.getCfgType() }); cfgType = ntc.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/fileTransfer/fileDigestSubList"; } - - @RequestMapping(value = {"ajaxFileDigestLogSubIdList"}) - public String ajaxFileDigestLogSubIdList(Model model,Long cfgId,Integer index,Integer compileId) { - FileDigestCfg cfg = fileTransferCfgService.getFileDigestSubIdCfg(cfgId,compileId); + + @RequestMapping(value = { "ajaxFileDigestLogSubIdList" }) + public String ajaxFileDigestLogSubIdList(Model model, Long cfgId, Integer index, Integer compileId) { + FileDigestCfg cfg = fileTransferCfgService.getFileDigestSubIdCfg(cfgId, compileId); List tabList = new ArrayList(); String cfgType = null; - if(!cfg.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",cfg.getCfgType()}); - cfgType = cfg.getCfgType(); - } - model.addAttribute("_cfg", cfg); + if (!cfg.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", cfg.getCfgType() }); + cfgType = cfg.getCfgType(); + } + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/fileTransfer/fileDigestLogSubList"; } - - - - - @RequestMapping(value = {"p2pList"}) - public String p2pList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"a"); + + @RequestMapping(value = { "p2pList" }) + public String p2pList(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "a"); Page page = fileTransferCfgService.getP2pList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/fileTransfer/p2pList"; } - - @RequestMapping(value = {"p2pForm"}) - @RequiresPermissions(value={"fileTransfer:p2p:config"}) - public String p2pForm(Model model,String ids,CfgIndexInfo entity) { - // 跳转操作页面(根据ids判断是新增 or 修改) - if(StringUtils.isNotBlank(ids)){ - entity = fileTransferCfgService.getP2pCfg(Long.parseLong(ids),null); - + + @RequestMapping(value = { "p2pForm" }) + @RequiresPermissions(value = { "fileTransfer:p2p:config" }) + public String p2pForm(Model model, String ids, CfgIndexInfo entity) { + // 跳转操作页面(根据ids判断是新增 or 修改) + if (StringUtils.isNotBlank(ids)) { + entity = fileTransferCfgService.getP2pCfg(Long.parseLong(ids), null); + // 添加配置域Key,用于修改页面区分各域配置 P2pHashCfg hashCfg = new P2pHashCfg(); hashCfg.setCfgType(Constants.P2P_HASH_BIN_REGION); @@ -420,19 +417,19 @@ public class FileTransferCfgController extends BaseController{ NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg(); subscribeIdCfg.setCfgType(Constants.NTC_SUBSCRIBE_ID_REGION); entity.setNtcSubscribeIdCfg(subscribeIdCfg); - - if(entity.getP2pHashList().size() == 0) { + + if (entity.getP2pHashList().size() == 0) { entity.getP2pHashList().add(hashCfg); } - if(entity.getP2pKeywordList().size() == 0) { + if (entity.getP2pKeywordList().size() == 0) { entity.getP2pKeywordList().add(keywordCfg); } - if(entity.getNtcSubscribeIdCfgList().size() == 0) { + if (entity.getNtcSubscribeIdCfgList().size() == 0) { entity.getNtcSubscribeIdCfgList().add(subscribeIdCfg); } - - initUpdateFormCondition(model,entity); - }else{ + + initUpdateFormCondition(model, entity); + } else { // 添加配置域Key,用于新增页面区分各域配置 P2pHashCfg hashCfg = new P2pHashCfg(); hashCfg.setCfgType(Constants.P2P_HASH_BIN_REGION); @@ -443,7 +440,7 @@ public class FileTransferCfgController extends BaseController{ NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg(); subscribeIdCfg.setCfgType(Constants.NTC_SUBSCRIBE_ID_REGION); entity.setNtcSubscribeIdCfg(subscribeIdCfg); - + List hashList = new ArrayList(); hashList.add(hashCfg); entity.setP2pHashList(hashList); @@ -453,366 +450,431 @@ public class FileTransferCfgController extends BaseController{ ArrayList subscribeIdList = new ArrayList(); subscribeIdList.add(subscribeIdCfg); entity.setNtcSubscribeIdCfgList(subscribeIdList); - - initFormCondition(model,entity); + + initFormCondition(model, entity); } - + model.addAttribute("_cfg", entity); return "/cfg/fileTransfer/p2pForm"; } - - @RequestMapping(value = {"saveP2pCfg"}) - @RequiresPermissions(value={"fileTransfer:p2p:config"}) - public String saveP2pCfg(Model model,HttpServletRequest request,HttpServletResponse response, - String ids,CfgIndexInfo entity,RedirectAttributes redirectAttributes) { + + @RequestMapping(value = { "saveP2pCfg" }) + @RequiresPermissions(value = { "fileTransfer:p2p:config" }) + public String saveP2pCfg(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + CfgIndexInfo entity, RedirectAttributes redirectAttributes) { try { fileTransferCfgService.saveP2pCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { - if(e instanceof MaatConvertException) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.error("P2P信息保存失败",e); - addMessage(redirectAttributes,"error","request_service_failed"); - }else { + logger.error("P2P信息保存失败", e); + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("P2P信息保存失败",e); - addMessage(redirectAttributes,"error","save_failed"); + logger.error("P2P信息保存失败", e); + addMessage(redirectAttributes, "error", "save_failed"); } } - return "redirect:" + adminPath +"/ntc/fileTransfer/p2pList?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/ntc/fileTransfer/p2pList?functionId=" + entity.getFunctionId(); } - - @RequestMapping(value = {"updateP2pCfgValid"}) - @RequiresPermissions(value={"fileTransfer:p2p:config"}) - public String updateP2pCfgValid(Integer isValid,String ids,Integer functionId,RedirectAttributes redirectAttributes) { + + @RequestMapping(value = { "updateP2pCfgValid" }) + @RequiresPermissions(value = { "fileTransfer:p2p:config" }) + public String updateP2pCfgValid(Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { try { - fileTransferCfgService.updateP2pCfgValid(isValid,ids,functionId); - addMessage(redirectAttributes,"success","delete_success"); + fileTransferCfgService.updateP2pCfgValid(isValid, ids, functionId); + addMessage(redirectAttributes, "success", "delete_success"); } catch (Exception e) { - if(e instanceof MaatConvertException) { + if (e instanceof MaatConvertException) { e.printStackTrace(); - logger.info("P2P配置删除失败:"+e.getMessage());; - addMessage(redirectAttributes,"error","request_service_failed"); - }else { + logger.info("P2P配置删除失败:" + e.getMessage()); + ; + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { e.printStackTrace(); - logger.error("P2P配置删除失败",e); - addMessage(redirectAttributes,"error","delete_failed"); + logger.error("P2P配置删除失败", e); + addMessage(redirectAttributes, "error", "delete_failed"); } } - return "redirect:" + adminPath +"/ntc/fileTransfer/p2pList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/fileTransfer/p2pList?functionId=" + functionId; } - - @RequestMapping(value = {"ajaxP2pSubList"}) - public String ajaxP2pSubList(Model model,Long cfgId,Integer index,Integer compileId) { - CfgIndexInfo cfg = fileTransferCfgService.getP2pCfg(cfgId,compileId); + + @RequestMapping(value = { "ajaxP2pSubList" }) + public String ajaxP2pSubList(Model model, Long cfgId, Integer index, Integer compileId) { + CfgIndexInfo cfg = fileTransferCfgService.getP2pCfg(cfgId, compileId); List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getP2pHashList()!=null){ + if (cfg.getP2pHashList() != null) { String cfgType = null; - for(BaseStringCfg hash:cfg.getP2pHashList()){ - if(!hash.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",hash.getCfgType()}); + for (BaseStringCfg hash : cfg.getP2pHashList()) { + if (!hash.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", hash.getCfgType() }); cfgType = hash.getCfgType(); } } } - if(cfg.getP2pKeywordList()!=null){ + if (cfg.getP2pKeywordList() != null) { String cfgType = null; - for(BaseStringCfg keyword:cfg.getP2pKeywordList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",keyword.getCfgType()}); + for (BaseStringCfg keyword : cfg.getP2pKeywordList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - if(cfg.getNtcSubscribeIdCfgList()!=null){ + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(BaseStringCfg subscribeId:cfg.getNtcSubscribeIdCfgList()){ - if(!subscribeId.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",subscribeId.getCfgType()}); + for (BaseStringCfg subscribeId : cfg.getNtcSubscribeIdCfgList()) { + if (!subscribeId.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", subscribeId.getCfgType() }); cfgType = subscribeId.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/fileTransfer/p2pSubList"; } - - @RequestMapping(value = {"auditP2pCfg"}) - @RequiresPermissions(value={"fileTransfer:p2p:confirm"}) - public String auditP2pCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)) { + + @RequestMapping(value = { "auditP2pCfg" }) + @RequiresPermissions(value = { "fileTransfer:p2p:confirm" }) + public String auditP2pCfg(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { CfgIndexInfo entity = new CfgIndexInfo(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = fileTransferCfgService.getP2pCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = fileTransferCfgService.getP2pCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - fileTransferCfgService.auditP2pCfg(entity,isAudit); - addMessage(redirectAttributes,"success","audit_success"); - } catch ( Exception e) { + fileTransferCfgService.auditP2pCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { e.printStackTrace(); - logger.info("p2p配置下发失败:"+e.getMessage()); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); + logger.info("p2p配置下发失败:" + e.getMessage()); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - }else { - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + } else { + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } return p2pList(model, cfg, request, response); } - return "redirect:" + adminPath +"/ntc/fileTransfer/p2pList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/fileTransfer/p2pList?functionId=" + functionId; } - - //ftp配置导出 - @RequestMapping(value = "exportftp") - public void exportftp(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = fileTransferCfgService.getFtpList(pageInfo, entity); - ipLists=page.getList(); - } - - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_UNIVERSAL_IP"); - titleList.add("NTC_FTP_URL"); - titleList.add("NTC_FTP_CONTENT"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); - classMap.put("NTC_FTP_URL", BaseStringCfg.class); - classMap.put("NTC_FTP_CONTENT", BaseStringCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String regionCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_UNIVERSAL_IP", ipPortInfoNoExport); - noExportMap.put("NTC_FTP_URL", regionCfgNoExport); - noExportMap.put("NTC_FTP_CONTENT", regionCfgNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - List ipList=new ArrayList(); - List subscribeInfoList=new ArrayList(); - List ftpkeyList=new ArrayList(); - List ftpurlList=new ArrayList(); - for (CfgIndexInfo cfg : ipLists) { - Map maps=fileTransferCfgService.exportftp(cfg); - ftpkeyList.addAll(maps.get("NTC_FTP_CONTENT")); - ftpurlList.addAll(maps.get("NTC_FTP_URL")); - ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); - subscribeInfoList.addAll(maps.get("NTC_SUBSCRIBE_ID")); - } - subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); - ftpkeyList=BaseStringCfg.replaceBaseKeyList(ftpkeyList); - ftpurlList=BaseStringCfg.replaceBaseKeyList(ftpurlList); - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_UNIVERSAL_IP", ipList); - dataMap.put("NTC_FTP_URL", ftpurlList); - dataMap.put("NTC_FTP_CONTENT", ftpkeyList); - dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("ftp export failed",e); - addMessage(redirectAttributes,"error","export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + + // ftp配置导出 + @RequestMapping(value = "exportftp") + public void exportftp(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = fileTransferCfgService.getFtpList(pageInfo, entity); + ipLists = page.getList(); } - - //p2p配置导出 - @RequestMapping(value = "exportP2p") - public void exportP2p(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = fileTransferCfgService.getP2pList(pageInfo, entity); - ipLists=page.getList(); - } - - - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_UNIVERSAL_IP"); - titleList.add("NTC_P2P_KEYWORDS"); - titleList.add("NTC_P2P_HASH_BIN"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); - classMap.put("NTC_P2P_KEYWORDS", BaseStringCfg.class); - classMap.put("NTC_P2P_HASH_BIN", BaseStringCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,ir_type,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion2,userregion3,userregion4,userregion5,group_name,&userregion1:p2p_ip_config_type-"; - String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String hashCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion2,userregion3,userregion4,userregion5,&userregion1:p2p_hash_type-"; - String keyCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_UNIVERSAL_IP", ipPortInfoNoExport); - noExportMap.put("NTC_P2P_KEYWORDS", keyCfgNoExport); - noExportMap.put("NTC_P2P_HASH_BIN", hashCfgNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - List ipList=new ArrayList(); - List subscribeInfoList=new ArrayList(); - List hashList=new ArrayList(); - List keywordList=new ArrayList(); - for (CfgIndexInfo cfg : ipLists) { - Map maps=fileTransferCfgService.exportp2p(cfg); - keywordList.addAll(maps.get("NTC_P2P_KEYWORDS")); - hashList.addAll(maps.get("NTC_P2P_HASH_BIN")); - ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); - subscribeInfoList.addAll(maps.get("NTC_SUBSCRIBE_ID")); - } - subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); - keywordList=BaseStringCfg.replaceBaseKeyList(keywordList); - hashList=BaseStringCfg.replaceBaseKeyList(hashList); - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_UNIVERSAL_IP", ipList); - dataMap.put("NTC_P2P_KEYWORDS", keywordList); - dataMap.put("NTC_P2P_HASH_BIN", hashList); - dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("p2p export failed",e); - addMessage(redirectAttributes,"error","export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_UNIVERSAL_IP"); + titleList.add("NTC_FTP_URL"); + titleList.add("NTC_FTP_CONTENT"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); + classMap.put("NTC_FTP_URL", BaseStringCfg.class); + classMap.put("NTC_FTP_CONTENT", BaseStringCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + + String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String ntcSubscribeIdCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String regionCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; } - - - //file配置导出 - @RequestMapping(value = "exportFile") - public void exportFile(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")FileDigestCfg entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - - /*//导出选中记录 - * if(!StringUtil.isEmpty(ids)){ - for(String id:ids.split(",")){ - Long.parseLong(id); - } - //List list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename(), entity.getFunctionId(), ids); - }else{*/ - //条件导出数据大于最大导出数,只导出最大导出条数 - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = fileTransferCfgService.getFileDigestList(pageInfo, entity); - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), FileDigestCfg.class); - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(), page.getList()); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("file export failed",e); - addMessage(redirectAttributes,"error","export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_UNIVERSAL_IP", ipPortInfoNoExport); + noExportMap.put("NTC_FTP_URL", regionCfgNoExport); + noExportMap.put("NTC_FTP_CONTENT", regionCfgNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); + List ipList = new ArrayList(); + List subscribeInfoList = new ArrayList(); + List ftpkeyList = new ArrayList(); + List ftpurlList = new ArrayList(); + for (CfgIndexInfo cfg : ipLists) { + Map maps = fileTransferCfgService.exportftp(cfg); + ftpkeyList.addAll(maps.get("NTC_FTP_CONTENT")); + ftpurlList.addAll(maps.get("NTC_FTP_URL")); + ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); + subscribeInfoList.addAll(maps.get("NTC_SUBSCRIBE_ID")); + } + subscribeInfoList = BaseStringCfg.baseHexList(subscribeInfoList); + ftpkeyList = BaseStringCfg.replaceBaseKeyList(ftpkeyList); + ftpurlList = BaseStringCfg.replaceBaseKeyList(ftpurlList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_UNIVERSAL_IP", ipList); + dataMap.put("NTC_FTP_URL", ftpurlList); + dataMap.put("NTC_FTP_CONTENT", ftpkeyList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("ftp export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // p2p配置导出 + @RequestMapping(value = "exportP2p") + public void exportP2p(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = fileTransferCfgService.getP2pList(pageInfo, entity); + ipLists = page.getList(); + } + + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_UNIVERSAL_IP"); + titleList.add("NTC_P2P_KEYWORDS"); + titleList.add("NTC_P2P_HASH_BIN"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); + classMap.put("NTC_P2P_KEYWORDS", BaseStringCfg.class); + classMap.put("NTC_P2P_HASH_BIN", BaseStringCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + + String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,ir_type,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion2,userregion3,userregion4,userregion5,group_name,&userregion1:p2p_ip_config_type-"; + String ntcSubscribeIdCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String hashCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion2,userregion3,userregion4,userregion5,&userregion1:p2p_hash_type-"; + String keyCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_UNIVERSAL_IP", ipPortInfoNoExport); + noExportMap.put("NTC_P2P_KEYWORDS", keyCfgNoExport); + noExportMap.put("NTC_P2P_HASH_BIN", hashCfgNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); + List ipList = new ArrayList(); + List subscribeInfoList = new ArrayList(); + List hashList = new ArrayList(); + List keywordList = new ArrayList(); + for (CfgIndexInfo cfg : ipLists) { + Map maps = fileTransferCfgService.exportp2p(cfg); + keywordList.addAll(maps.get("NTC_P2P_KEYWORDS")); + hashList.addAll(maps.get("NTC_P2P_HASH_BIN")); + ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); + subscribeInfoList.addAll(maps.get("NTC_SUBSCRIBE_ID")); + } + subscribeInfoList = BaseStringCfg.baseHexList(subscribeInfoList); + keywordList = BaseStringCfg.replaceBaseKeyList(keywordList); + hashList = BaseStringCfg.replaceBaseKeyList(hashList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_UNIVERSAL_IP", ipList); + dataMap.put("NTC_P2P_KEYWORDS", keywordList); + dataMap.put("NTC_P2P_HASH_BIN", hashList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("p2p export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // file配置导出 + @RequestMapping(value = "exportFile") + public void exportFile(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") FileDigestCfg entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + /* + * //导出选中记录 if(!StringUtil.isEmpty(ids)){ for(String + * id:ids.split(",")){ Long.parseLong(id); } //List + * list=ipCfgService.getListByCfgIdWithName(IpPortCfg.getTablename() + * , entity.getFunctionId(), ids); }else{ + */ + // 条件导出数据大于最大导出数,只导出最大导出条数 + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = fileTransferCfgService.getFileDigestList(pageInfo, entity); + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), FileDigestCfg.class); + String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), page.getList()); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("file export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java b/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java index 70413da54..97ac790a2 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/IpController.java @@ -467,6 +467,19 @@ public class IpController extends BaseController{ +",letter,whether_area_block,classification,attribute,label" +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; String asnGroupInfoNoExport=""; + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); noExportMap.put("NTC_IP", ipPortInfoNoExport); noExportMap.put("asn_policy", asnGroupInfoNoExport); @@ -485,9 +498,16 @@ public class IpController extends BaseController{ dataMap.put(entity.getMenuNameCode(), ipLists); dataMap.put("NTC_IP", ipList); dataMap.put("asn_policy", groupInfoList); - + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); } catch (Exception e) { logger.error("ip addr export failed",e); addMessage(redirectAttributes,"error", "export_failed"); diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java index 0600369d3..2b4d20635 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/MailCfgController.java @@ -44,275 +44,303 @@ import com.nis.web.security.UserUtils; /** * 邮件相关配置控制类 + * * @author dell * */ @Controller @RequestMapping("${adminPath}/ntc/mail/") -public class MailCfgController extends BaseController{ - @RequestMapping(value = {"mailList"}) -// @RequiresPermissions(value={"mail:config"}) - public String mailList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"a"); +public class MailCfgController extends BaseController { + @RequestMapping(value = { "mailList" }) + // @RequiresPermissions(value={"mail:config"}) + public String mailList(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "a"); Page page = mailCfgService.getMailList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/mail/mailList"; } - @RequestMapping(value = {"mailForm"}) - @RequiresPermissions(value={"mail:config"}) - public String mailForm(Model model,String ids,CfgIndexInfo entity) { - if(StringUtils.isNotBlank(ids)){ - entity = mailCfgService.getMailCfg(Long.parseLong(ids),null); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + + @RequestMapping(value = { "mailForm" }) + @RequiresPermissions(value = { "mail:config" }) + public String mailForm(Model model, String ids, CfgIndexInfo entity) { + if (StringUtils.isNotBlank(ids)) { + entity = mailCfgService.getMailCfg(Long.parseLong(ids), null); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/mail/mailForm"; } - @RequestMapping(value = {"saveMailCfg"}) - @RequiresPermissions(value={"mail:config"}) - public String saveMailCfg( RedirectAttributes redirectAttributes, Model model,HttpServletRequest request,HttpServletResponse response,String ids, - CfgIndexInfo entity,MultipartFile file) { - + + @RequestMapping(value = { "saveMailCfg" }) + @RequiresPermissions(value = { "mail:config" }) + public String saveMailCfg(RedirectAttributes redirectAttributes, Model model, HttpServletRequest request, + HttpServletResponse response, String ids, CfgIndexInfo entity, MultipartFile file) { + try { ToMaatResult result = null; - if(file!=null && file.getSize()>0 && entity.getDigestList()!=null && entity.getDigestList().size()>0){ + if (file != null && file.getSize() > 0 && entity.getDigestList() != null + && entity.getDigestList().size() > 0) { String sep = System.getProperty("file.separator"); - String digestFilePath = request.getRealPath("/")+"digestFile"; + String digestFilePath = request.getRealPath("/") + "digestFile"; FileUtils.createDirectory(digestFilePath); - String fileName = UUID.randomUUID()+FileUtils.getSuffix(file.getOriginalFilename(), true); - File uploadFile = new File(digestFilePath+sep+fileName); + String fileName = UUID.randomUUID() + FileUtils.getSuffix(file.getOriginalFilename(), true); + File uploadFile = new File(digestFilePath + sep + fileName); FileCopyUtils.copy(file.getBytes(), uploadFile); Date creatTime = entity.getCreateTime(); - //获取文件摘要接口调用 - Map fileMap = new HashMap(); + // 获取文件摘要接口调用 + Map fileMap = new HashMap(); fileMap.put("filetype", FileUtils.getSuffix(file.getOriginalFilename(), false)); - fileMap.put("datatype", "dbSystem");//源文件存入数据中心 - - fileMap.put("createTime",creatTime); - fileMap.put("key",FileUtils.getPrefix(file.getOriginalFilename(), false)); + fileMap.put("datatype", "dbSystem");// 源文件存入数据中心 + + fileMap.put("createTime", creatTime); + fileMap.put("key", FileUtils.getPrefix(file.getOriginalFilename(), false)); fileMap.put("fileName", file.getOriginalFilename()); String md5 = DigestUtils.md5Hex(file.getBytes()); fileMap.put("checksum", md5); result = ConfigServiceUtil.getFileDigest(null, uploadFile, JsonMapper.toJsonString(fileMap)); - logger.info("获取文件摘要响应信息:"+result); - } - mailCfgService.saveMailCfg(entity,result); - addMessage(redirectAttributes,"success", "save_success"); - } catch ( Exception e) { - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + logger.info("获取文件摘要响应信息:" + result); + } + mailCfgService.saveMailCfg(entity, result); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/ntc/mail/mailList?functionId="+entity.getFunctionId(); + + return "redirect:" + adminPath + "/ntc/mail/mailList?functionId=" + entity.getFunctionId(); } - @RequestMapping(value = {"ajaxMailSubList"}) - public String ajaxMailSubList(Model model,Long cfgId,Integer index,Integer compileId) { - CfgIndexInfo cfg = mailCfgService.getMailCfg(cfgId,compileId); + + @RequestMapping(value = { "ajaxMailSubList" }) + public String ajaxMailSubList(Model model, Long cfgId, Integer index, Integer compileId) { + CfgIndexInfo cfg = mailCfgService.getMailCfg(cfgId, compileId); List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getComplexList()!=null){ + if (cfg.getComplexList() != null) { String cfgType = null; - for(ComplexkeywordCfg keyword:cfg.getComplexList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"3",keyword.getCfgType()}); + for (ComplexkeywordCfg keyword : cfg.getComplexList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "3", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - if(cfg.getDigestList()!=null){ + if (cfg.getDigestList() != null) { String cfgType = null; - for(FileDigestCfg digest:cfg.getDigestList()){ - if(!digest.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"5",digest.getCfgType()}); + for (FileDigestCfg digest : cfg.getDigestList()) { + if (!digest.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "5", digest.getCfgType() }); cfgType = digest.getCfgType(); } } } - if(cfg.getNtcSubscribeIdCfgList()!=null){ + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg keyword:cfg.getNtcSubscribeIdCfgList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",keyword.getCfgType()}); + for (NtcSubscribeIdCfg keyword : cfg.getNtcSubscribeIdCfgList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/mail/mailSubList"; } - @RequestMapping(value = {"updateMailCfgValid"}) - @RequiresPermissions(value={"mail:config"}) - public String updateMailCfgValid(Integer isValid,String ids,Integer functionId) { - mailCfgService.updateMailCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/mail/mailList?functionId="+functionId; + + @RequestMapping(value = { "updateMailCfgValid" }) + @RequiresPermissions(value = { "mail:config" }) + public String updateMailCfgValid(Integer isValid, String ids, Integer functionId) { + mailCfgService.updateMailCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/mail/mailList?functionId=" + functionId; } - @RequestMapping(value = {"auditMailCfg"}) - @RequiresPermissions(value={"mail:confirm"}) - public String auditMailCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)) { + + @RequestMapping(value = { "auditMailCfg" }) + @RequiresPermissions(value = { "mail:confirm" }) + public String auditMailCfg(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { CfgIndexInfo entity = new CfgIndexInfo(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = mailCfgService.getMailCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = mailCfgService.getMailCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - mailCfgService.auditMailCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); - } catch ( Exception e) { + mailCfgService.auditMailCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { e.printStackTrace(); - logger.error("mail配置下发失败:"+e.getMessage()); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + logger.error("mail配置下发失败:" + e.getMessage()); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } } - }else { - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + } else { + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } return mailList(model, cfg, request, response); } - return "redirect:" + adminPath +"/ntc/mail/mailList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/mail/mailList?functionId=" + functionId; } - - //mail配置导出 - @RequestMapping(value = "exportmail") - public void exportmail(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = mailCfgService.getMailList(pageInfo, entity); - ipLists=page.getList(); - } - - titleList.add(entity.getMenuNameCode()); - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String regionCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - if(entity.getFunctionId()!=null){ - if(entity.getFunctionId()!=37){ - titleList.add("NTC_IP"); - titleList.add("NTC_MAIL_BODY"); - - classMap.put("NTC_IP", IpPortCfg.class); - classMap.put("NTC_MAIL_BODY", ComplexkeywordCfg.class); - - noExportMap.put("NTC_IP", ipPortInfoNoExport); - noExportMap.put("NTC_MAIL_BODY", regionCfgNoExport); - - } - } - titleList.add("NTC_MAIL_HDR"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_MAIL_HDR", ComplexkeywordCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_MAIL_HDR", regionCfgNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - List ipList=new ArrayList(); - List subscribeInfoList=new ArrayList(); - List mailBodyList=new ArrayList(); - List mailReqHdrList=new ArrayList(); - for (CfgIndexInfo cfg : ipLists) { - Map maps=mailCfgService.exportmail(cfg); - mailReqHdrList.addAll(maps.get("NTC_MAIL_HDR")); - mailBodyList.addAll(maps.get("NTC_MAIL_BODY")); - ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); - subscribeInfoList.addAll(maps.get("NTC_SUBSCRIBE_ID")); - } - subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); - mailBodyList=ComplexkeywordCfg.replaceComplexKeyList(mailBodyList); - mailReqHdrList=ComplexkeywordCfg.replaceComplexKeyList(mailReqHdrList); - if(entity.getFunctionId()!=null){ - if(entity.getFunctionId()!=37){ - dataMap.put("NTC_IP", ipList); - dataMap.put("NTC_MAIL_BODY", mailBodyList); - - } - } - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_MAIL_HDR", mailReqHdrList); - dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("mail export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + + // mail配置导出 + @RequestMapping(value = "exportmail") + public void exportmail(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = mailCfgService.getMailList(pageInfo, entity); + ipLists = page.getList(); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + + titleList.add(entity.getMenuNameCode()); + String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String ntcSubscribeIdCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String regionCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + if (entity.getFunctionId() != null) { + if (entity.getFunctionId() != 37) { + titleList.add("NTC_IP"); + titleList.add("NTC_MAIL_BODY"); + + classMap.put("NTC_IP", IpPortCfg.class); + classMap.put("NTC_MAIL_BODY", ComplexkeywordCfg.class); + + noExportMap.put("NTC_IP", ipPortInfoNoExport); + noExportMap.put("NTC_MAIL_BODY", regionCfgNoExport); + + } + } + titleList.add("NTC_MAIL_HDR"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_MAIL_HDR", ComplexkeywordCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_MAIL_HDR", regionCfgNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); + List ipList = new ArrayList(); + List subscribeInfoList = new ArrayList(); + List mailBodyList = new ArrayList(); + List mailReqHdrList = new ArrayList(); + for (CfgIndexInfo cfg : ipLists) { + Map maps = mailCfgService.exportmail(cfg); + mailReqHdrList.addAll(maps.get("NTC_MAIL_HDR")); + mailBodyList.addAll(maps.get("NTC_MAIL_BODY")); + ipList.addAll(maps.get("NTC_UNIVERSAL_IP")); + subscribeInfoList.addAll(maps.get("NTC_SUBSCRIBE_ID")); + } + subscribeInfoList = BaseStringCfg.baseHexList(subscribeInfoList); + mailBodyList = ComplexkeywordCfg.replaceComplexKeyList(mailBodyList); + mailReqHdrList = ComplexkeywordCfg.replaceComplexKeyList(mailReqHdrList); + if (entity.getFunctionId() != null) { + if (entity.getFunctionId() != 37) { + dataMap.put("NTC_IP", ipList); + dataMap.put("NTC_MAIL_BODY", mailBodyList); + + } + } + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_MAIL_HDR", mailReqHdrList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("mail export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); } - + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java b/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java index b2d57d3fe..6ab6a5608 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/WebsiteController.java @@ -50,39 +50,43 @@ import com.nis.web.security.UserUtils; /** * 网站配置 + * * @author dell * */ @Controller @RequestMapping("${adminPath}/ntc/website/") -public class WebsiteController extends BaseController{ - - @RequestMapping(value = {"httpList"}) -// @RequiresPermissions(value={"website:http:config"}) - public String httpList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"a"); +public class WebsiteController extends BaseController { + + @RequestMapping(value = { "httpList" }) + // @RequiresPermissions(value={"website:http:config"}) + public String httpList(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "a"); Page page = websiteCfgService.getWebsiteList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/website/httpList"; } - @RequestMapping(value = {"dnsList"}) -// @RequiresPermissions(value={"website:dns:config"}) - public String dnsList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"a"); + + @RequestMapping(value = { "dnsList" }) + // @RequiresPermissions(value={"website:dns:config"}) + public String dnsList(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "a"); Page page = websiteCfgService.getWebsiteList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/website/dnsList"; } - - @RequestMapping(value = {"httpForm"}) - @RequiresPermissions(value={"website:http:config"}) - public String httpForm(Model model,String ids,CfgIndexInfo entity) { - if(StringUtils.isNotBlank(ids)){ - entity = websiteCfgService.getHttpCfg(Long.parseLong(ids),null); - - //设置http各类配置的配置域类型 + + @RequestMapping(value = { "httpForm" }) + @RequiresPermissions(value = { "website:http:config" }) + public String httpForm(Model model, String ids, CfgIndexInfo entity) { + if (StringUtils.isNotBlank(ids)) { + entity = websiteCfgService.getHttpCfg(Long.parseLong(ids), null); + + // 设置http各类配置的配置域类型 IpPortCfg ipCfg = new IpPortCfg(); ipCfg.setCfgType(Constants.HTTP_IP_REGION); entity.setIpPort(ipCfg); @@ -104,39 +108,36 @@ public class WebsiteController extends BaseController{ NtcSubscribeIdCfg subscribeId = new NtcSubscribeIdCfg(); subscribeId.setCfgType(Constants.NTC_SUBSCRIBE_ID); entity.setNtcSubscribeIdCfg(subscribeId); - - int httpReqCfgNum = entity.getIpPortList().size()+ - entity.getHttpUrlList().size()+ - entity.getHttpReqBodyList().size()+ - entity.getHttpReqHdrList().size(); - int httpResCfgNum = entity.getHttpResHdrList().size()+ - entity.getHttpResBodyList().size(); + + int httpReqCfgNum = entity.getIpPortList().size() + entity.getHttpUrlList().size() + + entity.getHttpReqBodyList().size() + entity.getHttpReqHdrList().size(); + int httpResCfgNum = entity.getHttpResHdrList().size() + entity.getHttpResBodyList().size(); model.addAttribute("httpReqCfgNum", httpReqCfgNum); model.addAttribute("httpResCfgNum", httpResCfgNum); - if(entity.getIpPortList().size()==0){ + if (entity.getIpPortList().size() == 0) { entity.getIpPortList().add(ipCfg); } - if(entity.getHttpUrlList().size()==0){ + if (entity.getHttpUrlList().size() == 0) { entity.getHttpUrlList().add(urlCfg); } - if(entity.getHttpReqHdrList().size()==0){ + if (entity.getHttpReqHdrList().size() == 0) { entity.getHttpReqHdrList().add(reqHdrCfg); } - if(entity.getHttpResHdrList().size()==0){ + if (entity.getHttpResHdrList().size() == 0) { entity.getHttpResHdrList().add(resHdrCfg); } - if(entity.getHttpReqBodyList().size()==0){ + if (entity.getHttpReqBodyList().size() == 0) { entity.getHttpReqBodyList().add(reqBodyCfg); } - if(entity.getHttpResBodyList().size()==0){ + if (entity.getHttpResBodyList().size() == 0) { entity.getHttpResBodyList().add(resBodyCfg); } - if(entity.getNtcSubscribeIdCfgList().size()==0){ + if (entity.getNtcSubscribeIdCfgList().size() == 0) { entity.getNtcSubscribeIdCfgList().add(subscribeId); } - initUpdateFormCondition(model,entity); - }else{ - //设置http各类配置的配置域类型 + initUpdateFormCondition(model, entity); + } else { + // 设置http各类配置的配置域类型 IpPortCfg ipCfg = new IpPortCfg(); ipCfg.setCfgType(Constants.HTTP_IP_REGION); entity.setIpPort(ipCfg); @@ -158,774 +159,826 @@ public class WebsiteController extends BaseController{ NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg(); subscribeIdCfg.setCfgType(Constants.NTC_SUBSCRIBE_ID); entity.setNtcSubscribeIdCfg(subscribeIdCfg); - - List ipList=new ArrayList(); + + List ipList = new ArrayList(); ipList.add(ipCfg); entity.setIpPortList(ipList); - List urlList=new ArrayList(); + List urlList = new ArrayList(); urlList.add(urlCfg); entity.setHttpUrlList(urlList); - List reqHdrList=new ArrayList(); + List reqHdrList = new ArrayList(); reqHdrList.add(reqHdrCfg); entity.setHttpReqHdrList(reqHdrList); - List resHdrList=new ArrayList(); + List resHdrList = new ArrayList(); resHdrList.add(resHdrCfg); entity.setHttpResHdrList(resHdrList); - List reqBodyList=new ArrayList(); + List reqBodyList = new ArrayList(); reqBodyList.add(reqBodyCfg); entity.setHttpReqBodyList(reqBodyList); - List resBodyList=new ArrayList(); + List resBodyList = new ArrayList(); resBodyList.add(resBodyCfg); entity.setHttpResBodyList(resBodyList); - List subscribeIdList=new ArrayList(); + List subscribeIdList = new ArrayList(); subscribeIdList.add(subscribeIdCfg); entity.setNtcSubscribeIdCfgList(subscribeIdList); - initFormCondition(model,entity); + initFormCondition(model, entity); } - + model.addAttribute("_cfg", entity); return "/cfg/website/httpForm"; } - - @RequestMapping(value = {"saveHttpCfg"}) - @RequiresPermissions(value={"website:http:config"}) - public String saveHttpCfg(RedirectAttributes model,HttpServletRequest request,HttpServletResponse response,String ids,CfgIndexInfo entity) { + + @RequestMapping(value = { "saveHttpCfg" }) + @RequiresPermissions(value = { "website:http:config" }) + public String saveHttpCfg(RedirectAttributes model, HttpServletRequest request, HttpServletResponse response, + String ids, CfgIndexInfo entity) { websiteCfgService.saveHttpCfg(entity); - return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/ntc/website/httpList?functionId=" + entity.getFunctionId(); } - @RequestMapping(value = {"ajaxHttpSubList"}) - public String ajaxHttpSubList(Model model,Long cfgId,Integer index,Integer compileId) { - CfgIndexInfo cfg = websiteCfgService.getHttpCfg(cfgId,compileId); - model.addAttribute("_cfg", cfg); + + @RequestMapping(value = { "ajaxHttpSubList" }) + public String ajaxHttpSubList(Model model, Long cfgId, Integer index, Integer compileId) { + CfgIndexInfo cfg = websiteCfgService.getHttpCfg(cfgId, compileId); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); return "/cfg/website/httpSubList"; } - @RequestMapping(value = {"updateHttpCfgValid"}) - @RequiresPermissions(value={"website:http:config"}) - public String updateHttpCfgValid(Integer isValid,String ids,Integer functionId) { - websiteCfgService.updateHttpCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+functionId; + + @RequestMapping(value = { "updateHttpCfgValid" }) + @RequiresPermissions(value = { "website:http:config" }) + public String updateHttpCfgValid(Integer isValid, String ids, Integer functionId) { + websiteCfgService.updateHttpCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/website/httpList?functionId=" + functionId; } - @RequestMapping(value = {"auditHttpCfg"}) - @RequiresPermissions(value={"website:http:confirm"}) - public String auditHttpCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)) { + + @RequestMapping(value = { "auditHttpCfg" }) + @RequiresPermissions(value = { "website:http:confirm" }) + public String auditHttpCfg(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { CfgIndexInfo entity = new CfgIndexInfo(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = websiteCfgService.getHttpCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = websiteCfgService.getHttpCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - websiteCfgService.auditHttpCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + websiteCfgService.auditHttpCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { - logger.error("http配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error", "request_service_failed"); - }catch (Exception e) { - logger.error("http配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("http配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "request_service_failed"); + } catch (Exception e) { + logger.error("http配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "audit_failed"); } } - }else{//条件下所有配置审核 - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + } else {// 条件下所有配置审核 + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return httpList(model, cfg, request, response); } - return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/website/httpList?functionId=" + functionId; } - @RequestMapping(value = {"sslList"}) -// @RequiresPermissions(value={"website:ssl:config"}) - public String sslList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"a"); + + @RequestMapping(value = { "sslList" }) + // @RequiresPermissions(value={"website:ssl:config"}) + public String sslList(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "a"); Page page = websiteCfgService.getWebsiteList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/website/sslList"; } - @RequestMapping(value = {"sslForm"}) - @RequiresPermissions(value={"website:ssl:config"}) - public String sslForm(Model model,String ids,CfgIndexInfo entity) { - if(StringUtils.isNotBlank(ids)){ - entity = websiteCfgService.getSslCfg(Long.parseLong(ids),null); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + + @RequestMapping(value = { "sslForm" }) + @RequiresPermissions(value = { "website:ssl:config" }) + public String sslForm(Model model, String ids, CfgIndexInfo entity) { + if (StringUtils.isNotBlank(ids)) { + entity = websiteCfgService.getSslCfg(Long.parseLong(ids), null); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/website/sslForm"; } - @RequestMapping(value = {"saveSslCfg"}) - @RequiresPermissions(value={"website:ssl:config"}) - public String saveSslCfg(RedirectAttributes model,HttpServletRequest request,HttpServletResponse response,String ids,CfgIndexInfo entity) { + + @RequestMapping(value = { "saveSslCfg" }) + @RequiresPermissions(value = { "website:ssl:config" }) + public String saveSslCfg(RedirectAttributes model, HttpServletRequest request, HttpServletResponse response, + String ids, CfgIndexInfo entity) { websiteCfgService.saveSslCfg(entity); - return "redirect:" + adminPath +"/ntc/website/sslList?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/ntc/website/sslList?functionId=" + entity.getFunctionId(); } - @RequestMapping(value = {"ajaxSslSubList"}) - public String ajaxSslSubList(Model model,Long cfgId,Integer index,Integer compileId) { - CfgIndexInfo cfg = websiteCfgService.getSslCfg(cfgId,compileId); - /*List regionList = DictUtils.getFunctionRegionDictList(cfg.getFunctionId()); - model.addAttribute("regionList", regionList);*/ + + @RequestMapping(value = { "ajaxSslSubList" }) + public String ajaxSslSubList(Model model, Long cfgId, Integer index, Integer compileId) { + CfgIndexInfo cfg = websiteCfgService.getSslCfg(cfgId, compileId); + /* + * List regionList = + * DictUtils.getFunctionRegionDictList(cfg.getFunctionId()); + * model.addAttribute("regionList", regionList); + */ List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getSslList()!=null){ + if (cfg.getSslList() != null) { String cfgType = null; - for(BaseStringCfg keyword:cfg.getSslList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",keyword.getCfgType()}); + for (BaseStringCfg keyword : cfg.getSslList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - if(cfg.getNtcSubscribeIdCfgList()!=null){ + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg keyword:cfg.getNtcSubscribeIdCfgList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",keyword.getCfgType()}); + for (NtcSubscribeIdCfg keyword : cfg.getNtcSubscribeIdCfgList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/website/sslSubList"; } - @RequestMapping(value = {"updateSslCfgValid"}) - @RequiresPermissions(value={"website:ssl:config"}) - public String updateSslCfgValid(Integer isValid,String ids,Integer functionId) { - websiteCfgService.updateSslCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/website/sslList?functionId="+functionId; + + @RequestMapping(value = { "updateSslCfgValid" }) + @RequiresPermissions(value = { "website:ssl:config" }) + public String updateSslCfgValid(Integer isValid, String ids, Integer functionId) { + websiteCfgService.updateSslCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/website/sslList?functionId=" + functionId; } - @RequestMapping(value = {"auditSslCfg"}) - @RequiresPermissions(value={"website:ssl:confirm"}) - public String auditSslCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isAudit, - Integer isValid, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletRequest request, - HttpServletResponse response) { - if(!StringUtil.isEmpty(ids)) { + + @RequestMapping(value = { "auditSslCfg" }) + @RequiresPermissions(value = { "website:ssl:confirm" }) + public String auditSslCfg(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isAudit, Integer isValid, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletRequest request, + HttpServletResponse response) { + if (!StringUtil.isEmpty(ids)) { CfgIndexInfo entity = new CfgIndexInfo(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = websiteCfgService.getSslCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = websiteCfgService.getSslCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - websiteCfgService.auditSslCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); - } catch ( Exception e) { + websiteCfgService.auditSslCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { e.printStackTrace(); - logger.error("ssl配置下发失败:"+e.getMessage()); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - - }else if(e instanceof CallExternalProceduresException) { - addMessage(redirectAttributes,"error","call_external_procedures_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + logger.error("ssl配置下发失败:" + e.getMessage()); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + + } else if (e instanceof CallExternalProceduresException) { + addMessage(redirectAttributes, "error", "call_external_procedures_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } } - }else{//条件下所有配置审核 + } else {// 条件下所有配置审核 try { - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return sslList(model, cfg, request, response); } - return "redirect:" + adminPath +"/ntc/website/sslList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/website/sslList?functionId=" + functionId; } - - @RequestMapping(value = {"dnsForm"}) - @RequiresPermissions(value={"website:dns:config"}) - public String dnsForm(Model model,String ids,CfgIndexInfo entity) { - if(StringUtils.isNotBlank(ids)){ - entity = websiteCfgService.getDnsCfg(Long.parseLong(ids),null); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + + @RequestMapping(value = { "dnsForm" }) + @RequiresPermissions(value = { "website:dns:config" }) + public String dnsForm(Model model, String ids, CfgIndexInfo entity) { + if (StringUtils.isNotBlank(ids)) { + entity = websiteCfgService.getDnsCfg(Long.parseLong(ids), null); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } - //获取所有响应策略信息 - List resStrategys=dnsResStrategyService.findDnsResStrategys(null, 1,1); + // 获取所有响应策略信息 + List resStrategys = dnsResStrategyService.findDnsResStrategys(null, 1, 1); model.addAttribute("dnsResStrategys", resStrategys); model.addAttribute("_cfg", entity); return "/cfg/website/dnsForm"; } - @RequestMapping(value = {"saveDnsCfg"}) - @RequiresPermissions(value={"website:dns:config"}) - public String saveDnsCfg(RedirectAttributes model,HttpServletRequest request,HttpServletResponse response,String ids,CfgIndexInfo entity) { + + @RequestMapping(value = { "saveDnsCfg" }) + @RequiresPermissions(value = { "website:dns:config" }) + public String saveDnsCfg(RedirectAttributes model, HttpServletRequest request, HttpServletResponse response, + String ids, CfgIndexInfo entity) { websiteCfgService.saveDnsCfg(entity); - return "redirect:" + adminPath +"/ntc/website/dnsList?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/ntc/website/dnsList?functionId=" + entity.getFunctionId(); } - @RequestMapping(value = {"ajaxDnsSubList"}) - public String ajaxDnsSubList(Model model,Long cfgId,Integer index,Integer compileId) { - CfgIndexInfo cfg = websiteCfgService.getDnsCfg(cfgId,compileId); + + @RequestMapping(value = { "ajaxDnsSubList" }) + public String ajaxDnsSubList(Model model, Long cfgId, Integer index, Integer compileId) { + CfgIndexInfo cfg = websiteCfgService.getDnsCfg(cfgId, compileId); List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getDomainList()!=null){ + if (cfg.getDomainList() != null) { String cfgType = null; - for(ComplexkeywordCfg keyword:cfg.getDomainList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"3",keyword.getCfgType()}); + for (ComplexkeywordCfg keyword : cfg.getDomainList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "3", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - if(cfg.getNtcSubscribeIdCfgList()!=null){ + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg keyword:cfg.getNtcSubscribeIdCfgList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",keyword.getCfgType()}); + for (NtcSubscribeIdCfg keyword : cfg.getNtcSubscribeIdCfgList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/website/dnsSubList"; } - @RequestMapping(value = {"updateDnsCfgValid"}) - @RequiresPermissions(value={"website:dns:config"}) - public String updateDnsCfgValid(Integer isValid,String ids,Integer functionId) { - websiteCfgService.updateDnsCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/website/dnsList?functionId="+functionId; + + @RequestMapping(value = { "updateDnsCfgValid" }) + @RequiresPermissions(value = { "website:dns:config" }) + public String updateDnsCfgValid(Integer isValid, String ids, Integer functionId) { + websiteCfgService.updateDnsCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/website/dnsList?functionId=" + functionId; } - @RequestMapping(value = {"auditDnsCfg"}) - @RequiresPermissions(value={"website:dns:confirm"}) - public String auditDnsCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isAudit, - Integer isValid, - String ids, - Integer functionId, - HttpServletRequest request, - HttpServletResponse response, - RedirectAttributes redirectAttributes) { - if(!StringUtil.isEmpty(ids)) { + + @RequestMapping(value = { "auditDnsCfg" }) + @RequiresPermissions(value = { "website:dns:confirm" }) + public String auditDnsCfg(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isAudit, Integer isValid, + String ids, Integer functionId, HttpServletRequest request, HttpServletResponse response, + RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(ids)) { CfgIndexInfo entity = new CfgIndexInfo(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = websiteCfgService.getDnsCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = websiteCfgService.getDnsCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - websiteCfgService.auditDnsCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + websiteCfgService.auditDnsCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { e.printStackTrace(); - logger.info("dns配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error", "request_service_failed"); - }catch (Exception e) { + logger.info("dns配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "request_service_failed"); + } catch (Exception e) { e.printStackTrace(); - logger.info("dns配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error", "audit_failed"); + logger.info("dns配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "audit_failed"); } } - }else{//条件下所有配置审核 - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + } else {// 条件下所有配置审核 + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return dnsList(model, cfg, request, response); } - return "redirect:" + adminPath +"/ntc/website/dnsList?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/website/dnsList?functionId=" + functionId; } + @Deprecated - //下载导入模板 + // 下载导入模板 @RequestMapping(value = "import/template") - public void importFileTemplate(HttpServletRequest request,HttpServletResponse response, - RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) { + public void importFileTemplate(HttpServletRequest request, HttpServletResponse response, + RedirectAttributes redirectAttributes, Integer functionId, Integer cfgRegionCode) { this.importCfgTemplate(request, response, redirectAttributes, functionId, cfgRegionCode); } - //http配置导入 - /*@RequestMapping(value = "importHttp", method=RequestMethod.POST) - public String importHttpFile(HttpServletRequest request,Model model,HttpServletResponse response, RedirectAttributes redirectAttributes, - @RequestParam("file") MultipartFile file,CfgIndexInfo cfgIndex,Integer protocolId) { - try { - ImportExcel ei = new ImportExcel(file, 0, 0); - if(cfgIndex.getCfgType().equals(Constants.HTTP_IP_REGION)){ - List list = ei.getDataList(IpCfgTemplate.class); - for(IpCfgTemplate cfg : list){ - List ipList = new ArrayList(); - BeanUtils.copyProperties(cfg, cfgIndex); - IpPortCfg ip = new IpPortCfg(); - BeanUtils.copyProperties(cfg, ip); - ip.setProtocolId(protocolId); - ip.setCfgRegionCode(cfgIndex.getCfgRegionCode()); - ip.setCfgType(cfgIndex.getCfgType()); - ipList.add(ip); - cfgIndex.setIpPortList(ipList); - cfgIndex.setIsAreaEffective(0); - websiteCfgService.saveHttpCfg(cfgIndex); - } - - }else if(cfgIndex.getCfgType().equals(Constants.HTTP_URL_REGION)){ - List list = ei.getDataList(StringCfgTemplate.class); - for(StringCfgTemplate cfg : list){ - List urlList = new ArrayList(); - BeanUtils.copyProperties(cfg, cfgIndex); - HttpUrlCfg url = new HttpUrlCfg(); - BeanUtils.copyProperties(cfg, url); - url.setCfgRegionCode(cfgIndex.getCfgRegionCode()); - url.setCfgType(cfgIndex.getCfgType()); - urlList.add(url); - cfgIndex.setHttpUrlList(urlList); - cfgIndex.setIsAreaEffective(0); - websiteCfgService.saveHttpCfg(cfgIndex); - } - - }else if(cfgIndex.getCfgType().equals(Constants.HTTP_REQ_HEAD_REGION)){ - List list = ei.getDataList(ComplexStringCfgTemplate.class); - for(ComplexStringCfgTemplate cfg : list){ - List headList = new ArrayList(); - BeanUtils.copyProperties(cfg, cfgIndex); - HttpReqHeadCfg head = new HttpReqHeadCfg(); - BeanUtils.copyProperties(cfg, head); - head.setCfgRegionCode(cfgIndex.getCfgRegionCode()); - head.setCfgType(cfgIndex.getCfgType()); - headList.add(head); - cfgIndex.setHttpReqHdrList(headList); - cfgIndex.setIsAreaEffective(0); - websiteCfgService.saveHttpCfg(cfgIndex); - } - - }else if(cfgIndex.getCfgType().equals(Constants.HTTP_REQ_BODY_REGION)){ - List list = ei.getDataList(StringCfgTemplate.class); - for(StringCfgTemplate cfg : list){ - List bodyList = new ArrayList(); - BeanUtils.copyProperties(cfg, cfgIndex); - HttpBodyCfg body = new HttpBodyCfg(); - BeanUtils.copyProperties(cfg, body); - body.setCfgRegionCode(cfgIndex.getCfgRegionCode()); - body.setCfgType(cfgIndex.getCfgType()); - bodyList.add(body); - cfgIndex.setHttpReqBodyList(bodyList); - cfgIndex.setIsAreaEffective(0); - websiteCfgService.saveHttpCfg(cfgIndex); - } - - }else if(cfgIndex.getCfgType().equals(Constants.HTTP_RES_HEAD_REGION)){ - List list = ei.getDataList(ComplexStringCfgTemplate.class); - for(ComplexStringCfgTemplate cfg : list){ - List headList = new ArrayList(); - BeanUtils.copyProperties(cfg, cfgIndex); - HttpResHeadCfg head = new HttpResHeadCfg(); - BeanUtils.copyProperties(cfg, head); - head.setCfgRegionCode(cfgIndex.getCfgRegionCode()); - head.setCfgType(cfgIndex.getCfgType()); - headList.add(head); - cfgIndex.setHttpResHdrList(headList); - cfgIndex.setIsAreaEffective(0); - websiteCfgService.saveHttpCfg(cfgIndex); - } - - }else if(cfgIndex.getCfgType().equals(Constants.HTTP_RES_BODY_REGION)){ - List list = ei.getDataList(StringCfgTemplate.class); - for(StringCfgTemplate cfg : list){ - List bodyList = new ArrayList(); - BeanUtils.copyProperties(cfg, cfgIndex); - HttpBodyCfg body = new HttpBodyCfg(); - BeanUtils.copyProperties(cfg, body); - body.setCfgRegionCode(cfgIndex.getCfgRegionCode()); - body.setCfgType(cfgIndex.getCfgType()); - bodyList.add(body); - cfgIndex.setHttpResBodyList(bodyList); - cfgIndex.setIsAreaEffective(0); - websiteCfgService.saveHttpCfg(cfgIndex); - } - - } - - - } catch (Exception e) { - addMessage(redirectAttributes, e.getMessage()); - e.printStackTrace(); - } - return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+cfgIndex.getFunctionId(); - - }*/ - - - + // http配置导入 + /* + * @RequestMapping(value = "importHttp", method=RequestMethod.POST) public + * String importHttpFile(HttpServletRequest request,Model + * model,HttpServletResponse response, RedirectAttributes + * redirectAttributes, + * + * @RequestParam("file") MultipartFile file,CfgIndexInfo cfgIndex,Integer + * protocolId) { try { ImportExcel ei = new ImportExcel(file, 0, 0); + * if(cfgIndex.getCfgType().equals(Constants.HTTP_IP_REGION)){ + * List list = ei.getDataList(IpCfgTemplate.class); + * for(IpCfgTemplate cfg : list){ List ipList = new ArrayList(); + * BeanUtils.copyProperties(cfg, cfgIndex); IpPortCfg ip = new IpPortCfg(); + * BeanUtils.copyProperties(cfg, ip); ip.setProtocolId(protocolId); + * ip.setCfgRegionCode(cfgIndex.getCfgRegionCode()); + * ip.setCfgType(cfgIndex.getCfgType()); ipList.add(ip); + * cfgIndex.setIpPortList(ipList); cfgIndex.setIsAreaEffective(0); + * websiteCfgService.saveHttpCfg(cfgIndex); } + * + * }else if(cfgIndex.getCfgType().equals(Constants.HTTP_URL_REGION)){ + * List list = ei.getDataList(StringCfgTemplate.class); + * for(StringCfgTemplate cfg : list){ List urlList = new + * ArrayList(); BeanUtils.copyProperties(cfg, cfgIndex); HttpUrlCfg url = + * new HttpUrlCfg(); BeanUtils.copyProperties(cfg, url); + * url.setCfgRegionCode(cfgIndex.getCfgRegionCode()); + * url.setCfgType(cfgIndex.getCfgType()); urlList.add(url); + * cfgIndex.setHttpUrlList(urlList); cfgIndex.setIsAreaEffective(0); + * websiteCfgService.saveHttpCfg(cfgIndex); } + * + * }else if(cfgIndex.getCfgType().equals(Constants.HTTP_REQ_HEAD_REGION)){ + * List list = + * ei.getDataList(ComplexStringCfgTemplate.class); + * for(ComplexStringCfgTemplate cfg : list){ List headList = + * new ArrayList(); BeanUtils.copyProperties(cfg, cfgIndex); HttpReqHeadCfg + * head = new HttpReqHeadCfg(); BeanUtils.copyProperties(cfg, head); + * head.setCfgRegionCode(cfgIndex.getCfgRegionCode()); + * head.setCfgType(cfgIndex.getCfgType()); headList.add(head); + * cfgIndex.setHttpReqHdrList(headList); cfgIndex.setIsAreaEffective(0); + * websiteCfgService.saveHttpCfg(cfgIndex); } + * + * }else if(cfgIndex.getCfgType().equals(Constants.HTTP_REQ_BODY_REGION)){ + * List list = ei.getDataList(StringCfgTemplate.class); + * for(StringCfgTemplate cfg : list){ List bodyList = new + * ArrayList(); BeanUtils.copyProperties(cfg, cfgIndex); HttpBodyCfg body = + * new HttpBodyCfg(); BeanUtils.copyProperties(cfg, body); + * body.setCfgRegionCode(cfgIndex.getCfgRegionCode()); + * body.setCfgType(cfgIndex.getCfgType()); bodyList.add(body); + * cfgIndex.setHttpReqBodyList(bodyList); cfgIndex.setIsAreaEffective(0); + * websiteCfgService.saveHttpCfg(cfgIndex); } + * + * }else if(cfgIndex.getCfgType().equals(Constants.HTTP_RES_HEAD_REGION)){ + * List list = + * ei.getDataList(ComplexStringCfgTemplate.class); + * for(ComplexStringCfgTemplate cfg : list){ List headList = + * new ArrayList(); BeanUtils.copyProperties(cfg, cfgIndex); HttpResHeadCfg + * head = new HttpResHeadCfg(); BeanUtils.copyProperties(cfg, head); + * head.setCfgRegionCode(cfgIndex.getCfgRegionCode()); + * head.setCfgType(cfgIndex.getCfgType()); headList.add(head); + * cfgIndex.setHttpResHdrList(headList); cfgIndex.setIsAreaEffective(0); + * websiteCfgService.saveHttpCfg(cfgIndex); } + * + * }else if(cfgIndex.getCfgType().equals(Constants.HTTP_RES_BODY_REGION)){ + * List list = ei.getDataList(StringCfgTemplate.class); + * for(StringCfgTemplate cfg : list){ List bodyList = new + * ArrayList(); BeanUtils.copyProperties(cfg, cfgIndex); HttpBodyCfg body = + * new HttpBodyCfg(); BeanUtils.copyProperties(cfg, body); + * body.setCfgRegionCode(cfgIndex.getCfgRegionCode()); + * body.setCfgType(cfgIndex.getCfgType()); bodyList.add(body); + * cfgIndex.setHttpResBodyList(bodyList); cfgIndex.setIsAreaEffective(0); + * websiteCfgService.saveHttpCfg(cfgIndex); } + * + * } + * + * + * } catch (Exception e) { addMessage(redirectAttributes, e.getMessage()); + * e.printStackTrace(); } return "redirect:" + adminPath + * +"/ntc/website/httpList?functionId="+cfgIndex.getFunctionId(); + * + * } + */ - //http配置导出 - @RequestMapping(value = "exportHttp") - public void exportHttp(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId()); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = httpRedirectCfgService.getHttpRedirectList(pageInfo, entity); - ipLists=page.getList(); - } - //条件导出数据大于最大导出数,只导出最大导出条数 - - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpUrlCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpReqHeadCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpResHeadCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpReqBodyCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpResBodyCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - List httpUrlList = new ArrayList<>(); - List httpReqHdrList = new ArrayList<>(); - List httpResHdrList = new ArrayList<>(); - List httpReqBodyList = new ArrayList<>(); - List httpResBodyList = new ArrayList<>(); - List ipPortList = new ArrayList<>(); - List subscribeIdList = new ArrayList<>(); - for (CfgIndexInfo cfg : ipLists) { - Map maps=websiteCfgService.exportHttpCfg(cfg); - httpUrlList.addAll(maps.get("NTC_HTTP_URL")); - httpReqHdrList.addAll(maps.get("NTC_HTTP_REQ_HDR")); - httpResHdrList.addAll(maps.get("NTC_HTTP_RES_HDR")); - httpReqBodyList.addAll(maps.get("NTC_HTTP_REQ_BODY")); - httpResBodyList.addAll(maps.get("NTC_HTTP_RES_BODY")); - ipPortList.addAll(maps.get("NTC_UNIVERSAL_IP")); - subscribeIdList.addAll(maps.get("NTC_SUBSCRIBE_ID")); - } - httpUrlList=BaseStringCfg.replaceBaseKeyList(httpUrlList); - httpReqHdrList=ComplexkeywordCfg.replaceComplexKeyList(httpReqHdrList); - httpResHdrList=ComplexkeywordCfg.replaceComplexKeyList(httpResHdrList); - httpReqBodyList=BaseStringCfg.replaceBaseKeyList(httpReqBodyList); - httpResBodyList=BaseStringCfg.replaceBaseKeyList(httpResBodyList); - subscribeIdList=BaseStringCfg.baseHexList(subscribeIdList); - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(),ipLists); - - if(entity.getFunctionId()!=635){ - titleList.add("NTC_HTTP_URL"); - titleList.add("NTC_HTTP_REQ_HDR"); - titleList.add("NTC_HTTP_RES_HDR"); - classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); - classMap.put("NTC_HTTP_REQ_HDR", HttpReqHeadCfg.class); - classMap.put("NTC_HTTP_RES_HDR", HttpResHeadCfg.class); - noExportMap.put("NTC_HTTP_URL", httpUrlCfgNoExport); - noExportMap.put("NTC_HTTP_REQ_HDR", httpReqHeadCfgNoExport); - noExportMap.put("NTC_HTTP_RES_HDR", httpResHeadCfgNoExport); - dataMap.put("NTC_HTTP_URL", httpUrlList); - dataMap.put("NTC_HTTP_REQ_HDR", httpReqHdrList); - dataMap.put("NTC_HTTP_RES_HDR", httpResHdrList); - } - titleList.add("NTC_HTTP_REQ_BODY"); - titleList.add("NTC_HTTP_RES_BODY"); - classMap.put("NTC_HTTP_REQ_BODY", HttpBodyCfg.class); - classMap.put("NTC_HTTP_RES_BODY", HttpBodyCfg.class); - noExportMap.put("NTC_HTTP_REQ_BODY", httpReqBodyCfgNoExport); - noExportMap.put("NTC_HTTP_RES_BODY", httpResBodyCfgNoExport); - dataMap.put("NTC_HTTP_REQ_BODY", httpReqBodyList); - dataMap.put("NTC_HTTP_RES_BODY", httpResBodyList); - if(entity.getFunctionId()!=635){ - titleList.add("NTC_UNIVERSAL_IP"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - noExportMap.put("NTC_UNIVERSAL_IP", ipPortCfgNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - dataMap.put("NTC_UNIVERSAL_IP", ipPortList); - dataMap.put("NTC_SUBSCRIBE_ID",subscribeIdList); - } - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("http export failed",e); - addMessage(redirectAttributes,"error", "export_failed"); - } - //return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+entity.getFunctionId(); + // http配置导出 + @RequestMapping(value = "exportHttp") + public void exportHttp(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId()); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = httpRedirectCfgService.getHttpRedirectList(pageInfo, entity); + ipLists = page.getList(); + } + // 条件导出数据大于最大导出数,只导出最大导出条数 + + String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String httpUrlCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String httpReqHeadCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String httpResHeadCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String httpReqBodyCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String httpResBodyCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String ntcSubscribeIdCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; } - //dns配置导出 + List httpUrlList = new ArrayList<>(); + List httpReqHdrList = new ArrayList<>(); + List httpResHdrList = new ArrayList<>(); + List httpReqBodyList = new ArrayList<>(); + List httpResBodyList = new ArrayList<>(); + List ipPortList = new ArrayList<>(); + List subscribeIdList = new ArrayList<>(); + for (CfgIndexInfo cfg : ipLists) { + Map maps = websiteCfgService.exportHttpCfg(cfg); + httpUrlList.addAll(maps.get("NTC_HTTP_URL")); + httpReqHdrList.addAll(maps.get("NTC_HTTP_REQ_HDR")); + httpResHdrList.addAll(maps.get("NTC_HTTP_RES_HDR")); + httpReqBodyList.addAll(maps.get("NTC_HTTP_REQ_BODY")); + httpResBodyList.addAll(maps.get("NTC_HTTP_RES_BODY")); + ipPortList.addAll(maps.get("NTC_UNIVERSAL_IP")); + subscribeIdList.addAll(maps.get("NTC_SUBSCRIBE_ID")); + } + httpUrlList = BaseStringCfg.replaceBaseKeyList(httpUrlList); + httpReqHdrList = ComplexkeywordCfg.replaceComplexKeyList(httpReqHdrList); + httpResHdrList = ComplexkeywordCfg.replaceComplexKeyList(httpResHdrList); + httpReqBodyList = BaseStringCfg.replaceBaseKeyList(httpReqBodyList); + httpResBodyList = BaseStringCfg.replaceBaseKeyList(httpResBodyList); + subscribeIdList = BaseStringCfg.baseHexList(subscribeIdList); + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + + if (entity.getFunctionId() != 635) { + titleList.add("NTC_HTTP_URL"); + titleList.add("NTC_HTTP_REQ_HDR"); + titleList.add("NTC_HTTP_RES_HDR"); + classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); + classMap.put("NTC_HTTP_REQ_HDR", HttpReqHeadCfg.class); + classMap.put("NTC_HTTP_RES_HDR", HttpResHeadCfg.class); + noExportMap.put("NTC_HTTP_URL", httpUrlCfgNoExport); + noExportMap.put("NTC_HTTP_REQ_HDR", httpReqHeadCfgNoExport); + noExportMap.put("NTC_HTTP_RES_HDR", httpResHeadCfgNoExport); + dataMap.put("NTC_HTTP_URL", httpUrlList); + dataMap.put("NTC_HTTP_REQ_HDR", httpReqHdrList); + dataMap.put("NTC_HTTP_RES_HDR", httpResHdrList); + } + titleList.add("NTC_HTTP_REQ_BODY"); + titleList.add("NTC_HTTP_RES_BODY"); + classMap.put("NTC_HTTP_REQ_BODY", HttpBodyCfg.class); + classMap.put("NTC_HTTP_RES_BODY", HttpBodyCfg.class); + noExportMap.put("NTC_HTTP_REQ_BODY", httpReqBodyCfgNoExport); + noExportMap.put("NTC_HTTP_RES_BODY", httpResBodyCfgNoExport); + dataMap.put("NTC_HTTP_REQ_BODY", httpReqBodyList); + dataMap.put("NTC_HTTP_RES_BODY", httpResBodyList); + if (entity.getFunctionId() != 635) { + titleList.add("NTC_UNIVERSAL_IP"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + noExportMap.put("NTC_UNIVERSAL_IP", ipPortCfgNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); + dataMap.put("NTC_UNIVERSAL_IP", ipPortList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeIdList); + } + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("http export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/website/httpList?functionId="+entity.getFunctionId(); + } + + // dns配置导出 @RequestMapping(value = "exportdns") - public void exportdns(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ + public void exportdns(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); Properties msgProp = getMsgProp(); - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = websiteCfgService.getWebsiteList(pageInfo, entity); - ipLists=page.getList(); - } - - for (int i = 0; i < ipLists.size(); i++) { - if(ipLists.get(i).getDnsStrategyId()!=null && ipLists.get(i).getDnsStrategyId()!=0){ - List resStrategys=dnsResStrategyService.findDnsResStrategys(ipLists.get(i).getDnsStrategyId(), 1,1); - if(resStrategys!=null && resStrategys.size()>0){ - String msg= msgProp.getProperty(resStrategys.get(0).getCfgDesc()); - if(!StringUtil.isEmpty(msg)){ - ipLists.get(i).setDnsStrategyName(msg); - }else{ - ipLists.get(i).setDnsStrategyName(resStrategys.get(0).getCfgDesc()); - } - }else{ - ipLists.get(i).setDnsStrategyName(msgProp.getProperty("no_strategy")); + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = websiteCfgService.getWebsiteList(pageInfo, entity); + ipLists = page.getList(); + } + + for (int i = 0; i < ipLists.size(); i++) { + if (ipLists.get(i).getDnsStrategyId() != null && ipLists.get(i).getDnsStrategyId() != 0) { + List resStrategys = dnsResStrategyService + .findDnsResStrategys(ipLists.get(i).getDnsStrategyId(), 1, 1); + if (resStrategys != null && resStrategys.size() > 0) { + String msg = msgProp.getProperty(resStrategys.get(0).getCfgDesc()); + if (!StringUtil.isEmpty(msg)) { + ipLists.get(i).setDnsStrategyName(msg); + } else { + ipLists.get(i).setDnsStrategyName(resStrategys.get(0).getCfgDesc()); } - }else{ + } else { ipLists.get(i).setDnsStrategyName(msgProp.getProperty("no_strategy")); } + } else { + ipLists.get(i).setDnsStrategyName(msgProp.getProperty("no_strategy")); } - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_IP"); - titleList.add("NTC_DNS_REGION"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_IP", IpPortCfg.class); - classMap.put("NTC_DNS_REGION", ComplexkeywordCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - String cfgIndexInfoNoExport=",group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String regionCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_IP", ipPortInfoNoExport); - noExportMap.put("NTC_DNS_REGION", regionCfgNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - List ipList=new ArrayList(); - List subscribeInfoList=new ArrayList(); - List regionInfoList=new ArrayList(); - for (CfgIndexInfo cfg : ipLists) { - CfgIndexInfo cfgIndexInfo=websiteCfgService.exportdns(cfg); - ipList.addAll(cfgIndexInfo.getIpPortList()); - subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); - regionInfoList.addAll(cfgIndexInfo.getDomainList()); - } - subscribeInfoList=BaseStringCfg.baseHexList(subscribeInfoList); - regionInfoList=ComplexkeywordCfg.replaceComplexKeyList(regionInfoList); - dataMap.put(entity.getMenuNameCode(),ipLists); - dataMap.put("NTC_IP", ipList); - dataMap.put("NTC_DNS_REGION", regionInfoList); - dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); - - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("dns export failed",e); - addMessage(redirectAttributes,"error", "export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); - } - - //ssl配置导出 - @RequestMapping(value = "exportSsl") - public void exportSsl(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId()); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = websiteCfgService.getWebsiteList(pageInfo, entity); - ipLists=page.getList(); - } - - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_UNIVERSAL_IP"); - titleList.add("NTC_SSL_SNI"); - titleList.add("NTC_SSL_SAN"); - titleList.add("NTC_SSL_CN"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); - classMap.put("NTC_SSL_SNI", BaseStringCfg.class); - classMap.put("NTC_SSL_SAN", BaseStringCfg.class); - classMap.put("NTC_SSL_CN", BaseStringCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String sslNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_UNIVERSAL_IP", ipPortCfgNoExport); - noExportMap.put("NTC_SSL_SNI", sslNoExport); - noExportMap.put("NTC_SSL_SAN", sslNoExport); - noExportMap.put("NTC_SSL_CN", sslNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - - List sslSniList = new ArrayList<>(); - List sslSnaList = new ArrayList<>(); - List sslCnList = new ArrayList<>(); - List ipPortList = new ArrayList<>(); - List subscribeIdList = new ArrayList(); - for (CfgIndexInfo cfg : ipLists) { - Map maps=websiteCfgService.exportssl(cfg); - sslSniList.addAll(maps.get("NTC_SSL_SNI")); - sslSnaList.addAll(maps.get("NTC_SSL_SAN")); - sslCnList.addAll(maps.get("NTC_SSL_CN")); - ipPortList.addAll(maps.get("NTC_UNIVERSAL_IP")); - subscribeIdList.addAll(maps.get("NTC_SUBSCRIBE_ID")); - } - sslSniList=BaseStringCfg.replaceBaseKeyList(sslSniList); - sslSnaList=BaseStringCfg.replaceBaseKeyList(sslSnaList); - sslCnList=BaseStringCfg.replaceBaseKeyList(sslCnList); - subscribeIdList=BaseStringCfg.baseHexList(subscribeIdList); - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_UNIVERSAL_IP", ipPortList); - dataMap.put("NTC_SSL_SNI", sslSniList); - dataMap.put("NTC_SSL_SAN", sslSnaList); - dataMap.put("NTC_SSL_CN", sslCnList); - dataMap.put("NTC_SUBSCRIBE_ID",subscribeIdList); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("http export failed",e); - addMessage(redirectAttributes,"error", "export_failed"); } - //return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+entity.getFunctionId(); + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_IP"); + titleList.add("NTC_DNS_REGION"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_IP", IpPortCfg.class); + classMap.put("NTC_DNS_REGION", ComplexkeywordCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + String cfgIndexInfoNoExport = ",group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String ntcSubscribeIdCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String regionCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_IP", ipPortInfoNoExport); + noExportMap.put("NTC_DNS_REGION", regionCfgNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); + List ipList = new ArrayList(); + List subscribeInfoList = new ArrayList(); + List regionInfoList = new ArrayList(); + for (CfgIndexInfo cfg : ipLists) { + CfgIndexInfo cfgIndexInfo = websiteCfgService.exportdns(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + subscribeInfoList.addAll(cfgIndexInfo.getNtcSubscribeIdCfgList()); + regionInfoList.addAll(cfgIndexInfo.getDomainList()); + } + subscribeInfoList = BaseStringCfg.baseHexList(subscribeInfoList); + regionInfoList = ComplexkeywordCfg.replaceComplexKeyList(regionInfoList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_IP", ipList); + dataMap.put("NTC_DNS_REGION", regionInfoList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeInfoList); + + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("dns export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // ssl配置导出 + @RequestMapping(value = "exportSsl") + public void exportSsl(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId()); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = websiteCfgService.getWebsiteList(pageInfo, entity); + ipLists = page.getList(); + } + + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_UNIVERSAL_IP"); + titleList.add("NTC_SSL_SNI"); + titleList.add("NTC_SSL_SAN"); + titleList.add("NTC_SSL_CN"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); + classMap.put("NTC_SSL_SNI", BaseStringCfg.class); + classMap.put("NTC_SSL_SAN", BaseStringCfg.class); + classMap.put("NTC_SSL_CN", BaseStringCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String sslNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String ntcSubscribeIdCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_UNIVERSAL_IP", ipPortCfgNoExport); + noExportMap.put("NTC_SSL_SNI", sslNoExport); + noExportMap.put("NTC_SSL_SAN", sslNoExport); + noExportMap.put("NTC_SSL_CN", sslNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); + + List sslSniList = new ArrayList<>(); + List sslSnaList = new ArrayList<>(); + List sslCnList = new ArrayList<>(); + List ipPortList = new ArrayList<>(); + List subscribeIdList = new ArrayList(); + for (CfgIndexInfo cfg : ipLists) { + Map maps = websiteCfgService.exportssl(cfg); + sslSniList.addAll(maps.get("NTC_SSL_SNI")); + sslSnaList.addAll(maps.get("NTC_SSL_SAN")); + sslCnList.addAll(maps.get("NTC_SSL_CN")); + ipPortList.addAll(maps.get("NTC_UNIVERSAL_IP")); + subscribeIdList.addAll(maps.get("NTC_SUBSCRIBE_ID")); + } + sslSniList = BaseStringCfg.replaceBaseKeyList(sslSniList); + sslSnaList = BaseStringCfg.replaceBaseKeyList(sslSnaList); + sslCnList = BaseStringCfg.replaceBaseKeyList(sslCnList); + subscribeIdList = BaseStringCfg.baseHexList(subscribeIdList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_UNIVERSAL_IP", ipPortList); + dataMap.put("NTC_SSL_SNI", sslSniList); + dataMap.put("NTC_SSL_SAN", sslSnaList); + dataMap.put("NTC_SSL_CN", sslCnList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeIdList); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("http export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/website/httpList?functionId="+entity.getFunctionId(); + } } diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java b/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java index 1794ef977..0f26c49db 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/WhiteListController.java @@ -33,145 +33,151 @@ import com.nis.web.security.UserUtils; /** * 白名单 + * * @author dell * */ @Controller @RequestMapping("${adminPath}/ntc/whitelist") -public class WhiteListController extends CommonController{ - - @RequestMapping(value = {"ip/list"}) - //@RequiresPermissions(value={"whitelist:ip:config","whitelist:ip:confirm","whitelist:ip:aduit"},logical=Logical.OR) - public String ipList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"a"); +public class WhiteListController extends CommonController { + + @RequestMapping(value = { "ip/list" }) + // @RequiresPermissions(value={"whitelist:ip:config","whitelist:ip:confirm","whitelist:ip:aduit"},logical=Logical.OR) + public String ipList(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "a"); Page page = ipCfgService.getIpCfgList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/whitelist/ipList"; } - @RequestMapping(value = {"ajaxIpSubList"}) - public String ajaxIpSubList(Model model,Long cfgId,Integer index,Integer compileId) { - CfgIndexInfo cfg = ipCfgService.getIpPortCfg(cfgId,compileId); + + @RequestMapping(value = { "ajaxIpSubList" }) + public String ajaxIpSubList(Model model, Long cfgId, Integer index, Integer compileId) { + CfgIndexInfo cfg = ipCfgService.getIpPortCfg(cfgId, compileId); List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getNtcSubscribeIdCfgList()!=null){ + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg keyword:cfg.getNtcSubscribeIdCfgList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",keyword.getCfgType()}); + for (NtcSubscribeIdCfg keyword : cfg.getNtcSubscribeIdCfgList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/whitelist/ipSubList"; } - @RequestMapping(value = {"ip/form"}) - @RequiresPermissions(value={"whitelist:ip:config"}) - public String ipForm(Model model,String ids,CfgIndexInfo entity) { - if(StringUtils.isNotBlank(ids)){ - - entity = this.ipCfgService.getIpPortCfg(Long.parseLong(ids),null); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + + @RequestMapping(value = { "ip/form" }) + @RequiresPermissions(value = { "whitelist:ip:config" }) + public String ipForm(Model model, String ids, CfgIndexInfo entity) { + if (StringUtils.isNotBlank(ids)) { + + entity = this.ipCfgService.getIpPortCfg(Long.parseLong(ids), null); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/whitelist/ipForm"; } - @RequestMapping(value = {"ip/save"}) - public String saveIpCfg(RedirectAttributes model,HttpServletRequest request,HttpServletResponse response,String ids,CfgIndexInfo entity) { + + @RequestMapping(value = { "ip/save" }) + public String saveIpCfg(RedirectAttributes model, HttpServletRequest request, HttpServletResponse response, + String ids, CfgIndexInfo entity) { ipCfgService.saveIpCfg(entity); - return "redirect:" + adminPath +"/ntc/whitelist/ip/list?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/ntc/whitelist/ip/list?functionId=" + entity.getFunctionId(); } - @RequestMapping(value = {"ip/audit"}) + + @RequestMapping(value = { "ip/audit" }) @RequiresPermissions("whitelist:ip:confirm") - public String auditIp(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request - ) { - if(!StringUtil.isEmpty(ids)){ + public String auditIp(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { CfgIndexInfo entity = new CfgIndexInfo(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = ipCfgService.getIpPortCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = ipCfgService.getIpPortCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - ipCfgService.auditIpCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + ipCfgService.auditIpCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { - logger.info("ip配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error", "request_service_failed"); - }catch (Exception e) { - logger.info("ip配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error", "audit_failed"); + logger.info("ip配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "request_service_failed"); + } catch (Exception e) { + logger.info("ip配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "audit_failed"); } } - }else{ - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + } else { + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return ipList(model, cfg, request, response); } - return "redirect:" + adminPath +"/ntc/whitelist/ip/list?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/whitelist/ip/list?functionId=" + functionId; } - @RequestMapping(value = {"updateIpValid"}) - @RequiresPermissions(value={"whitelist:ip:config"}) - public String updateIpCfgValid(Integer isValid,String ids,Integer functionId) { - ipCfgService.updateIpCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/whitelist/ip/list?functionId="+functionId; + + @RequestMapping(value = { "updateIpValid" }) + @RequiresPermissions(value = { "whitelist:ip:config" }) + public String updateIpCfgValid(Integer isValid, String ids, Integer functionId) { + ipCfgService.updateIpCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/whitelist/ip/list?functionId=" + functionId; } - @RequestMapping(value = {"domain/list"}) - //@RequiresPermissions(value={"whitelist:domain:config","whitelist:domain:confirm","whitelist:domain:aduit"},logical=Logical.OR) - public String domainList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"a"); + + @RequestMapping(value = { "domain/list" }) + // @RequiresPermissions(value={"whitelist:domain:config","whitelist:domain:confirm","whitelist:domain:aduit"},logical=Logical.OR) + public String domainList(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "a"); Page page = domainService.getDomainList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); + initPageCondition(model, cfg); return "/cfg/whitelist/domainList"; } - - @RequestMapping(value = {"saveHttpUrlCfgs"}) - public String saveHttpUrlCfgs(RedirectAttributes model,HttpServletRequest request,HttpServletResponse response,CfgIndexInfo entity) { - if(!StringUtil.isEmpty(entity) && !StringUtil.isEmpty(entity.getHttpUrlList())){ - - CfgIndexInfo sourceCfg=websiteCfgService.getCfgIndexInfo(entity.getHttpUrlList().get(0).getSourceCompileId()); + + @RequestMapping(value = { "saveHttpUrlCfgs" }) + public String saveHttpUrlCfgs(RedirectAttributes model, HttpServletRequest request, HttpServletResponse response, + CfgIndexInfo entity) { + if (!StringUtil.isEmpty(entity) && !StringUtil.isEmpty(entity.getHttpUrlList())) { + + CfgIndexInfo sourceCfg = websiteCfgService + .getCfgIndexInfo(entity.getHttpUrlList().get(0).getSourceCompileId()); for (HttpUrlCfg httpUrlCfg : entity.getHttpUrlList()) { - CfgIndexInfo cfg=new CfgIndexInfo(); - List httpList=new ArrayList<>(); + CfgIndexInfo cfg = new CfgIndexInfo(); + List httpList = new ArrayList<>(); httpUrlCfg.setRequestId(sourceCfg.getRequestId()); BeanUtils.copyProperties(httpUrlCfg, cfg); httpList.add(httpUrlCfg); @@ -179,258 +185,315 @@ public class WhiteListController extends CommonController{ websiteCfgService.saveHttpCfg(cfg); } } - return "redirect:" + adminPath +"/ntc/whitelist/domain/list?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/ntc/whitelist/domain/list?functionId=" + entity.getFunctionId(); } - - @RequestMapping(value = {"domain/form"}) - @RequiresPermissions(value={"whitelist:domain:config"}) - public String domainForm(Model model,String ids,CfgIndexInfo entity) { - if(StringUtils.isNotBlank(ids)){ - entity = domainService.getDomainCfg(Long.parseLong(ids),null); + + @RequestMapping(value = { "domain/form" }) + @RequiresPermissions(value = { "whitelist:domain:config" }) + public String domainForm(Model model, String ids, CfgIndexInfo entity) { + if (StringUtils.isNotBlank(ids)) { + entity = domainService.getDomainCfg(Long.parseLong(ids), null); HttpUrlCfg urlCfg = new HttpUrlCfg(); urlCfg.setCfgType(Constants.HTTP_URL_REGION); entity.setHttpUrl(urlCfg); - if(entity.getHttpUrlList().size()==0){ + if (entity.getHttpUrlList().size() == 0) { entity.getHttpUrlList().add(urlCfg); } - initUpdateFormCondition(model,entity); - }else{ + initUpdateFormCondition(model, entity); + } else { HttpUrlCfg urlCfg = new HttpUrlCfg(); urlCfg.setCfgType(Constants.HTTP_URL_REGION); entity.setHttpUrl(urlCfg); - List urlList=new ArrayList(); + List urlList = new ArrayList(); urlList.add(urlCfg); entity.setHttpUrlList(urlList); - initFormCondition(model,entity); + initFormCondition(model, entity); } model.addAttribute("_cfg", entity); return "/cfg/whitelist/domainForm"; } - @RequestMapping(value = {"domain/save"}) - public String saveOrUpdateDomain(RedirectAttributes model,HttpServletRequest request,HttpServletResponse response,String ids,CfgIndexInfo entity) { + + @RequestMapping(value = { "domain/save" }) + public String saveOrUpdateDomain(RedirectAttributes model, HttpServletRequest request, HttpServletResponse response, + String ids, CfgIndexInfo entity) { domainService.saveDomainCfg(entity); - return "redirect:" + adminPath +"/ntc/whitelist/domain/list?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/ntc/whitelist/domain/list?functionId=" + entity.getFunctionId(); } - @RequestMapping(value = {"domain/ajaxSubList"}) - public String ajaxDomainSubList(Model model,Long cfgId,Integer index,Integer compileId) { - CfgIndexInfo cfg = domainService.getDomainCfg(cfgId,compileId); + + @RequestMapping(value = { "domain/ajaxSubList" }) + public String ajaxDomainSubList(Model model, Long cfgId, Integer index, Integer compileId) { + CfgIndexInfo cfg = domainService.getDomainCfg(cfgId, compileId); List tabList = new ArrayList(); - if(cfg.getHttpUrlList()!=null){ + if (cfg.getHttpUrlList() != null) { String cfgType = null; - for(BaseStringCfg keyword:cfg.getHttpUrlList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",keyword.getCfgType()}); + for (BaseStringCfg keyword : cfg.getHttpUrlList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - if(cfg.getNtcSubscribeIdCfgList()!=null){ + if (cfg.getNtcSubscribeIdCfgList() != null) { String cfgType = null; - for(NtcSubscribeIdCfg keyword:cfg.getNtcSubscribeIdCfgList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",keyword.getCfgType()}); + for (NtcSubscribeIdCfg keyword : cfg.getNtcSubscribeIdCfgList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/whitelist/domianSubList"; } - @RequestMapping(value = {"domain/updateValid"}) - @RequiresPermissions(value={"whitelist:domain:config"}) - public String updateDomainValid(Integer isValid,String ids,Integer functionId) { - domainService.updateDomainCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/ntc/whitelist/domain/list?functionId="+functionId; + + @RequestMapping(value = { "domain/updateValid" }) + @RequiresPermissions(value = { "whitelist:domain:config" }) + public String updateDomainValid(Integer isValid, String ids, Integer functionId) { + domainService.updateDomainCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/ntc/whitelist/domain/list?functionId=" + functionId; } - @RequestMapping(value = {"domain/delete"}) + + @RequestMapping(value = { "domain/delete" }) @RequiresPermissions("whitelist:domain:config") - public String deleteDomain(String ids,Integer functionId,RedirectAttributes model) { - try{ + public String deleteDomain(String ids, Integer functionId, RedirectAttributes model) { + try { domainService.deleteWhiteDomain(ids); - addMessage(model,"success","delete_success"); - }catch(Exception e){ + addMessage(model, "success", "delete_success"); + } catch (Exception e) { logger.error("删除失败", e); - addMessage(model,"error","delete_failed"); + addMessage(model, "error", "delete_failed"); } - return "redirect:" + adminPath +"/ntc/whitelist/domain/list?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/whitelist/domain/list?functionId=" + functionId; } - - @RequestMapping(value = {"domain/audit"}) + + @RequestMapping(value = { "domain/audit" }) @RequiresPermissions("whitelist:domain:confirm") - public String auditDomain(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)) { + public String auditDomain(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { CfgIndexInfo entity = new CfgIndexInfo(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = domainService.getDomainCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = domainService.getDomainCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - domainService.auditDomainCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); + domainService.auditDomainCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { e.printStackTrace(); - logger.error("domain配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error","request_service_failed"); - }catch (Exception e) { + logger.error("domain配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "request_service_failed"); + } catch (Exception e) { e.printStackTrace(); - logger.error("domain配置下发失败:"+e.getMessage()); - addMessage(redirectAttributes,"error","audit_failed"); + logger.error("domain配置下发失败:" + e.getMessage()); + addMessage(redirectAttributes, "error", "audit_failed"); } } - }else{//条件下所有配置审核 - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + } else {// 条件下所有配置审核 + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return domainList(model, cfg, request, response); } - return "redirect:" + adminPath +"/ntc/whitelist/domain/list?functionId="+functionId; + return "redirect:" + adminPath + "/ntc/whitelist/domain/list?functionId=" + functionId; } - //ip配置导入 - /*@RequestMapping(value = "ip/import", method=RequestMethod.POST) - public String importIp(String cfgName,RedirectAttributes redirectAttributes, - @RequestParam("file") MultipartFile file,IpPortCfg cfg) { - this._importIp(cfgName,redirectAttributes, file,cfg,WhiteListIpTemplate.class); - return "redirect:" + adminPath +"/ntc/whitelist/ip/list?functionId="+cfg.getFunctionId(); - }*/ - //ip模板下载 + + // ip配置导入 + /* + * @RequestMapping(value = "ip/import", method=RequestMethod.POST) public + * String importIp(String cfgName,RedirectAttributes redirectAttributes, + * + * @RequestParam("file") MultipartFile file,IpPortCfg cfg) { + * this._importIp(cfgName,redirectAttributes, + * file,cfg,WhiteListIpTemplate.class); return "redirect:" + adminPath + * +"/ntc/whitelist/ip/list?functionId="+cfg.getFunctionId(); } + */ + // ip模板下载 @RequestMapping(value = "ip/import/template") - public void importFileTemplate(HttpServletRequest request,HttpServletResponse response, - RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) { - this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode,WhiteListIpTemplate.class); + public void importFileTemplate(HttpServletRequest request, HttpServletResponse response, + RedirectAttributes redirectAttributes, Integer functionId, Integer cfgRegionCode) { + this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode, + WhiteListIpTemplate.class); } - //ip配置导出 + + // ip配置导出 @RequestMapping(value = "ip/export") - public void exportIp(String columns,Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){ - this._exportIp(columns,model, request, response, entity, ids, redirectAttributes); + public void exportIp(String columns, Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") IpPortCfg entity, String ids, RedirectAttributes redirectAttributes) { + this._exportIp(columns, model, request, response, entity, ids, redirectAttributes); } - - //ip配置导出 - @RequestMapping(value = "exportIpAddr") - public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = ipCfgService.getIpCfgList(pageInfo, entity); - ipLists=page.getList(); - } - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_IP"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_IP", IpPortCfg.class); - String cfgIndexInfoNoExport=",policy_name,do_log,letter,whether_area_block,classification,attribute,label,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortInfoNoExport=",protocol,direction,do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_IP", ipPortInfoNoExport); - List ipList=new ArrayList(); - for (CfgIndexInfo cfg :ipLists) { - CfgIndexInfo cfgIndexInfo=ipCfgService.exportIpInfo(cfg); - ipList.addAll(cfgIndexInfo.getIpPortList()); - } - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_IP", ipList); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("ip white export failed",e); - addMessage(redirectAttributes,"error", "export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + + // ip配置导出 + @RequestMapping(value = "exportIpAddr") + public void exportIpAddr(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = ipCfgService.getIpCfgList(pageInfo, entity); + ipLists = page.getList(); } - //ip配置导出 - @RequestMapping(value = "exportdomain") - public void exportdomain(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = domainService.getDomainList(pageInfo, entity); - ipLists=page.getList(); - } - - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_HTTP_URL"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpUrlInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_HTTP_URL", httpUrlInfoNoExport); - List httpurlList=new ArrayList(); - for (CfgIndexInfo cfg : ipLists) { - CfgIndexInfo cfgIndexInfo=domainService.exportDomainInfo(cfg); - httpurlList.addAll(cfgIndexInfo.getHttpUrlList()); - } - httpurlList=BaseStringCfg.replaceBaseKeyList(httpurlList); - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_HTTP_URL", httpurlList); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("ip white export failed",e); - addMessage(redirectAttributes,"error", "export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); - } - + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_IP"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_IP", IpPortCfg.class); + String cfgIndexInfoNoExport = ",policy_name,do_log,letter,whether_area_block,classification,attribute,label,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortInfoNoExport = ",protocol,direction,do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_IP", ipPortInfoNoExport); + List ipList = new ArrayList(); + for (CfgIndexInfo cfg : ipLists) { + CfgIndexInfo cfgIndexInfo = ipCfgService.exportIpInfo(cfg); + ipList.addAll(cfgIndexInfo.getIpPortList()); + } + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_IP", ipList); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("ip white export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // ip配置导出 + @RequestMapping(value = "exportdomain") + public void exportdomain(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = domainService.getDomainList(pageInfo, entity); + ipLists = page.getList(); + } + + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_HTTP_URL"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); + String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + String httpUrlInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_HTTP_URL", httpUrlInfoNoExport); + List httpurlList = new ArrayList(); + for (CfgIndexInfo cfg : ipLists) { + CfgIndexInfo cfgIndexInfo = domainService.exportDomainInfo(cfg); + httpurlList.addAll(cfgIndexInfo.getHttpUrlList()); + } + httpurlList = BaseStringCfg.replaceBaseKeyList(httpurlList); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_HTTP_URL", httpurlList); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("ip white export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + } diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java b/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java index 0b722959c..1567bf284 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/HttpRedirectPolicyController.java @@ -44,35 +44,37 @@ import jersey.repackaged.com.google.common.collect.Lists; /** * http重定向策略 + * * @author zhangwei * */ @Controller @RequestMapping("${adminPath}/proxy/control/httpRedirect") -public class HttpRedirectPolicyController extends BaseController{ - @RequestMapping(value = {"httpRedirectList","httpBlockList","httpReplaceList","httpMonitList","httpWhitelistList"}) - public String list(Model model,HttpServletRequest request,HttpServletResponse response,@ModelAttribute("cfg")CfgIndexInfo cfg){ - Page searchPage=new Page(request,response,"a"); +public class HttpRedirectPolicyController extends BaseController { + @RequestMapping(value = { "httpRedirectList", "httpBlockList", "httpReplaceList", "httpMonitList", + "httpWhitelistList" }) + public String list(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo cfg) { + Page searchPage = new Page(request, response, "a"); Page page = httpRedirectCfgService.getHttpRedirectList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); - //获取所有的响应文件内容,阻断,或重定向时可以选择 - List allProxyFileStrategys = proxyFileStrategyService.getProxyFileStrategyCfgList(new ProxyFileStrategyCfg()); + initPageCondition(model, cfg); + // 获取所有的响应文件内容,阻断,或重定向时可以选择 + List allProxyFileStrategys = proxyFileStrategyService + .getProxyFileStrategyCfgList(new ProxyFileStrategyCfg()); model.addAttribute("allProxyFileStrategys", allProxyFileStrategys); return "/cfg/proxy/control/httpRedirectList"; } - @RequestMapping(value = {"form"}) - @RequiresPermissions(value={"control:httpBlock:config" - ,"control:httpRedirect:config" - ,"control:httpReplace:config" - ,"control:httpMinit:config" - ,"control:httpWhitelist:config" - } - ,logical=Logical.OR) - public String form(Model model,HttpServletRequest request,HttpServletResponse response,String ids,@ModelAttribute("cfg")CfgIndexInfo entity){ - if(StringUtils.isNotBlank(ids)){ - entity = httpRedirectCfgService.getHttpCfg(Long.parseLong(ids),null); - + + @RequestMapping(value = { "form" }) + @RequiresPermissions(value = { "control:httpBlock:config", "control:httpRedirect:config", + "control:httpReplace:config", "control:httpMinit:config", + "control:httpWhitelist:config" }, logical = Logical.OR) + public String form(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + @ModelAttribute("cfg") CfgIndexInfo entity) { + if (StringUtils.isNotBlank(ids)) { + entity = httpRedirectCfgService.getHttpCfg(Long.parseLong(ids), null); + HttpUrlCfg urlCfg = new HttpUrlCfg(); urlCfg.setCfgType(Constants.HTTP_REDIRECT_URL_REGION); entity.setHttpUrl(urlCfg); @@ -94,31 +96,31 @@ public class HttpRedirectPolicyController extends BaseController{ NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg(); subscribeIdCfg.setCfgType(Constants.PXY_CRTL_SUBSCRIBE_ID_REGION); entity.setNtcSubscribeIdCfg(subscribeIdCfg); - - if(entity.getHttpUrlList().size()==0){ + + if (entity.getHttpUrlList().size() == 0) { entity.getHttpUrlList().add(urlCfg); } - if(entity.getHttpReqHdrList().size()==0){ + if (entity.getHttpReqHdrList().size() == 0) { entity.getHttpReqHdrList().add(reqHdrCfg); } - if(entity.getHttpResHdrList().size()==0){ + if (entity.getHttpResHdrList().size() == 0) { entity.getHttpResHdrList().add(resHdrCfg); } - if(entity.getHttpReqBodyList().size()==0){ + if (entity.getHttpReqBodyList().size() == 0) { entity.getHttpReqBodyList().add(reqBodyCfg); } - if(entity.getHttpResBodyList().size()==0){ + if (entity.getHttpResBodyList().size() == 0) { entity.getHttpResBodyList().add(resBodyCfg); } - if(entity.getIpPortList().size()==0){ + if (entity.getIpPortList().size() == 0) { entity.getIpPortList().add(ipPortCfg); } - if(entity.getNtcSubscribeIdCfgList().size()==0){ + if (entity.getNtcSubscribeIdCfgList().size() == 0) { entity.getNtcSubscribeIdCfgList().add(subscribeIdCfg); } - initUpdateFormCondition(model,entity); - }else{ - //设置http各类配置的配置域类型 + initUpdateFormCondition(model, entity); + } else { + // 设置http各类配置的配置域类型 HttpUrlCfg urlCfg = new HttpUrlCfg(); urlCfg.setCfgType(Constants.HTTP_REDIRECT_URL_REGION); entity.setHttpUrl(urlCfg); @@ -137,303 +139,321 @@ public class HttpRedirectPolicyController extends BaseController{ IpPortCfg ipPortCfg = new IpPortCfg(); ipPortCfg.setCfgType(Constants.HTTP_IP_REGION); entity.setIpPort(ipPortCfg); - //subscribeId + // subscribeId NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg(); subscribeIdCfg.setCfgType(Constants.PXY_CRTL_SUBSCRIBE_ID_REGION); entity.setNtcSubscribeIdCfg(subscribeIdCfg); - - List urlList=new ArrayList(); + + List urlList = new ArrayList(); urlList.add(urlCfg); entity.setHttpUrlList(urlList); - List reqHdrList=new ArrayList(); + List reqHdrList = new ArrayList(); reqHdrList.add(reqHdrCfg); entity.setHttpReqHdrList(reqHdrList); - List resHdrList=new ArrayList(); + List resHdrList = new ArrayList(); resHdrList.add(resHdrCfg); entity.setHttpResHdrList(resHdrList); - List reqBodyList=new ArrayList(); + List reqBodyList = new ArrayList(); reqBodyList.add(reqBodyCfg); entity.setHttpReqBodyList(reqBodyList); - List resBodyList=new ArrayList(); + List resBodyList = new ArrayList(); resBodyList.add(resBodyCfg); entity.setHttpResBodyList(resBodyList); - - List ipPortList=new ArrayList(); + + List ipPortList = new ArrayList(); ipPortList.add(ipPortCfg); entity.setIpPortList(ipPortList); - + List subscribeCfgList = Lists.newArrayList(); subscribeCfgList.add(subscribeIdCfg); entity.setNtcSubscribeIdCfgList(subscribeCfgList); - - initFormCondition(model,entity); + + initFormCondition(model, entity); } - //获取所有的响应文件内容,阻断,或重定向时可以选择 - List allProxyFileStrategys = proxyFileStrategyService.getProxyFileStrategyCfgList(new ProxyFileStrategyCfg()); + // 获取所有的响应文件内容,阻断,或重定向时可以选择 + List allProxyFileStrategys = proxyFileStrategyService + .getProxyFileStrategyCfgList(new ProxyFileStrategyCfg()); model.addAttribute("_cfg", entity); model.addAttribute("allProxyFileStrategys", allProxyFileStrategys); return "/cfg/proxy/control/httpRedirectForm"; } - - @RequestMapping(value = {"saveOrUpdate"}) - @RequiresPermissions(value={"control:httpBlock:config" - ,"control:httpRedirect:config" - ,"control:httpReplace:config" - ,"control:httpMinit:config" - ,"control:httpWhitelist:config"} - ,logical=Logical.OR) - public String saveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo cfg,RedirectAttributes redirectAttributes){ - try{ + + @RequestMapping(value = { "saveOrUpdate" }) + @RequiresPermissions(value = { "control:httpBlock:config", "control:httpRedirect:config", + "control:httpReplace:config", "control:httpMinit:config", + "control:httpWhitelist:config" }, logical = Logical.OR) + public String saveOrUpdate(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo cfg, RedirectAttributes redirectAttributes) { + try { httpRedirectCfgService.saveHttpCfg(cfg); - addMessage(redirectAttributes,"success","save_success"); - }catch(Exception e){ - logger.error("信息保存失败",e); + addMessage(redirectAttributes, "success", "save_success"); + } catch (Exception e) { + logger.error("信息保存失败", e); e.printStackTrace(); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - - return "redirect:" + adminPath +"/proxy/control/httpRedirect/httpRedirectList?functionId="+cfg.getFunctionId(); + + return "redirect:" + adminPath + "/proxy/control/httpRedirect/httpRedirectList?functionId=" + + cfg.getFunctionId(); } - @RequestMapping(value = {"ajaxHttpSubList"}) - public String ajaxHttpSubList(Model model,Long cfgId,Integer index,Integer compileId) { - CfgIndexInfo cfg = httpRedirectCfgService.getHttpCfg(cfgId,compileId); - model.addAttribute("_cfg", cfg); + + @RequestMapping(value = { "ajaxHttpSubList" }) + public String ajaxHttpSubList(Model model, Long cfgId, Integer index, Integer compileId) { + CfgIndexInfo cfg = httpRedirectCfgService.getHttpCfg(cfgId, compileId); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); return "/cfg/proxy/control/httpRedirectSubList"; } - @RequestMapping(value = {"delete"}) - @RequiresPermissions(value={"control:httpBlock:config" - ,"control:httpRedirect:config" - ,"control:httpReplace:config" - ,"control:httpMinit:config" - ,"control:httpWhitelist:config"} - ,logical=Logical.OR) - public String delete(Integer isAudit,Integer isValid,String ids,Integer functionId){ - httpRedirectCfgService.updateHttpCfgValid(isValid,ids,functionId); - return "redirect:" + adminPath +"/proxy/control/httpRedirect/httpRedirectList?functionId="+functionId; + + @RequestMapping(value = { "delete" }) + @RequiresPermissions(value = { "control:httpBlock:config", "control:httpRedirect:config", + "control:httpReplace:config", "control:httpMinit:config", + "control:httpWhitelist:config" }, logical = Logical.OR) + public String delete(Integer isAudit, Integer isValid, String ids, Integer functionId) { + httpRedirectCfgService.updateHttpCfgValid(isValid, ids, functionId); + return "redirect:" + adminPath + "/proxy/control/httpRedirect/httpRedirectList?functionId=" + functionId; } - @RequestMapping(value = {"audit"}) - @RequiresPermissions(value={"control:httpBlock:confirm" - ,"control:httpRedirect:confirm" - ,"control:httpReplace:confirm" - ,"control:httpMinit:confirm" - ,"control:httpWhitelist:confirm"} - ,logical=Logical.OR) - public String audit(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)) { - CfgIndexInfo entity = new CfgIndexInfo(); - String[] idArray = ids.split(","); - for(String id :idArray){ - entity = httpRedirectCfgService.getHttpCfg(Long.parseLong(id),null); - entity.setIsAudit(isAudit); - entity.setIsValid(isValid); - entity.setAuditorId(UserUtils.getUser().getId()); - entity.setAuditTime(new Date()); - entity.setFunctionId(functionId); - try { - httpRedirectCfgService.auditHttpCfg(entity,isAudit); - addMessage(redirectAttributes,"success", "audit_success"); - } catch ( Exception e) { - e.printStackTrace(); - logger.info("http重定向配置下发失败:"+e.getMessage()); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","audit_failed"); - } - } - } - }else{//条件下所有配置审核 - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); - BeanUtils.copyProperties(searchPage, auditPage); - + + @RequestMapping(value = { "audit" }) + @RequiresPermissions(value = { "control:httpBlock:confirm", "control:httpRedirect:confirm", + "control:httpReplace:confirm", "control:httpMinit:confirm", + "control:httpWhitelist:confirm" }, logical = Logical.OR) + public String audit(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { + CfgIndexInfo entity = new CfgIndexInfo(); + String[] idArray = ids.split(","); + for (String id : idArray) { + entity = httpRedirectCfgService.getHttpCfg(Long.parseLong(id), null); + entity.setIsAudit(isAudit); + entity.setIsValid(isValid); + entity.setAuditorId(UserUtils.getUser().getId()); + entity.setAuditTime(new Date()); + entity.setFunctionId(functionId); try { - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + httpRedirectCfgService.auditHttpCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + e.printStackTrace(); + logger.info("http重定向配置下发失败:" + e.getMessage()); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - } - - return list(model, request, response, cfg); } - return "redirect:" + adminPath +"/proxy/control/httpRedirect/httpRedirectList?functionId="+functionId; - } - - - //http配置导出 - @RequestMapping(value = "exportHttp") - public void exportHttp(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ + } else {// 条件下所有配置审核 + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); + BeanUtils.copyProperties(searchPage, auditPage); + try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId()); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = httpRedirectCfgService.getHttpRedirectList(pageInfo, entity); - ipLists=page.getList(); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); + } + + } + + return list(model, request, response, cfg); + } + return "redirect:" + adminPath + "/proxy/control/httpRedirect/httpRedirectList?functionId=" + functionId; + } + + // http配置导出 + @RequestMapping(value = "exportHttp") + public void exportHttp(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId()); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = httpRedirectCfgService.getHttpRedirectList(pageInfo, entity); + ipLists = page.getList(); + } + + Properties prop = getMsgProp(); + for (CfgIndexInfo str : ipLists) { + if (entity.getFunctionId() != 210 && entity.getFunctionId() != 211) { + String type = "RESPONSE_CODE"; + if (entity.getFunctionId() == 207) { + type = "RESPONSE_CODE"; + } else if (entity.getFunctionId() == 208) { + type = "REDIRECT_RESPONSE_CODE"; + } else if (entity.getFunctionId() == 209) { + type = "CONTROL_REPLACE_ZONE"; } - - Properties prop = getMsgProp(); - for (CfgIndexInfo str :ipLists) { - if(entity.getFunctionId()!=210 && entity.getFunctionId()!=211){ - String type="RESPONSE_CODE"; - if(entity.getFunctionId()==207){ - type="RESPONSE_CODE"; - }else if(entity.getFunctionId()==208){ - type="REDIRECT_RESPONSE_CODE"; - }else if(entity.getFunctionId()==209){ - type="CONTROL_REPLACE_ZONE"; - } - String dictlabel= DictUtils.getDictLabel(type, str.getUserRegion1()); - str.setUserRegion1(prop.getProperty(dictlabel)); - if(entity.getFunctionId()==207 || entity.getFunctionId()==208){ - if(StringUtil.isEmpty(str.getUserRegion2())){ - if(!StringUtil.isEmpty(str.getUserRegion3())){ - ProxyFileStrategyCfg file= new ProxyFileStrategyCfg(); - file.setCompileId(Integer.valueOf(str.getUserRegion3())); - List allProxyFileStrategys = proxyFileStrategyService.getProxyFileStrategyCfgList(file); - if(allProxyFileStrategys!=null && allProxyFileStrategys.size()>0){ - str.setUserRegion2(allProxyFileStrategys.get(0).getCfgDesc()); - } + String dictlabel = DictUtils.getDictLabel(type, str.getUserRegion1()); + str.setUserRegion1(prop.getProperty(dictlabel)); + if (entity.getFunctionId() == 207 || entity.getFunctionId() == 208) { + if (StringUtil.isEmpty(str.getUserRegion2())) { + if (!StringUtil.isEmpty(str.getUserRegion3())) { + ProxyFileStrategyCfg file = new ProxyFileStrategyCfg(); + file.setCompileId(Integer.valueOf(str.getUserRegion3())); + List allProxyFileStrategys = proxyFileStrategyService + .getProxyFileStrategyCfgList(file); + if (allProxyFileStrategys != null && allProxyFileStrategys.size() > 0) { + str.setUserRegion2(allProxyFileStrategys.get(0).getCfgDesc()); } } - } } } - String cfgIndexInfoNoExport=",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - if(entity.getFunctionId()==207){ - cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:response_code-userregion2:response_content-"; - }else if(entity.getFunctionId()==208){ - cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:redirect_response_code-userregion2:redirect_url-"; - }else if(entity.getFunctionId()==209){ - cfgIndexInfoNoExport=",policy_name,group_name,userregion4,userregion5,&userregion1:replace_zone-userregion2:replaced_content-userregion3:replace_content-"; - }else if(entity.getFunctionId()==211){ - cfgIndexInfoNoExport=",do_log,log_total,policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; - } - String httpUrlCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpReqHeadCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpResHeadCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpReqBodyCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String httpResBodyCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - String ipPortCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String ntcSubscribeIdCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - List httpUrlList = new ArrayList<>(); - List httpReqHdrList = new ArrayList<>(); - List httpResHdrList = new ArrayList<>(); - List httpReqBodyList = new ArrayList<>(); - List httpResBodyList = new ArrayList<>(); - List ipPortList = new ArrayList<>(); - List subscribeIdList = new ArrayList<>(); - for (CfgIndexInfo cfg : ipLists) { - Map maps=httpRedirectCfgService.exportHttpCfg(cfg); - httpUrlList.addAll(maps.get("NTC_HTTP_URL")); - httpReqHdrList.addAll(maps.get("NTC_HTTP_REQ_HDR")); - httpResHdrList.addAll(maps.get("NTC_HTTP_RES_HDR")); - httpReqBodyList.addAll(maps.get("NTC_HTTP_REQ_BODY")); - httpResBodyList.addAll(maps.get("NTC_HTTP_RES_BODY")); - ipPortList.addAll(maps.get("NTC_UNIVERSAL_IP")); - subscribeIdList.addAll(maps.get("NTC_SUBSCRIBE_ID")); - } - httpUrlList=BaseStringCfg.replaceBaseKeyList(httpUrlList); - httpReqHdrList=ComplexkeywordCfg.replaceComplexKeyList(httpReqHdrList); - httpResHdrList=ComplexkeywordCfg.replaceComplexKeyList(httpResHdrList); - httpReqBodyList=BaseStringCfg.replaceBaseKeyList(httpReqBodyList); - httpResBodyList=BaseStringCfg.replaceBaseKeyList(httpResBodyList); - subscribeIdList=BaseStringCfg.baseHexList(subscribeIdList); - titleList.add(entity.getMenuNameCode()); - titleList.add("NTC_HTTP_URL"); - titleList.add("NTC_HTTP_REQ_HDR"); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); - classMap.put("NTC_HTTP_REQ_HDR", HttpReqHeadCfg.class); - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - noExportMap.put("NTC_HTTP_URL", httpUrlCfgNoExport); - noExportMap.put("NTC_HTTP_REQ_HDR", httpReqHeadCfgNoExport); - dataMap.put(entity.getMenuNameCode(), ipLists); - dataMap.put("NTC_HTTP_URL", httpUrlList); - dataMap.put("NTC_HTTP_REQ_HDR", httpReqHdrList); - if(entity.getFunctionId()!=208 && entity.getFunctionId()!=211){ - titleList.add("NTC_HTTP_RES_BODY"); - classMap.put("NTC_HTTP_RES_BODY", HttpBodyCfg.class); - noExportMap.put("NTC_HTTP_RES_BODY", httpResBodyCfgNoExport); - dataMap.put("NTC_HTTP_RES_BODY", httpResBodyList); - }else if(entity.getFunctionId()!=211){ - titleList.add("NTC_HTTP_RES_HDR"); - titleList.add("NTC_HTTP_REQ_BODY"); - classMap.put("NTC_HTTP_RES_HDR", HttpResHeadCfg.class); - classMap.put("NTC_HTTP_REQ_BODY", HttpBodyCfg.class); - noExportMap.put("NTC_HTTP_RES_HDR", httpResHeadCfgNoExport); - noExportMap.put("NTC_HTTP_REQ_BODY", httpReqBodyCfgNoExport); - dataMap.put("NTC_HTTP_RES_HDR", httpResHdrList); - dataMap.put("NTC_HTTP_REQ_BODY", httpReqBodyList); - } - titleList.add("NTC_UNIVERSAL_IP"); - titleList.add("NTC_SUBSCRIBE_ID"); - classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); - classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); - noExportMap.put("NTC_UNIVERSAL_IP", ipPortCfgNoExport); - noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); - dataMap.put("NTC_UNIVERSAL_IP", ipPortList); - dataMap.put("NTC_SUBSCRIBE_ID",subscribeIdList); - - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("http export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + } } - /*return "redirect:" + adminPath +"/ntc/website/httpList?functionId="+entity.getFunctionId();*/ + String cfgIndexInfoNoExport = ",policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + if (entity.getFunctionId() == 207) { + cfgIndexInfoNoExport = ",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:response_code-userregion2:response_content-"; + } else if (entity.getFunctionId() == 208) { + cfgIndexInfoNoExport = ",policy_name,group_name,userregion3,userregion4,userregion5,&userregion1:redirect_response_code-userregion2:redirect_url-"; + } else if (entity.getFunctionId() == 209) { + cfgIndexInfoNoExport = ",policy_name,group_name,userregion4,userregion5,&userregion1:replace_zone-userregion2:replaced_content-userregion3:replace_content-"; + } else if (entity.getFunctionId() == 211) { + cfgIndexInfoNoExport = ",do_log,log_total,policy_name,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + } + String httpUrlCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String httpReqHeadCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String httpResHeadCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String httpReqBodyCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String httpResBodyCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + String ipPortCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String ntcSubscribeIdCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + List httpUrlList = new ArrayList<>(); + List httpReqHdrList = new ArrayList<>(); + List httpResHdrList = new ArrayList<>(); + List httpReqBodyList = new ArrayList<>(); + List httpResBodyList = new ArrayList<>(); + List ipPortList = new ArrayList<>(); + List subscribeIdList = new ArrayList<>(); + for (CfgIndexInfo cfg : ipLists) { + Map maps = httpRedirectCfgService.exportHttpCfg(cfg); + httpUrlList.addAll(maps.get("NTC_HTTP_URL")); + httpReqHdrList.addAll(maps.get("NTC_HTTP_REQ_HDR")); + httpResHdrList.addAll(maps.get("NTC_HTTP_RES_HDR")); + httpReqBodyList.addAll(maps.get("NTC_HTTP_REQ_BODY")); + httpResBodyList.addAll(maps.get("NTC_HTTP_RES_BODY")); + ipPortList.addAll(maps.get("NTC_UNIVERSAL_IP")); + subscribeIdList.addAll(maps.get("NTC_SUBSCRIBE_ID")); + } + httpUrlList = BaseStringCfg.replaceBaseKeyList(httpUrlList); + httpReqHdrList = ComplexkeywordCfg.replaceComplexKeyList(httpReqHdrList); + httpResHdrList = ComplexkeywordCfg.replaceComplexKeyList(httpResHdrList); + httpReqBodyList = BaseStringCfg.replaceBaseKeyList(httpReqBodyList); + httpResBodyList = BaseStringCfg.replaceBaseKeyList(httpResBodyList); + subscribeIdList = BaseStringCfg.baseHexList(subscribeIdList); + titleList.add(entity.getMenuNameCode()); + titleList.add("NTC_HTTP_URL"); + titleList.add("NTC_HTTP_REQ_HDR"); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); + classMap.put("NTC_HTTP_REQ_HDR", HttpReqHeadCfg.class); + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + noExportMap.put("NTC_HTTP_URL", httpUrlCfgNoExport); + noExportMap.put("NTC_HTTP_REQ_HDR", httpReqHeadCfgNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + dataMap.put("NTC_HTTP_URL", httpUrlList); + dataMap.put("NTC_HTTP_REQ_HDR", httpReqHdrList); + if (entity.getFunctionId() != 208 && entity.getFunctionId() != 211) { + titleList.add("NTC_HTTP_RES_BODY"); + classMap.put("NTC_HTTP_RES_BODY", HttpBodyCfg.class); + noExportMap.put("NTC_HTTP_RES_BODY", httpResBodyCfgNoExport); + dataMap.put("NTC_HTTP_RES_BODY", httpResBodyList); + } else if (entity.getFunctionId() != 211) { + titleList.add("NTC_HTTP_RES_HDR"); + titleList.add("NTC_HTTP_REQ_BODY"); + classMap.put("NTC_HTTP_RES_HDR", HttpResHeadCfg.class); + classMap.put("NTC_HTTP_REQ_BODY", HttpBodyCfg.class); + noExportMap.put("NTC_HTTP_RES_HDR", httpResHeadCfgNoExport); + noExportMap.put("NTC_HTTP_REQ_BODY", httpReqBodyCfgNoExport); + dataMap.put("NTC_HTTP_RES_HDR", httpResHdrList); + dataMap.put("NTC_HTTP_REQ_BODY", httpReqBodyList); + } + titleList.add("NTC_UNIVERSAL_IP"); + titleList.add("NTC_SUBSCRIBE_ID"); + classMap.put("NTC_UNIVERSAL_IP", IpPortCfg.class); + classMap.put("NTC_SUBSCRIBE_ID", NtcSubscribeIdCfg.class); + noExportMap.put("NTC_UNIVERSAL_IP", ipPortCfgNoExport); + noExportMap.put("NTC_SUBSCRIBE_ID", ntcSubscribeIdCfgNoExport); + dataMap.put("NTC_UNIVERSAL_IP", ipPortList); + dataMap.put("NTC_SUBSCRIBE_ID", subscribeIdList); + + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("http export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); } + /* + * return "redirect:" + adminPath + * +"/ntc/website/httpList?functionId="+entity.getFunctionId(); + */ + } } diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java b/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java index c96d0c2a3..bd907b350 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/InterceptController.java @@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.mvc.support.RedirectAttributes; - import com.nis.domain.Page; import com.nis.domain.basics.PolicyGroupInfo; import com.nis.domain.configuration.BaseStringCfg; @@ -36,315 +35,347 @@ import com.nis.web.security.UserUtils; /** * IP相关配置控制类 + * * @author dell * */ @Controller -@RequestMapping(value={"${adminPath}/proxy/intercept"}) -public class InterceptController extends CommonController{ - - @RequestMapping(value = {"/ip/list","/domain/list","/ippayload/list"}) - public String ipList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) { - Page searchPage=new Page(request,response,"a"); +@RequestMapping(value = { "${adminPath}/proxy/intercept" }) +public class InterceptController extends CommonController { + + @RequestMapping(value = { "/ip/list", "/domain/list", "/ippayload/list" }) + public String ipList(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, HttpServletRequest request, + HttpServletResponse response) { + Page searchPage = new Page(request, response, "a"); Page page = websiteCfgService.getWebsiteList(searchPage, cfg); model.addAttribute("page", page); - initPageCondition(model,cfg); - - //获取证书信息 - List certificateList=new ArrayList(); - if(cfg.getFunctionId().equals(200)){ - certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "ip"); + initPageCondition(model, cfg); + + // 获取证书信息 + List certificateList = new ArrayList(); + if (cfg.getFunctionId().equals(200)) { + certificateList = pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "ip"); } - if(cfg.getFunctionId().equals(201)){ - certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "domain"); + if (cfg.getFunctionId().equals(201)) { + certificateList = pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "domain"); } model.addAttribute("certificateList", certificateList); - //IP地址仿冒策略使用策略组 - List policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(6); + // IP地址仿冒策略使用策略组 + List policyGroups = policyGroupInfoService.findPolicyGroupInfosByType(6); model.addAttribute("policyGroups", policyGroups); return "/cfg/intercept/interceptList"; } - @RequestMapping(value = {"/interceptIpForm","interceptDomainForm","interceptIpPayloadForm"}) - public String interceptIpForm(Model model,String ids,CfgIndexInfo entity) { - if(StringUtils.isNotBlank(ids)){ - entity = interceptCfgService.getInterceptCfg(Long.parseLong(ids),null); - initUpdateFormCondition(model,entity); - }else{ - initFormCondition(model,entity); + + @RequestMapping(value = { "/interceptIpForm", "interceptDomainForm", "interceptIpPayloadForm" }) + public String interceptIpForm(Model model, String ids, CfgIndexInfo entity) { + if (StringUtils.isNotBlank(ids)) { + entity = interceptCfgService.getInterceptCfg(Long.parseLong(ids), null); + initUpdateFormCondition(model, entity); + } else { + initFormCondition(model, entity); } - //获取证书信息 - List certificateList=new ArrayList(); - if(entity.getFunctionId().equals(200)){ - certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "ip"); + // 获取证书信息 + List certificateList = new ArrayList(); + if (entity.getFunctionId().equals(200)) { + certificateList = pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "ip"); } - if(entity.getFunctionId().equals(201)){ - certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "domain"); + if (entity.getFunctionId().equals(201)) { + certificateList = pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "domain"); } model.addAttribute("certificateList", certificateList); - + model.addAttribute("_cfg", entity); - //IP地址仿冒策略使用策略组 - List policyGroups=policyGroupInfoService.findPolicyGroupInfosByType(6); + // IP地址仿冒策略使用策略组 + List policyGroups = policyGroupInfoService.findPolicyGroupInfosByType(6); model.addAttribute("policyGroups", policyGroups); - + return "/cfg/intercept/interceptForm"; } - @RequestMapping(value = {"/ip/saveOrUpdate","/domain/saveOrUpdate","/ippayload/SaveOrUpdate"}) - public String saveInterceptIpCfg(RedirectAttributes redirectAttributes,Model model,HttpServletRequest request,HttpServletResponse response,String ids,CfgIndexInfo entity) { + + @RequestMapping(value = { "/ip/saveOrUpdate", "/domain/saveOrUpdate", "/ippayload/SaveOrUpdate" }) + public String saveInterceptIpCfg(RedirectAttributes redirectAttributes, Model model, HttpServletRequest request, + HttpServletResponse response, String ids, CfgIndexInfo entity) { try { interceptCfgService.saveInterceptCfg(entity); - addMessage(redirectAttributes,"success","save_success"); + addMessage(redirectAttributes, "success", "save_success"); } catch (Exception e) { logger.error("save_failed", e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); } } - return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath + "/proxy/intercept/ip/list?functionId=" + entity.getFunctionId(); } - - @RequestMapping(value = {"/ajaxInterceptIpSubList","/ajaxInterceptDomainSubList","/ajaxInterceptIpPayloadSubList"}) - public String ajaxInterceptIpSubList(Model model,Long cfgId,Integer index,Integer compileId) { - CfgIndexInfo cfg = interceptCfgService.getInterceptCfg(cfgId,compileId); + + @RequestMapping(value = { "/ajaxInterceptIpSubList", "/ajaxInterceptDomainSubList", + "/ajaxInterceptIpPayloadSubList" }) + public String ajaxInterceptIpSubList(Model model, Long cfgId, Integer index, Integer compileId) { + CfgIndexInfo cfg = interceptCfgService.getInterceptCfg(cfgId, compileId); List tabList = new ArrayList(); - if(cfg.getIpPortList()!=null){ + if (cfg.getIpPortList() != null) { String cfgType = null; - for(IpPortCfg ip:cfg.getIpPortList()){ - if(!ip.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"1",ip.getCfgType()}); + for (IpPortCfg ip : cfg.getIpPortList()) { + if (!ip.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "1", ip.getCfgType() }); cfgType = ip.getCfgType(); } } } - if(cfg.getInterceptPktBinList()!=null){ + if (cfg.getInterceptPktBinList() != null) { String cfgType = null; - for(BaseStringCfg keyword:cfg.getInterceptPktBinList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",keyword.getCfgType()}); + for (BaseStringCfg keyword : cfg.getInterceptPktBinList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - if(cfg.getHttpUrlList()!=null){ + if (cfg.getHttpUrlList() != null) { String cfgType = null; - for(BaseStringCfg keyword:cfg.getHttpUrlList()){ - if(!keyword.getCfgType().equals(cfgType)){ - tabList.add(new String[]{"2",keyword.getCfgType()}); + for (BaseStringCfg keyword : cfg.getHttpUrlList()) { + if (!keyword.getCfgType().equals(cfgType)) { + tabList.add(new String[] { "2", keyword.getCfgType() }); cfgType = keyword.getCfgType(); } } } - model.addAttribute("_cfg", cfg); + model.addAttribute("_cfg", cfg); model.addAttribute("index", index); model.addAttribute("tabList", tabList); return "/cfg/intercept/interceptSubList"; } - - @RequestMapping(value = {"auditInterceptIpCfg","auditInterceptDomainCfg","auditInterceptIpPayloadCfg"}) - public String auditInterceptIpCfg(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)) { + + @RequestMapping(value = { "auditInterceptIpCfg", "auditInterceptDomainCfg", "auditInterceptIpPayloadCfg" }) + public String auditInterceptIpCfg(Model model, @ModelAttribute("cfg") CfgIndexInfo cfg, Integer isValid, + Integer isAudit, String ids, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletResponse response, HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { CfgIndexInfo entity = new CfgIndexInfo(); String[] idArray = ids.split(","); - for(String id :idArray){ - entity = interceptCfgService.getInterceptCfg(Long.parseLong(id),null); + for (String id : idArray) { + entity = interceptCfgService.getInterceptCfg(Long.parseLong(id), null); entity.setIsAudit(isAudit); entity.setIsValid(isValid); entity.setAuditorId(UserUtils.getUser().getId()); entity.setAuditTime(new Date()); entity.setFunctionId(functionId); try { - interceptCfgService.auditInterceptIpCfg(entity,isAudit); - addMessage(redirectAttributes,"success","audit_success"); - } catch ( Exception e) { - logger.error("intercept ip audit failed",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + interceptCfgService.auditInterceptIpCfg(entity, isAudit); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { + logger.error("intercept ip audit failed", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } } } - }else{//条件下所有配置审核 - Page searchPage=new Page(request,response,"a"); - Page auditPage=new Page(request,response,"a"); + } else {// 条件下所有配置审核 + Page searchPage = new Page(request, response, "a"); + Page auditPage = new Page(request, response, "a"); BeanUtils.copyProperties(searchPage, auditPage); - + try { - auditAll(auditPage,isValid , cfg); + auditAll(auditPage, isValid, cfg); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - + return ipList(model, cfg, request, response); } - return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+functionId; + return "redirect:" + adminPath + "/proxy/intercept/ip/list?functionId=" + functionId; } - - @RequestMapping(value = {"updateInterceptIpValid","updateInterceptDomainValid","updateInterceptIpPayloadValid"}) - public String updateInterceptIpValid(Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { + + @RequestMapping(value = { "updateInterceptIpValid", "updateInterceptDomainValid", "updateInterceptIpPayloadValid" }) + public String updateInterceptIpValid(Integer isValid, String ids, Integer functionId, + RedirectAttributes redirectAttributes) { try { - interceptCfgService.updatInterceptValid(isValid,ids,functionId); - addMessage(redirectAttributes,"success","delete_success"); + interceptCfgService.updatInterceptValid(isValid, ids, functionId); + addMessage(redirectAttributes, "success", "delete_success"); } catch (Exception e) { - logger.error("intercept ip delete failed",e); - addMessage(redirectAttributes,"error","delete_failed"); + logger.error("intercept ip delete failed", e); + addMessage(redirectAttributes, "error", "delete_failed"); } - return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+functionId; + return "redirect:" + adminPath + "/proxy/intercept/ip/list?functionId=" + functionId; } - + /* - //ip配置导入 - @RequestMapping(value = "/ip/import", method=RequestMethod.POST) - public String importIp(String cfgName,RedirectAttributes redirectAttributes, - @RequestParam("file") MultipartFile file,IpPortCfg cfg) { - this._importIp(cfgName,redirectAttributes, file,cfg,IpAddrTemplate.class); - redirectAttributes.addAttribute("urlPrefix","/proxy/intercept/ip"); - redirectAttributes.addAttribute("requiresPermissionPrefix","intercept:ip"); - return "redirect:" + adminPath +"/proxy/intercept/ip/list?functionId="+cfg.getFunctionId(); - } - @RequestMapping(value = "/ip/import/template") - public void importFileTemplate(HttpServletRequest request,HttpServletResponse response, - RedirectAttributes redirectAttributes,Integer functionId,Integer cfgRegionCode) { - this._importFileTemplate(request, response, redirectAttributes, functionId, cfgRegionCode,IpAddrTemplate.class); - } - //ip配置导出 - @RequestMapping(value = "/ip/export") - public void exportIp(String columns,Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes redirectAttributes){ - this._exportIp(columns,model, request, response, entity, ids, redirectAttributes); - }*/ - - //ip配置导出 - @RequestMapping(value = "exportIpAddr") - public void exportIpAddr(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")CfgIndexInfo entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - Map replaceExportMap=new HashMap(); - Properties prop = getMsgProp(); - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=ipCfgService.getByIdsList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"a"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = ipCfgService.getIpCfgList(pageInfo, entity); - ipLists=page.getList(); - } - //获取证书信息 - List certificateList=new ArrayList(); - if(entity.getFunctionId().equals(200)){ - certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "ip"); - } - if(entity.getFunctionId().equals(201)){ - certificateList=pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "domain"); - } - for (CfgIndexInfo str : ipLists) { - if(!StringUtil.isEmpty(str.getUserRegion5())){ - String cs= DictUtils.getDictLabel("INTERCEPT_DOMAIN_INTENSITY", str.getUserRegion5()); - str.setUserRegion5(prop.getProperty(cs)); - } - if(certificateList!=null){ - if(entity.getFunctionId()==200|| entity.getFunctionId()==201){ - if(!StringUtil.isEmpty(str.getUserRegion1())){ - boolean flag=false; - for (PxyObjKeyring pxyObjKeyring : certificateList) { - if(str.getUserRegion1().equals(String.valueOf(pxyObjKeyring.getCompileId()))){ - str.setUserRegion1(pxyObjKeyring.getCfgDesc()); - flag=true; - break; - } - } - if(!flag){ - str.setUserRegion1(null); - } - } - } - - } - } - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); - String cfgIndexInfoNoExport=""; - String ipPortInfoNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String interceptNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; - String httpUrlCfgNoExport=",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" - + ",config_time,editor,edit_time,auditor,audit_time" - +",letter,whether_area_block,classification,attribute,label" - +",userregion1,userregion2,userregion3,userregion4,userregion5,"; - - List ipList=new ArrayList(); - List httpUrlList=new ArrayList(); - List pktBinList=new ArrayList(); - for (CfgIndexInfo cfg : ipLists) { - Map maps=interceptCfgService.exportIpInfo(cfg); - httpUrlList.addAll(maps.get("NTC_HTTP_URL")); - ipList.addAll(maps.get("PXY_INTERCEPT_IP")); - pktBinList.addAll(maps.get("PXY_INTERCEPT_PKT_BIN")); - } - pktBinList=BaseStringCfg.replaceBaseKeyList(pktBinList); - httpUrlList=BaseStringCfg.baseHexList(httpUrlList); - dataMap.put(entity.getMenuNameCode(), ipLists); - if(entity.getFunctionId()==212){ //IP Payload - cfgIndexInfoNoExport=",do_log,log_total,policy_name,group_name,userregion4,userregion5,&userregion1:replace_zone-userregion2:replaced_content-userregion3:replace_content-"; - titleList.add("PXY_INTERCEPT_IP"); - titleList.add("PXY_INTERCEPT_PKT_BIN"); - classMap.put("PXY_INTERCEPT_IP", IpPortCfg.class); - classMap.put("PXY_INTERCEPT_PKT_BIN", InterceptPktBin.class); - noExportMap.put("PXY_INTERCEPT_IP", ipPortInfoNoExport); - noExportMap.put("PXY_INTERCEPT_PKT_BIN", interceptNoExport); - dataMap.put("PXY_INTERCEPT_IP", ipList); - dataMap.put("PXY_INTERCEPT_PKT_BIN", pktBinList); - }else if(entity.getFunctionId()==200){//IP拦截 - cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion2:ratelimit-userregion1:certificate-"; - titleList.add("PXY_INTERCEPT_IP"); - classMap.put("PXY_INTERCEPT_IP", IpPortCfg.class); - noExportMap.put("PXY_INTERCEPT_IP", ipPortInfoNoExport); - dataMap.put("PXY_INTERCEPT_IP", ipList); - }else if(entity.getFunctionId()==201){//域名拦截 - cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,&userregion2:ratelimit-userregion1:certificate-userregion5:intercept_intensity-"; - titleList.add("NTC_HTTP_URL"); - classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); - noExportMap.put("NTC_HTTP_URL", httpUrlCfgNoExport); - dataMap.put("NTC_HTTP_URL", httpUrlList); - } - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("ip addr export failed",e); - addMessage(redirectAttributes,"error","export_failed"); + * //ip配置导入 + * + * @RequestMapping(value = "/ip/import", method=RequestMethod.POST) public + * String importIp(String cfgName,RedirectAttributes redirectAttributes, + * + * @RequestParam("file") MultipartFile file,IpPortCfg cfg) { + * this._importIp(cfgName,redirectAttributes, + * file,cfg,IpAddrTemplate.class); + * redirectAttributes.addAttribute("urlPrefix","/proxy/intercept/ip"); + * redirectAttributes.addAttribute("requiresPermissionPrefix","intercept:ip" + * ); return "redirect:" + adminPath + * +"/proxy/intercept/ip/list?functionId="+cfg.getFunctionId(); } + * + * @RequestMapping(value = "/ip/import/template") public void + * importFileTemplate(HttpServletRequest request,HttpServletResponse + * response, RedirectAttributes redirectAttributes,Integer + * functionId,Integer cfgRegionCode) { this._importFileTemplate(request, + * response, redirectAttributes, functionId, + * cfgRegionCode,IpAddrTemplate.class); } //ip配置导出 + * + * @RequestMapping(value = "/ip/export") public void exportIp(String + * columns,Model model,HttpServletRequest request,HttpServletResponse + * response, + * + * @ModelAttribute("cfg")IpPortCfg entity,String ids,RedirectAttributes + * redirectAttributes){ this._exportIp(columns,model, request, response, + * entity, ids, redirectAttributes); } + */ + + // ip配置导出 + @RequestMapping(value = "exportIpAddr") + public void exportIpAddr(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") CfgIndexInfo entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + Map replaceExportMap = new HashMap(); + Properties prop = getMsgProp(); + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = ipCfgService.getByIdsList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "a"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = ipCfgService.getIpCfgList(pageInfo, entity); + ipLists = page.getList(); } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + // 获取证书信息 + List certificateList = new ArrayList(); + if (entity.getFunctionId().equals(200)) { + certificateList = pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "ip"); + } + if (entity.getFunctionId().equals(201)) { + certificateList = pxyObjKeyringService.findPxyObjKeyrings(null, 1, 1, "domain"); + } + for (CfgIndexInfo str : ipLists) { + if (!StringUtil.isEmpty(str.getUserRegion5())) { + String cs = DictUtils.getDictLabel("INTERCEPT_DOMAIN_INTENSITY", str.getUserRegion5()); + str.setUserRegion5(prop.getProperty(cs)); + } + if (certificateList != null) { + if (entity.getFunctionId() == 200 || entity.getFunctionId() == 201) { + if (!StringUtil.isEmpty(str.getUserRegion1())) { + boolean flag = false; + for (PxyObjKeyring pxyObjKeyring : certificateList) { + if (str.getUserRegion1().equals(String.valueOf(pxyObjKeyring.getCompileId()))) { + str.setUserRegion1(pxyObjKeyring.getCfgDesc()); + flag = true; + break; + } + } + if (!flag) { + str.setUserRegion1(null); + } + } + } + + } + } + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), CfgIndexInfo.class); + String cfgIndexInfoNoExport = ""; + String ipPortInfoNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String interceptNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,ir_type,group_name,"; + String httpUrlCfgNoExport = ",do_log,action,config_describe,valid_identifier,is_audit,creator,creator" + + ",config_time,editor,edit_time,auditor,audit_time" + + ",letter,whether_area_block,classification,attribute,label" + + ",userregion1,userregion2,userregion3,userregion4,userregion5,"; + + List ipList = new ArrayList(); + List httpUrlList = new ArrayList(); + List pktBinList = new ArrayList(); + for (CfgIndexInfo cfg : ipLists) { + Map maps = interceptCfgService.exportIpInfo(cfg); + httpUrlList.addAll(maps.get("NTC_HTTP_URL")); + ipList.addAll(maps.get("PXY_INTERCEPT_IP")); + pktBinList.addAll(maps.get("PXY_INTERCEPT_PKT_BIN")); + } + pktBinList = BaseStringCfg.replaceBaseKeyList(pktBinList); + httpUrlList = BaseStringCfg.baseHexList(httpUrlList); + dataMap.put(entity.getMenuNameCode(), ipLists); + if (entity.getFunctionId() == 212) { // IP Payload + cfgIndexInfoNoExport = ",do_log,log_total,policy_name,group_name,userregion4,userregion5,&userregion1:replace_zone-userregion2:replaced_content-userregion3:replace_content-"; + titleList.add("PXY_INTERCEPT_IP"); + titleList.add("PXY_INTERCEPT_PKT_BIN"); + classMap.put("PXY_INTERCEPT_IP", IpPortCfg.class); + classMap.put("PXY_INTERCEPT_PKT_BIN", InterceptPktBin.class); + noExportMap.put("PXY_INTERCEPT_IP", ipPortInfoNoExport); + noExportMap.put("PXY_INTERCEPT_PKT_BIN", interceptNoExport); + dataMap.put("PXY_INTERCEPT_IP", ipList); + dataMap.put("PXY_INTERCEPT_PKT_BIN", pktBinList); + } else if (entity.getFunctionId() == 200) {// IP拦截 + cfgIndexInfoNoExport = ",policy_name,group_name,userregion3,userregion4,userregion5,&userregion2:ratelimit-userregion1:certificate-"; + titleList.add("PXY_INTERCEPT_IP"); + classMap.put("PXY_INTERCEPT_IP", IpPortCfg.class); + noExportMap.put("PXY_INTERCEPT_IP", ipPortInfoNoExport); + dataMap.put("PXY_INTERCEPT_IP", ipList); + } else if (entity.getFunctionId() == 201) {// 域名拦截 + cfgIndexInfoNoExport = ",policy_name,group_name,userregion3,userregion4,&userregion2:ratelimit-userregion1:certificate-userregion5:intercept_intensity-"; + titleList.add("NTC_HTTP_URL"); + classMap.put("NTC_HTTP_URL", HttpUrlCfg.class); + noExportMap.put("NTC_HTTP_URL", httpUrlCfgNoExport); + dataMap.put("NTC_HTTP_URL", httpUrlList); + }else if(entity.getFunctionId()==214){ + cfgIndexInfoNoExport=",policy_name,group_name,userregion3,userregion4,userregion5,&userregion2:With-userregion1:Spoofing-"; + } + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("ip addr export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); } - + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + } diff --git a/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjKeyringController.java b/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjKeyringController.java index 7ad6a5603..531c5fc9f 100644 --- a/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjKeyringController.java +++ b/src/main/java/com/nis/web/controller/configuration/proxy/PxyObjKeyringController.java @@ -61,827 +61,854 @@ import com.nis.web.controller.BaseController; /** * 拦截策略 + * * @author ddm * */ @Controller @RequestMapping("${adminPath}/proxy/intercept/strateagy") -public class PxyObjKeyringController extends BaseController { - public Map certInfoMap=new HashMap<>(); - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - - @RequestMapping(value = {"/form"}) - @RequiresPermissions(value={"proxy:intercept:config"}) - public String from(Model model, - HttpServletRequest request, - HttpServletResponse response, - String ids, - @ModelAttribute("cfg")PxyObjKeyring cfg - ,RedirectAttributes redirectAttributes){ - if(cfg == null){ - cfg=new PxyObjKeyring(); +public class PxyObjKeyringController extends BaseController { + public Map certInfoMap = new HashMap<>(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + @RequestMapping(value = { "/form" }) + @RequiresPermissions(value = { "proxy:intercept:config" }) + public String from(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + @ModelAttribute("cfg") PxyObjKeyring cfg, RedirectAttributes redirectAttributes) { + if (cfg == null) { + cfg = new PxyObjKeyring(); } - if(!StringUtil.isEmpty(ids)){ - cfg = pxyObjKeyringService.getPxyObjKeyring(Long.valueOf(ids),-1); + if (!StringUtil.isEmpty(ids)) { + cfg = pxyObjKeyringService.getPxyObjKeyring(Long.valueOf(ids), -1); initFormCondition(model, cfg); model.addAttribute("isAdd", false); - }else{ + } else { initFormCondition(model, cfg); model.addAttribute("isAdd", true); } - + model.addAttribute("_cfg", cfg); return "/cfg/intercept/strateagy/form"; } - - @RequestMapping(value = {"/saveOrUpdate"}) - @RequiresPermissions(value={"proxy:intercept:config"}) - public String saveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")PxyObjKeyring cfg, - MultipartFile privateKeyFileI, - MultipartFile publicKeyFileI, - RedirectAttributes redirectAttributes){ - File file = null; - boolean validFlag=true; - try { - Properties msgProp = this.getMsgProp(); - boolean publicKeyFileflag=validCertFileContent(publicKeyFileI,"-incert"); - boolean privateKeyFileflag=validCertFileContent(privateKeyFileI,"-inkey"); - if(!publicKeyFileflag && !privateKeyFileflag){ - addMessage(redirectAttributes,"error","save_failed"); - logger.error(publicKeyFileI.getOriginalFilename()+" and "+privateKeyFileI.getOriginalFilename()+" file non certificate file format "); - throw new MultiPartNewException( - msgProp.getProperty("certificate_error") - ); - }else if(!publicKeyFileflag){ - addMessage(redirectAttributes,"error","save_failed"); - logger.error(publicKeyFileI.getOriginalFilename()+" file non public key file format "); - throw new MultiPartNewException(msgProp.getProperty("public_file_error")); - }else if(!privateKeyFileflag){ - addMessage(redirectAttributes,"error","save_failed"); - logger.error(privateKeyFileI.getOriginalFilename()+" file non private key file format "); - throw new MultiPartNewException(msgProp.getProperty("private_file_error")); - } + + @RequestMapping(value = { "/saveOrUpdate" }) + @RequiresPermissions(value = { "proxy:intercept:config" }) + public String saveOrUpdate(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") PxyObjKeyring cfg, MultipartFile privateKeyFileI, MultipartFile publicKeyFileI, + RedirectAttributes redirectAttributes) { + File file = null; + boolean validFlag = true; + try { + Properties msgProp = this.getMsgProp(); + boolean publicKeyFileflag = validCertFileContent(publicKeyFileI, "-incert"); + boolean privateKeyFileflag = validCertFileContent(privateKeyFileI, "-inkey"); + if (!publicKeyFileflag && !privateKeyFileflag) { + addMessage(redirectAttributes, "error", "save_failed"); + logger.error(publicKeyFileI.getOriginalFilename() + " and " + privateKeyFileI.getOriginalFilename() + + " file non certificate file format "); + throw new MultiPartNewException(msgProp.getProperty("certificate_error")); + } else if (!publicKeyFileflag) { + addMessage(redirectAttributes, "error", "save_failed"); + logger.error(publicKeyFileI.getOriginalFilename() + " file non public key file format "); + throw new MultiPartNewException(msgProp.getProperty("public_file_error")); + } else if (!privateKeyFileflag) { + addMessage(redirectAttributes, "error", "save_failed"); + logger.error(privateKeyFileI.getOriginalFilename() + " file non private key file format "); + throw new MultiPartNewException(msgProp.getProperty("private_file_error")); + } } catch (Exception e) { - validFlag=false; - logger.error("证书文件校验失败",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof MaatConvertException){ - addMessage(redirectAttributes,"error",e.getMessage()); - }else { - addMessage(redirectAttributes,"error","save_failed"); - } + validFlag = false; + logger.error("证书文件校验失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", e.getMessage()); + } else { + addMessage(redirectAttributes, "error", "save_failed"); + } } - - try{ - if(validFlag){ - validFlag=true; - if(publicKeyFileI != null) { + + try { + if (validFlag) { + validFlag = true; + if (publicKeyFileI != null) { // 获取公钥信息 - if(certInfoMap != null && certInfoMap.size() >0){ - - String issuer=StringUtil.isEmpty(certInfoMap.get("ca issuer")) ? "":certInfoMap.get("ca issuer").toString();//颁发者 - String subject=StringUtil.isEmpty(certInfoMap.get("ca subjectname")) ? "":certInfoMap.get("ca subjectname").toString();//颁发给 - String notBeforeStr=""; + if (certInfoMap != null && certInfoMap.size() > 0) { + + String issuer = StringUtil.isEmpty(certInfoMap.get("ca issuer")) ? "" + : certInfoMap.get("ca issuer").toString();// 颁发者 + String subject = StringUtil.isEmpty(certInfoMap.get("ca subjectname")) ? "" + : certInfoMap.get("ca subjectname").toString();// 颁发给 + String notBeforeStr = ""; if (!StringUtil.isEmpty(certInfoMap.get("ca notbefore"))) { - Date notBeforeTime=new Date(certInfoMap.get("ca notbefore").toString());//开始时间 - notBeforeStr=sdf.format(notBeforeTime); + Date notBeforeTime = new Date(certInfoMap.get("ca notbefore").toString());// 开始时间 + notBeforeStr = sdf.format(notBeforeTime); } - String notAfterStr=""; + String notAfterStr = ""; if (!StringUtil.isEmpty(certInfoMap.get("ca notafter"))) { - Date notAfterTime=new Date(certInfoMap.get("ca notafter").toString());//结束时间 - notAfterStr=sdf.format(notAfterTime); + Date notAfterTime = new Date(certInfoMap.get("ca notafter").toString());// 结束时间 + notAfterStr = sdf.format(notAfterTime); } - String cn="";//CN - //CN精确信息获取 - if(!StringUtil.isEmpty(subject)){ - for (String cnStr : subject.split(",")) { - cnStr=StringUtil.isEmpty(cnStr) ? "":cnStr.trim(); - if(cnStr.split("=").length > 1){ - cn=cnStr.split("=")[1]; - cn=StringUtil.isEmpty(cn) ? "":cn.trim(); + String cn = "";// CN + // CN精确信息获取 + if (!StringUtil.isEmpty(subject)) { + for (String cnStr : subject.split(",")) { + cnStr = StringUtil.isEmpty(cnStr) ? "" : cnStr.trim(); + if (cnStr.split("=").length > 1) { + cn = cnStr.split("=")[1]; + cn = StringUtil.isEmpty(cn) ? "" : cn.trim(); } } } - String altName=StringUtil.isEmpty(certInfoMap.get("ca altname")) ? "":certInfoMap.get("ca altname").toString();//SAN - + String altName = StringUtil.isEmpty(certInfoMap.get("ca altname")) ? "" + : certInfoMap.get("ca altname").toString();// SAN + cfg.setIssuer(issuer); cfg.setSubject(subject); cfg.setCn(cn); cfg.setAltName(altName); cfg.setNotBeforeTime(notBeforeStr); cfg.setNotAfterTime(notAfterStr); - }else{ + } else { logger.info("无证书信息"); } } } - }catch (Exception e) { - validFlag=false; - logger.error("证书信息获取失败",e); - logger.error("证书文件校验失败",e); - if(e instanceof MaatConvertException){ - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof MultiPartNewException){ - addMessage(redirectAttributes,"error",e.getMessage()); - }else{ - addMessage(redirectAttributes,"error","save_failed"); - } - } - try{ - if(validFlag){ - if(publicKeyFileI != null) { + } catch (Exception e) { + validFlag = false; + logger.error("证书信息获取失败", e); + logger.error("证书文件校验失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof MultiPartNewException) { + addMessage(redirectAttributes, "error", e.getMessage()); + } else { + addMessage(redirectAttributes, "error", "save_failed"); + } + } + try { + if (validFlag) { + if (publicKeyFileI != null) { String filename = publicKeyFileI.getOriginalFilename(); String prefix = FileUtils.getPrefix(filename, false); String suffix = FileUtils.getSuffix(filename, false); - file = File.createTempFile("file_"+ prefix, suffix); - publicKeyFileI.transferTo(file);//复制文件 + file = File.createTempFile("file_" + prefix, suffix); + publicKeyFileI.transferTo(file);// 复制文件 String md5 = FileUtils.getFileMD5(file); - Map srcMap = Maps.newHashMap(); + Map srcMap = Maps.newHashMap(); srcMap.put("filetype", suffix); - srcMap.put("datatype", "dbSystem");//源文件存入数据中心 - srcMap.put("createTime",new Date()); - srcMap.put("key",prefix); + srcMap.put("datatype", "dbSystem");// 源文件存入数据中心 + srcMap.put("createTime", new Date()); + srcMap.put("key", prefix); srcMap.put("fileName", filename); srcMap.put("checksum", md5); ToMaatResult result = ConfigServiceUtil.postFileCfg(null, file, JsonMapper.toJsonString(srcMap)); - logger.info("proxy 证书文件策略公钥 文件上传响应信息:"+JsonMapper.toJsonString(result)); + logger.info("proxy 证书文件策略公钥 文件上传响应信息:" + JsonMapper.toJsonString(result)); String publicKeyFileAccessUrl = null; - if(!StringUtil.isEmpty(result)){ + if (!StringUtil.isEmpty(result)) { ResponseData data = result.getData(); - publicKeyFileAccessUrl=data.getAccessUrl(); - cfg.setPublicKeyFile(publicKeyFileAccessUrl);; + publicKeyFileAccessUrl = data.getAccessUrl(); + cfg.setPublicKeyFile(publicKeyFileAccessUrl); + ; } - } - if(privateKeyFileI != null) { + } + if (privateKeyFileI != null) { String filename = privateKeyFileI.getOriginalFilename(); String prefix = FileUtils.getPrefix(filename, false); String suffix = FileUtils.getSuffix(filename, false); - file = File.createTempFile("file_"+ prefix, suffix); - privateKeyFileI.transferTo(file);//复制文件 + file = File.createTempFile("file_" + prefix, suffix); + privateKeyFileI.transferTo(file);// 复制文件 String md5 = FileUtils.getFileMD5(file); - Map srcMap = Maps.newHashMap(); + Map srcMap = Maps.newHashMap(); srcMap.put("filetype", suffix); - srcMap.put("datatype", "dbSystem");//源文件存入数据中心 - srcMap.put("createTime",new Date()); - srcMap.put("key",prefix); + srcMap.put("datatype", "dbSystem");// 源文件存入数据中心 + srcMap.put("createTime", new Date()); + srcMap.put("key", prefix); srcMap.put("fileName", filename); srcMap.put("checksum", md5); ToMaatResult result = ConfigServiceUtil.postFileCfg(null, file, JsonMapper.toJsonString(srcMap)); - logger.info("proxy 证书文件策略私钥 上传响应信息:"+JsonMapper.toJsonString(result)); + logger.info("proxy 证书文件策略私钥 上传响应信息:" + JsonMapper.toJsonString(result)); String privateKeyFileAccessUrl = null; - if(!StringUtil.isEmpty(result)){ + if (!StringUtil.isEmpty(result)) { ResponseData data = result.getData(); - privateKeyFileAccessUrl=data.getAccessUrl(); - cfg.setPrivateKeyFile(privateKeyFileAccessUrl);; + privateKeyFileAccessUrl = data.getAccessUrl(); + cfg.setPrivateKeyFile(privateKeyFileAccessUrl); + ; } } pxyObjKeyringService.saveOrUpdate(cfg); - addMessage(redirectAttributes,"success","save_success"); - } - - }catch(Exception e){ - logger.error("证书上传失败",e); - if(e instanceof MaatConvertException){ - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof MultiPartNewException){ - addMessage(redirectAttributes,"error",e.getMessage()); - }else{ - addMessage(redirectAttributes,"error","save_failed"); - } - } - - return "redirect:" + adminPath +"/proxy/intercept/strateagy/list?functionId="+cfg.getFunctionId(); + addMessage(redirectAttributes, "success", "save_success"); + } + + } catch (Exception e) { + logger.error("证书上传失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof MultiPartNewException) { + addMessage(redirectAttributes, "error", e.getMessage()); + } else { + addMessage(redirectAttributes, "error", "save_failed"); + } + } + + return "redirect:" + adminPath + "/proxy/intercept/strateagy/list?functionId=" + cfg.getFunctionId(); } - + /** * * @param file - * @param validateType --incert证书校验 --inkey 私钥 - * @param certType 证书类型 + * @param validateType + * --incert证书校验 --inkey 私钥 + * @param certType + * 证书类型 * @return * @throws Exception */ - public boolean validCertFileContent(MultipartFile file,String validateType)throws Exception{ + public boolean validCertFileContent(MultipartFile file, String validateType) throws Exception { String os = System.getProperty("os.name").toLowerCase(); - if(!os.contains("windows") && file != null){ - //证书文件临时保存路径 + if (!os.contains("windows") && file != null) { + // 证书文件临时保存路径 String certFilePath = Constants.CERT_FILE_PATH; FileUtils.createDirectory(certFilePath); - String filePath=certFilePath - +File.separator - +UUID.randomUUID() - +FileUtils.getSuffix(file.getOriginalFilename(), true); + String filePath = certFilePath + File.separator + UUID.randomUUID() + + FileUtils.getSuffix(file.getOriginalFilename(), true); File uploadFile = new File(filePath); FileCopyUtils.copy(file.getBytes(), uploadFile); - //加载x509脚本 - String x509Shell=Thread.currentThread() - .getContextClassLoader() - .getResource( - File.separator+"shell" - +File.separator - +Constants.CERT_VALIDATE_FILE).getPath(); - //x509脚本分配可执行权限 - Map resultMap1=this.execShell("","chmod","+x",x509Shell); - logger.info("x509 chmod +x :"+resultMap1.get("out").toString()); - logger.info("x509脚本分配可执行权限:"+"chmod"+" "+"+x"+" "+x509Shell); - //验证文件 - logger.info(x509Shell+" "+validateType+" "+filePath); - Map resultMap=this.execShell(x509Shell,validateType,filePath); - - if(resultMap == null || StringUtil.isEmpty(resultMap.get("out"))){ - //临时文件删除 - logger.info("delete file"+filePath); + // 加载x509脚本 + String x509Shell = Thread.currentThread().getContextClassLoader() + .getResource(File.separator + "shell" + File.separator + Constants.CERT_VALIDATE_FILE).getPath(); + // x509脚本分配可执行权限 + Map resultMap1 = this.execShell("", "chmod", "+x", x509Shell); + logger.info("x509 chmod +x :" + resultMap1.get("out").toString()); + logger.info("x509脚本分配可执行权限:" + "chmod" + " " + "+x" + " " + x509Shell); + // 验证文件 + logger.info(x509Shell + " " + validateType + " " + filePath); + Map resultMap = this.execShell(x509Shell, validateType, filePath); + + if (resultMap == null || StringUtil.isEmpty(resultMap.get("out"))) { + // 临时文件删除 + logger.info("delete file" + filePath); FileUtils.deleteFile(filePath); return false; - }else{ - /*logger.info("x509 Out Info:"+resultMap.get("out").toString()); - Pattern p = Pattern.compile("\\s*|\t|\r|\n"); - Matcher m = p.matcher(resultMap.get("out").toString()); - logger.info(m.replaceAll("test"));*/ - } - if(resultMap != null - && !StringUtil.isEmpty(resultMap.get("out")) - && (!(resultMap.get("out").toString().indexOf(Constants.CERT_VALIDATE_SUCCESS_INFO) > -1)) - ){ - logger.error("x509 Out Info:"+resultMap.get("out").toString()); - //临时文件删除 - logger.info("delete file"+filePath); + } else { + /* + * logger.info("x509 Out Info:"+resultMap.get("out").toString()) + * ; Pattern p = Pattern.compile("\\s*|\t|\r|\n"); Matcher m = + * p.matcher(resultMap.get("out").toString()); + * logger.info(m.replaceAll("test")); + */ + } + if (resultMap != null && !StringUtil.isEmpty(resultMap.get("out")) + && (!(resultMap.get("out").toString().indexOf(Constants.CERT_VALIDATE_SUCCESS_INFO) > -1))) { + logger.error("x509 Out Info:" + resultMap.get("out").toString()); + // 临时文件删除 + logger.info("delete file" + filePath); FileUtils.deleteFile(filePath); - + return false; } - //临时文件删除 - logger.info("delete file"+filePath); + // 临时文件删除 + logger.info("delete file" + filePath); FileUtils.deleteFile(filePath); } return true; } - @RequestMapping(value = {"/list"}) - public String list(Model model,HttpServletRequest request,HttpServletResponse response - ,@ModelAttribute("cfg")PxyObjKeyring entity - ,RedirectAttributes redirectAttributes){ - //查询时left join policyGroup - Page page = pxyObjKeyringService.findPage(new Page(request, response,"r"), entity); + + @RequestMapping(value = { "/list" }) + public String list(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") PxyObjKeyring entity, RedirectAttributes redirectAttributes) { + // 查询时left join policyGroup + Page page = pxyObjKeyringService.findPage(new Page(request, response, "r"), + entity); model.addAttribute("page", page); - initPageCondition(model,entity); + initPageCondition(model, entity); return "/cfg/intercept/strateagy/list"; } - - @RequestMapping(value = {"/delete"}) - @RequiresPermissions(value={"proxy:intercept:config"}) - public String delete(Integer isAudit,Integer isValid,String ids,Integer functionId - ,Model model,HttpServletRequest request - ,HttpServletResponse response - ,RedirectAttributes redirectAttributes){ - if(!StringUtil.isEmpty(ids)){ - pxyObjKeyringService.delete(isAudit,isValid,ids,functionId); + + @RequestMapping(value = { "/delete" }) + @RequiresPermissions(value = { "proxy:intercept:config" }) + public String delete(Integer isAudit, Integer isValid, String ids, Integer functionId, Model model, + HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(ids)) { + pxyObjKeyringService.delete(isAudit, isValid, ids, functionId); } - - return "redirect:" + adminPath +"/proxy/intercept/strateagy/list?functionId="+functionId; + + return "redirect:" + adminPath + "/proxy/intercept/strateagy/list?functionId=" + functionId; } - - @RequestMapping(value = {"/audit"}) - @RequiresPermissions(value={"proxy:intercept:confirm"}) - public String audit(Model model,@ModelAttribute("cfg")PxyObjKeyring cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ + + @RequestMapping(value = { "/audit" }) + @RequiresPermissions(value = { "proxy:intercept:confirm" }) + public String audit(Model model, @ModelAttribute("cfg") PxyObjKeyring cfg, Integer isValid, Integer isAudit, + String ids, Integer functionId, RedirectAttributes redirectAttributes, HttpServletResponse response, + HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ + Date auditTime = new Date(); + for (String id : idArray) { try { - pxyObjKeyringService.audit(isAudit,isValid,functionId,id,auditTime); - addMessage(redirectAttributes,"success", "audit_success"); + pxyObjKeyringService.audit(isAudit, isValid, functionId, id, auditTime); + addMessage(redirectAttributes, "success", "audit_success"); } catch (MaatConvertException e) { logger.error(e); - addMessage(redirectAttributes,"error", "request_service_failed"); - }catch (Exception e) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } catch (Exception e) { logger.error(e); - addMessage(redirectAttributes,"error", "audit_failed"); + addMessage(redirectAttributes, "error", "audit_failed"); } } - - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); try { BeanUtils.copyProperties(searchPage, auditPage); - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); } - + } - - return list(model, request, response, cfg,redirectAttributes); + + return list(model, request, response, cfg, redirectAttributes); } - return "redirect:" + adminPath +"/proxy/intercept/strateagy/list?functionId="+functionId; + return "redirect:" + adminPath + "/proxy/intercept/strateagy/list?functionId=" + functionId; } + @ResponseBody @RequestMapping(value = "/validCfgId") public boolean validCfgId(Long cfgId) { - PxyObjKeyring dns=pxyObjKeyringService.getPxyObjKeyring(cfgId,null); - if(dns == null ){ + PxyObjKeyring dns = pxyObjKeyringService.getPxyObjKeyring(cfgId, null); + if (dns == null) { return false; - }else{ + } else { return true; } } - - - //pxyObjKeyring配置导出 - @RequestMapping(value = "exportPxy") - public void exportPxy(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")PxyObjKeyring entity,String ids,RedirectAttributes redirectAttributes){ - try { - //export data info - List titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=pxyObjKeyringService.findByList(ids); - }else{ - entity.setTableName(IpPortCfg.getTablename()); - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = pxyObjKeyringService.findPage(pageInfo, entity); - ipLists=page.getList(); - } - - for (int i = 0; i titleList=new ArrayList(); - Map> classMap=new HashMap>(); - Map dataMap=new HashMap(); - Map noExportMap=new HashMap(); - List ipLists=new ArrayList(); - //导出选中记录 - if(!StringUtil.isEmpty(ids)){ - ipLists=pxyObjKeyringService.findByCertList(ids); - }else{ - Page pageInfo=new Page(request, response,"r"); - pageInfo.setPageNo(1); - pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); - Page page = pxyObjKeyringService.findTrustedCertPage(pageInfo, entity); - ipLists=page.getList(); - } - for (PxyObjTrustedCaCert cert:ipLists) { - if(!StringUtil.isEmpty(cert.getCompileId())){ - cert.setCrlFile(ConfigDictUtils.getTrustedCrlByCerId(cert.getCompileId())); - } - } - titleList.add(entity.getMenuNameCode()); - classMap.put(entity.getMenuNameCode(), PxyObjTrustedCaCert.class); - String cfgIndexInfoNoExport=",whether_area_block,block_type,valid_identifier,do_log,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,&config_describe:cert_name-"; - noExportMap.put(entity.getMenuNameCode(),cfgIndexInfoNoExport); - dataMap.put(entity.getMenuNameCode(), ipLists); - /*}*/ - this._export(model, request, response, redirectAttributes,entity.getMenuNameCode(),titleList,classMap,dataMap,noExportMap); - } catch (Exception e) { - logger.error("pxyObjKeyring export failed",e); - addMessage(redirectAttributes, "error","export_failed"); - } - //return "redirect:" + adminPath +"/ntc/iplist/list?functionId="+entity.getFunctionId(); - } - - - @RequestMapping(value = {"/trustedCertList"}) - public String trustedCertList(Model model,HttpServletRequest request,HttpServletResponse response - ,@ModelAttribute("cfg")PxyObjTrustedCaCert entity - ,RedirectAttributes redirectAttributes){ - Page page = pxyObjKeyringService.findTrustedCertPage(new Page(request, response,"r"), entity); - model.addAttribute("page", page); - initPageCondition(model,entity); - return "/cfg/intercept/strateagy/trustedCertList"; - } - - @RequestMapping(value = {"/trustedCertForm"}) - @RequiresPermissions(value={"proxy:trustedCert:config"}) - public String trustedCertFrom(Model model, - HttpServletRequest request, - HttpServletResponse response, - String ids, - @ModelAttribute("cfg")PxyObjTrustedCaCert cfg - ,RedirectAttributes redirectAttributes){ - if(cfg == null){ - cfg=new PxyObjTrustedCaCert(); - } - if(!StringUtil.isEmpty(ids)){ - cfg = pxyObjKeyringService.getPxyObjTrustedCaCert(Long.valueOf(ids)); - initFormCondition(model, cfg); - model.addAttribute("isAdd", false); - }else{ - initFormCondition(model, cfg); - model.addAttribute("isAdd", true); - } - - model.addAttribute("_cfg", cfg); - return "/cfg/intercept/strateagy/trustedCertForm"; - } - - @RequestMapping(value = {"/trustedCertSaveOrUpdate"}) - @RequiresPermissions(value={"proxy:trustedCert:config"}) - public String trustedCertSaveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")PxyObjTrustedCaCert cfg, - MultipartFile certFileI, - RedirectAttributes redirectAttributes){ - File file = null; - boolean validFlag=true; - try { - boolean certFileflag=validCertFileContent(certFileI,"-incert"); - if(!certFileflag){ - addMessage(redirectAttributes,"error","save_failed"); - logger.error(certFileI.getOriginalFilename()+" file non Certificate file format "); - throw new MultiPartNewException(this.getMsgProp().getProperty("certificate_file_error")); - } - } catch (Exception e) { - validFlag=false; - logger.error("证书文件校验失败",e); - if(e instanceof MaatConvertException){ - addMessage(redirectAttributes,"error",e.getMessage()); - }else{ - addMessage(redirectAttributes,"error","save_failed"); - } - } - - try{ - if(validFlag){ - validFlag=true; - if(certFileI != null) { - // 获取公钥信息 - if(certInfoMap != null && certInfoMap.size() >0){ - String issuer=StringUtil.isEmpty(certInfoMap.get("ca issuer")) ? "":certInfoMap.get("ca issuer").toString();//颁发者 - logger.info("issuer:"+issuer); - cfg.setIssuer(issuer); - }else{ - logger.info("无证书信息"); - } - } - } - }catch (Exception e) { - validFlag=false; - logger.error("证书信息获取失败",e); - addMessage(redirectAttributes,"error","save_failed"); - } - try{ - if(validFlag){ - if(certFileI != null) { - String filename = certFileI.getOriginalFilename(); - String prefix = FileUtils.getPrefix(filename, false); - String suffix = FileUtils.getSuffix(filename, false); - file = File.createTempFile("file_"+ prefix, suffix); - certFileI.transferTo(file);//复制文件 - String md5 = FileUtils.getFileMD5(file); - Map srcMap = Maps.newHashMap(); - srcMap.put("filetype", suffix); - srcMap.put("datatype", "dbSystem");//源文件存入数据中心 - srcMap.put("createTime",new Date()); - srcMap.put("key",prefix); - srcMap.put("fileName", filename); - srcMap.put("checksum", md5); - ToMaatResult result = ConfigServiceUtil.postFileCfg(null, file, JsonMapper.toJsonString(srcMap)); - logger.info("proxy 可信证书 文件上传响应信息:"+JsonMapper.toJsonString(result)); - String certFileAccessUrl = null; - if(!StringUtil.isEmpty(result)){ - ResponseData data = result.getData(); - certFileAccessUrl=data.getAccessUrl(); - cfg.setCertFile(certFileAccessUrl);; - } - } - pxyObjKeyringService.trustedCertsaveOrUpdate(cfg); - addMessage(redirectAttributes,"success","save_success"); - } - - }catch(Exception e){ - logger.error("证书上传失败",e); - if(e instanceof MultiPartNewException) { - addMessage(redirectAttributes,"error",e.getMessage()); - }else if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error","request_service_failed"); - }else { - addMessage(redirectAttributes,"error","save_failed"); - } - } - - return "redirect:" + adminPath +"/proxy/intercept/strateagy/trustedCertList?functionId="+cfg.getFunctionId(); - } - @RequestMapping(value = {"/addOrAuditCrl"}) - /*@RequiresPermissions(value={"proxy:trustedCert:config","proxy:trustedCert:confirm"})*/ - public String trustedCrlSaveOrUpdate(Model model,HttpServletRequest request,HttpServletResponse response, - @ModelAttribute("cfg")PxyObjTrustedCaCrl cfg, - MultipartFile crlFileI, - RedirectAttributes redirectAttributes){ - File file = null; - boolean validFlag=true; - try { - if( crlFileI != null){ - boolean certFileflag=validCertFileContent(crlFileI,"-incrl"); - if(!certFileflag){ - addMessage(redirectAttributes,"error","save_failed"); - logger.error(crlFileI.getOriginalFilename()+" file non crl file format "); - throw new MultiPartNewException(this.getMsgProp().getProperty("crl_file_error")); - } - } - } catch (Exception e) { - validFlag=false; - logger.error("证书文件校验失败",e); - if(e instanceof MaatConvertException){ - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof MultiPartNewException){ - addMessage(redirectAttributes,"error",e.getMessage()); - }else{ - addMessage(redirectAttributes,"error","save_failed"); - } - } - - try{ - if(validFlag){ - validFlag=true; - if(crlFileI != null) { - // 获取issuer - if(certInfoMap != null && certInfoMap.size() >0){ - String issuer=StringUtil.isEmpty(certInfoMap.get("crl issuer")) ? "":certInfoMap.get("crl issuer").toString();//颁发者 - if(cfg != null){ - if((cfg.getCertId() != null && cfg.getCertId() > 0) && (!cfg.getIssuer().equals(issuer))){ - logger.error("cert 和 crl的issuser不符合"); - throw new MultiPartNewException(this.getMsgProp().getProperty("crl_issuer_error")); - }else{ - cfg.setIssuer(issuer); - } - - } - }else{ - logger.error("crl的issuser为空"); - throw new MultiPartNewException(this.getMsgProp().getProperty("crl_issuer_null")); - } - } - } - }catch (Exception e) { - validFlag=false; - logger.error("crl issuer比对失败",e); - if(e instanceof MultiPartNewException){ - addMessage(redirectAttributes,"error",e.getMessage()); - }else{ - addMessage(redirectAttributes,"error","save_failed"); - } - } - try{ - if(validFlag){ - if(crlFileI != null) { - String filename = crlFileI.getOriginalFilename(); - String prefix = FileUtils.getPrefix(filename, false); - String suffix = FileUtils.getSuffix(filename, false); - file = File.createTempFile("file_"+ prefix, suffix); - crlFileI.transferTo(file);//复制文件 - String md5 = FileUtils.getFileMD5(file); - Map srcMap = Maps.newHashMap(); - srcMap.put("filetype", suffix); - srcMap.put("datatype", "dbSystem");//源文件存入数据中心 - srcMap.put("createTime",new Date()); - srcMap.put("key",prefix); - srcMap.put("fileName", filename); - srcMap.put("checksum", md5); - ToMaatResult result = ConfigServiceUtil.postFileCfg(null, file, JsonMapper.toJsonString(srcMap)); - logger.info("可信证书crl 文件上传响应信息:"+JsonMapper.toJsonString(result)); - String crlFileAccessUrl = null; - if(!StringUtil.isEmpty(result)){ - ResponseData data = result.getData(); - crlFileAccessUrl=data.getAccessUrl(); - cfg.setCrlFile(crlFileAccessUrl); - } - } - pxyObjKeyringService.trustedCrlsaveOrUpdate(cfg); - - addMessage(redirectAttributes,"success","save_success"); - } - - }catch(Exception e){ - logger.error("crl上传失败",e); - if(e instanceof MaatConvertException){ - addMessage(redirectAttributes,"error","request_service_failed"); - }else if(e instanceof MultiPartNewException){ - addMessage(redirectAttributes,"error",e.getMessage()); - }else{ - addMessage(redirectAttributes,"error","save_failed"); - } - } - - return "redirect:" + adminPath +"/proxy/intercept/strateagy/trustedCertList?functionId="+cfg.getFunctionId(); - } - - /** - * 调用shell脚本 返回运行结果 - * - * @param shellName - * @param params - * @return - */ - public Map execShell(String shellName, - String... params) { - Map result = new HashMap(); - StringBuilder sb = new StringBuilder(); - sb.append(shellName); - for (String temp : params) { - sb.append(" " + temp); - } - String os = System.getProperty("os.name").toLowerCase(); - String cmd1 = ""; - String cmd2 = ""; - if(os.contains("windows")){ - cmd1 = "cmd.exe"; - cmd2 = "/c"; - }else{ - cmd1 = "/bin/sh"; - cmd2 = "-c"; - } - logger.info("调用脚本信息,cmd1:"+cmd1+",cmd2:"+cmd2); - String cmdarray[] = new String[] {cmd1, cmd2 ,sb.toString() }; - BufferedReader br = null; - BufferedReader bre = null; - Process exec=null; - try { - exec = Runtime.getRuntime().exec(cmdarray); - exec.getInputStream(); - br = new BufferedReader( - new InputStreamReader(exec.getInputStream())); - bre = new BufferedReader(new InputStreamReader( - exec.getErrorStream())); - String s = null; - StringBuilder out = new StringBuilder(); - String key=""; - String value=""; - if((sb.toString().indexOf("inlist") > -1) - || ( sb.toString().indexOf("incrl") > -1 ) - || ( sb.toString().indexOf("incert") > -1 )){ - certInfoMap=new HashMap<>(); - } - while ((s = br.readLine()) != null) { - logger.info(s); - //可信证书pem信息收集 - if(sb.toString().indexOf("inlist") > -1){ - if(s.indexOf(":") > -1){ - key=s.substring(0, s.indexOf(":", 0)); - key=StringUtil.isEmpty(key) ?"": key.toLowerCase().trim(); - value=s.substring(s.indexOf(":", 0)+1, s.length()); - value=StringUtil.isEmpty(value) ?"": value.trim(); - certInfoMap.put(key, value); - - } - } - //crl信息收集 - if(sb.toString().indexOf("incrl") > -1){ - if(s.indexOf(":") > -1){ - key=s.substring(0, s.indexOf(":", 0)); - key=StringUtil.isEmpty(key) ?"": key.toLowerCase().trim(); - value=s.substring(s.indexOf(":", 0)+1, s.length()); - value=StringUtil.isEmpty(value) ?"": value.trim(); - certInfoMap.put(key, value); - } - } - //证书信息收集 - if(sb.toString().indexOf("incert") > -1){ - if(s.indexOf(":") > -1){ - key=s.substring(0, s.indexOf(":", 0)); - key=StringUtil.isEmpty(key) ?"": key.toLowerCase().trim(); - value=s.substring(s.indexOf(":", 0)+1, s.length()); - value=StringUtil.isEmpty(value) ?"": value.trim(); - certInfoMap.put(key, value); - } - } - out.append(s); - } - result.put("out", out.toString());//输出参数 - out.setLength(0);//清空 - while ((s = bre.readLine()) != null) { - out.append(s); - } - result.put("error", out.toString());//错误信息 - int waitFor = exec.waitFor(); - logger.info("调用脚本:"+sb.toString()+",执行返回状态值:"+waitFor); - result.put("exitStatus", waitFor);//执行状态 - } catch (Exception e) { - e.printStackTrace(); - logger.error("调用 " + shellName + " 脚本异常", e); - } finally { - if (br != null) - try { - br.close(); - } catch (IOException e) { - e.printStackTrace(); - } - if (bre != null) - try { - bre.close(); - } catch (IOException e) { - e.printStackTrace(); - } - if (exec != null) - exec.destroy(); - - } - return result; - } - - @RequestMapping(value = {"/trustedCertDelete"}) - @RequiresPermissions(value={"proxy:trustedCert:config"}) - public String trustedCertDelete(Integer isAudit,Integer isValid,String ids,Integer functionId - ,Model model,HttpServletRequest request - ,HttpServletResponse response - ,RedirectAttributes redirectAttributes){ - if(!StringUtil.isEmpty(ids)){ - pxyObjKeyringService.trustedCertDelete(isAudit,isValid,ids,functionId); + // pxyObjKeyring配置导出 + @RequestMapping(value = "exportPxy") + public void exportPxy(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") PxyObjKeyring entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = pxyObjKeyringService.findByList(ids); + } else { + entity.setTableName(IpPortCfg.getTablename()); + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = pxyObjKeyringService.findPage(pageInfo, entity); + ipLists = page.getList(); } - - return "redirect:" + adminPath +"/proxy/intercept/strateagy/trustedCertList?functionId="+functionId; + + for (int i = 0; i < ipLists.size(); i++) { + ipLists.get(i).setKeyringName(ipLists.get(i).getCfgDesc()); + } + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), PxyObjKeyring.class); + String cfgIndexInfoNoExport = ",config_describe,whether_area_block,block_type,valid_identifier,do_log,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("pxyObjKeyring export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); } - - @RequestMapping(value = {"/trustedCertAudit"}) - @RequiresPermissions(value={"proxy:trustedCert:confirm"}) - public String trustedCertAudit(Model model,@ModelAttribute("cfg")PxyObjTrustedCaCert cfg, - Integer isValid, - Integer isAudit, - String ids, - Integer functionId, - RedirectAttributes redirectAttributes, - HttpServletResponse response, - HttpServletRequest request) { - if(!StringUtil.isEmpty(ids)){ - String[] idArray = ids.split(","); - Date auditTime=new Date(); - for(String id :idArray){ - try { - pxyObjKeyringService.trustedCertAudit(isAudit,isValid,functionId,id,auditTime); - } catch (MaatConvertException e) { - e.printStackTrace(); - logger.error(e); - addMessage(redirectAttributes,"error", "request_service_failed"); - }catch (Exception e) { - e.printStackTrace(); - logger.error(e); - addMessage(redirectAttributes,"error", "audit_failed"); + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + // pxyObjTrustedCert配置导出 + @RequestMapping(value = "exportCert") + public void exportCert(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") PxyObjTrustedCaCert entity, String ids, RedirectAttributes redirectAttributes) { + try { + // export data info + List titleList = new ArrayList(); + Map> classMap = new HashMap>(); + Map dataMap = new HashMap(); + Map noExportMap = new HashMap(); + List ipLists = new ArrayList(); + // 导出选中记录 + if (!StringUtil.isEmpty(ids)) { + ipLists = pxyObjKeyringService.findByCertList(ids); + } else { + Page pageInfo = new Page(request, response, "r"); + pageInfo.setPageNo(1); + pageInfo.setPageSize(Constants.MAX_EXPORT_SIZE); + Page page = pxyObjKeyringService.findTrustedCertPage(pageInfo, entity); + ipLists = page.getList(); + } + for (PxyObjTrustedCaCert cert : ipLists) { + if (!StringUtil.isEmpty(cert.getCompileId())) { + cert.setCrlFile(ConfigDictUtils.getTrustedCrlByCerId(cert.getCompileId())); + } + } + titleList.add(entity.getMenuNameCode()); + classMap.put(entity.getMenuNameCode(), PxyObjTrustedCaCert.class); + String cfgIndexInfoNoExport = ",whether_area_block,block_type,valid_identifier,do_log,client_port,ir_type,group_name,userregion1,userregion2,userregion3,userregion4,userregion5,&config_describe:cert_name-"; + + // 时间过滤 + if (entity.getSearch_create_time_start() == null && entity.getSearch_create_time_end() == null) { + cfgIndexInfoNoExport = ",config_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_edit_time_start() == null && entity.getSearch_edit_time_end() == null) { + cfgIndexInfoNoExport = ",edit_time" + cfgIndexInfoNoExport; + } + if (entity.getSearch_audit_time_start() == null && entity.getSearch_audit_time_end() == null) { + cfgIndexInfoNoExport = ",audit_time" + cfgIndexInfoNoExport; + } + if (!StringUtil.isEmpty(entity.gethColumns())) { + cfgIndexInfoNoExport = "," + entity.gethColumns() + "," + cfgIndexInfoNoExport; + } + + noExportMap.put(entity.getMenuNameCode(), cfgIndexInfoNoExport); + dataMap.put(entity.getMenuNameCode(), ipLists); + /* } */ + + String timeRange = initTimeMap(entity); + noExportMap.put("timeRange", timeRange); + if ("csv".equals(entity.getExType())) { + this._exportCsv(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } else { + this._export(model, request, response, redirectAttributes, entity.getMenuNameCode(), titleList, + classMap, dataMap, noExportMap); + } + } catch (Exception e) { + logger.error("pxyObjKeyring export failed", e); + addMessage(redirectAttributes, "error", "export_failed"); + } + // return "redirect:" + adminPath + // +"/ntc/iplist/list?functionId="+entity.getFunctionId(); + } + + @RequestMapping(value = { "/trustedCertList" }) + public String trustedCertList(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") PxyObjTrustedCaCert entity, RedirectAttributes redirectAttributes) { + Page page = pxyObjKeyringService + .findTrustedCertPage(new Page(request, response, "r"), entity); + model.addAttribute("page", page); + initPageCondition(model, entity); + return "/cfg/intercept/strateagy/trustedCertList"; + } + + @RequestMapping(value = { "/trustedCertForm" }) + @RequiresPermissions(value = { "proxy:trustedCert:config" }) + public String trustedCertFrom(Model model, HttpServletRequest request, HttpServletResponse response, String ids, + @ModelAttribute("cfg") PxyObjTrustedCaCert cfg, RedirectAttributes redirectAttributes) { + if (cfg == null) { + cfg = new PxyObjTrustedCaCert(); + } + if (!StringUtil.isEmpty(ids)) { + cfg = pxyObjKeyringService.getPxyObjTrustedCaCert(Long.valueOf(ids)); + initFormCondition(model, cfg); + model.addAttribute("isAdd", false); + } else { + initFormCondition(model, cfg); + model.addAttribute("isAdd", true); + } + + model.addAttribute("_cfg", cfg); + return "/cfg/intercept/strateagy/trustedCertForm"; + } + + @RequestMapping(value = { "/trustedCertSaveOrUpdate" }) + @RequiresPermissions(value = { "proxy:trustedCert:config" }) + public String trustedCertSaveOrUpdate(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") PxyObjTrustedCaCert cfg, MultipartFile certFileI, + RedirectAttributes redirectAttributes) { + File file = null; + boolean validFlag = true; + try { + boolean certFileflag = validCertFileContent(certFileI, "-incert"); + if (!certFileflag) { + addMessage(redirectAttributes, "error", "save_failed"); + logger.error(certFileI.getOriginalFilename() + " file non Certificate file format "); + throw new MultiPartNewException(this.getMsgProp().getProperty("certificate_file_error")); + } + } catch (Exception e) { + validFlag = false; + logger.error("证书文件校验失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", e.getMessage()); + } else { + addMessage(redirectAttributes, "error", "save_failed"); + } + } + + try { + if (validFlag) { + validFlag = true; + if (certFileI != null) { + // 获取公钥信息 + if (certInfoMap != null && certInfoMap.size() > 0) { + String issuer = StringUtil.isEmpty(certInfoMap.get("ca issuer")) ? "" + : certInfoMap.get("ca issuer").toString();// 颁发者 + logger.info("issuer:" + issuer); + cfg.setIssuer(issuer); + } else { + logger.info("无证书信息"); } } - - }else { - Page searchPage=new Page(request,response,"r"); - Page auditPage=new Page(request,response,"r"); + } + } catch (Exception e) { + validFlag = false; + logger.error("证书信息获取失败", e); + addMessage(redirectAttributes, "error", "save_failed"); + } + try { + if (validFlag) { + if (certFileI != null) { + String filename = certFileI.getOriginalFilename(); + String prefix = FileUtils.getPrefix(filename, false); + String suffix = FileUtils.getSuffix(filename, false); + file = File.createTempFile("file_" + prefix, suffix); + certFileI.transferTo(file);// 复制文件 + String md5 = FileUtils.getFileMD5(file); + Map srcMap = Maps.newHashMap(); + srcMap.put("filetype", suffix); + srcMap.put("datatype", "dbSystem");// 源文件存入数据中心 + srcMap.put("createTime", new Date()); + srcMap.put("key", prefix); + srcMap.put("fileName", filename); + srcMap.put("checksum", md5); + ToMaatResult result = ConfigServiceUtil.postFileCfg(null, file, JsonMapper.toJsonString(srcMap)); + logger.info("proxy 可信证书 文件上传响应信息:" + JsonMapper.toJsonString(result)); + String certFileAccessUrl = null; + if (!StringUtil.isEmpty(result)) { + ResponseData data = result.getData(); + certFileAccessUrl = data.getAccessUrl(); + cfg.setCertFile(certFileAccessUrl); + ; + } + } + pxyObjKeyringService.trustedCertsaveOrUpdate(cfg); + addMessage(redirectAttributes, "success", "save_success"); + } + } catch (Exception e) { + logger.error("证书上传失败", e); + if (e instanceof MultiPartNewException) { + addMessage(redirectAttributes, "error", e.getMessage()); + } else if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "save_failed"); + } + } + + return "redirect:" + adminPath + "/proxy/intercept/strateagy/trustedCertList?functionId=" + cfg.getFunctionId(); + } + + @RequestMapping(value = { "/addOrAuditCrl" }) + /* + * @RequiresPermissions(value={"proxy:trustedCert:config", + * "proxy:trustedCert:confirm"}) + */ + public String trustedCrlSaveOrUpdate(Model model, HttpServletRequest request, HttpServletResponse response, + @ModelAttribute("cfg") PxyObjTrustedCaCrl cfg, MultipartFile crlFileI, + RedirectAttributes redirectAttributes) { + File file = null; + boolean validFlag = true; + try { + if (crlFileI != null) { + boolean certFileflag = validCertFileContent(crlFileI, "-incrl"); + if (!certFileflag) { + addMessage(redirectAttributes, "error", "save_failed"); + logger.error(crlFileI.getOriginalFilename() + " file non crl file format "); + throw new MultiPartNewException(this.getMsgProp().getProperty("crl_file_error")); + } + } + } catch (Exception e) { + validFlag = false; + logger.error("证书文件校验失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof MultiPartNewException) { + addMessage(redirectAttributes, "error", e.getMessage()); + } else { + addMessage(redirectAttributes, "error", "save_failed"); + } + } + + try { + if (validFlag) { + validFlag = true; + if (crlFileI != null) { + // 获取issuer + if (certInfoMap != null && certInfoMap.size() > 0) { + String issuer = StringUtil.isEmpty(certInfoMap.get("crl issuer")) ? "" + : certInfoMap.get("crl issuer").toString();// 颁发者 + if (cfg != null) { + if ((cfg.getCertId() != null && cfg.getCertId() > 0) && (!cfg.getIssuer().equals(issuer))) { + logger.error("cert 和 crl的issuser不符合"); + throw new MultiPartNewException(this.getMsgProp().getProperty("crl_issuer_error")); + } else { + cfg.setIssuer(issuer); + } + + } + } else { + logger.error("crl的issuser为空"); + throw new MultiPartNewException(this.getMsgProp().getProperty("crl_issuer_null")); + } + } + } + } catch (Exception e) { + validFlag = false; + logger.error("crl issuer比对失败", e); + if (e instanceof MultiPartNewException) { + addMessage(redirectAttributes, "error", e.getMessage()); + } else { + addMessage(redirectAttributes, "error", "save_failed"); + } + } + try { + if (validFlag) { + if (crlFileI != null) { + String filename = crlFileI.getOriginalFilename(); + String prefix = FileUtils.getPrefix(filename, false); + String suffix = FileUtils.getSuffix(filename, false); + file = File.createTempFile("file_" + prefix, suffix); + crlFileI.transferTo(file);// 复制文件 + String md5 = FileUtils.getFileMD5(file); + Map srcMap = Maps.newHashMap(); + srcMap.put("filetype", suffix); + srcMap.put("datatype", "dbSystem");// 源文件存入数据中心 + srcMap.put("createTime", new Date()); + srcMap.put("key", prefix); + srcMap.put("fileName", filename); + srcMap.put("checksum", md5); + ToMaatResult result = ConfigServiceUtil.postFileCfg(null, file, JsonMapper.toJsonString(srcMap)); + logger.info("可信证书crl 文件上传响应信息:" + JsonMapper.toJsonString(result)); + String crlFileAccessUrl = null; + if (!StringUtil.isEmpty(result)) { + ResponseData data = result.getData(); + crlFileAccessUrl = data.getAccessUrl(); + cfg.setCrlFile(crlFileAccessUrl); + } + } + pxyObjKeyringService.trustedCrlsaveOrUpdate(cfg); + + addMessage(redirectAttributes, "success", "save_success"); + } + + } catch (Exception e) { + logger.error("crl上传失败", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else if (e instanceof MultiPartNewException) { + addMessage(redirectAttributes, "error", e.getMessage()); + } else { + addMessage(redirectAttributes, "error", "save_failed"); + } + } + + return "redirect:" + adminPath + "/proxy/intercept/strateagy/trustedCertList?functionId=" + cfg.getFunctionId(); + } + + /** + * 调用shell脚本 返回运行结果 + * + * @param shellName + * @param params + * @return + */ + public Map execShell(String shellName, String... params) { + Map result = new HashMap(); + StringBuilder sb = new StringBuilder(); + sb.append(shellName); + for (String temp : params) { + sb.append(" " + temp); + } + String os = System.getProperty("os.name").toLowerCase(); + String cmd1 = ""; + String cmd2 = ""; + if (os.contains("windows")) { + cmd1 = "cmd.exe"; + cmd2 = "/c"; + } else { + cmd1 = "/bin/sh"; + cmd2 = "-c"; + } + logger.info("调用脚本信息,cmd1:" + cmd1 + ",cmd2:" + cmd2); + String cmdarray[] = new String[] { cmd1, cmd2, sb.toString() }; + BufferedReader br = null; + BufferedReader bre = null; + Process exec = null; + try { + exec = Runtime.getRuntime().exec(cmdarray); + exec.getInputStream(); + br = new BufferedReader(new InputStreamReader(exec.getInputStream())); + bre = new BufferedReader(new InputStreamReader(exec.getErrorStream())); + String s = null; + StringBuilder out = new StringBuilder(); + String key = ""; + String value = ""; + if ((sb.toString().indexOf("inlist") > -1) || (sb.toString().indexOf("incrl") > -1) + || (sb.toString().indexOf("incert") > -1)) { + certInfoMap = new HashMap<>(); + } + while ((s = br.readLine()) != null) { + logger.info(s); + // 可信证书pem信息收集 + if (sb.toString().indexOf("inlist") > -1) { + if (s.indexOf(":") > -1) { + key = s.substring(0, s.indexOf(":", 0)); + key = StringUtil.isEmpty(key) ? "" : key.toLowerCase().trim(); + value = s.substring(s.indexOf(":", 0) + 1, s.length()); + value = StringUtil.isEmpty(value) ? "" : value.trim(); + certInfoMap.put(key, value); + + } + } + // crl信息收集 + if (sb.toString().indexOf("incrl") > -1) { + if (s.indexOf(":") > -1) { + key = s.substring(0, s.indexOf(":", 0)); + key = StringUtil.isEmpty(key) ? "" : key.toLowerCase().trim(); + value = s.substring(s.indexOf(":", 0) + 1, s.length()); + value = StringUtil.isEmpty(value) ? "" : value.trim(); + certInfoMap.put(key, value); + } + } + // 证书信息收集 + if (sb.toString().indexOf("incert") > -1) { + if (s.indexOf(":") > -1) { + key = s.substring(0, s.indexOf(":", 0)); + key = StringUtil.isEmpty(key) ? "" : key.toLowerCase().trim(); + value = s.substring(s.indexOf(":", 0) + 1, s.length()); + value = StringUtil.isEmpty(value) ? "" : value.trim(); + certInfoMap.put(key, value); + } + } + out.append(s); + } + result.put("out", out.toString());// 输出参数 + out.setLength(0);// 清空 + while ((s = bre.readLine()) != null) { + out.append(s); + } + result.put("error", out.toString());// 错误信息 + int waitFor = exec.waitFor(); + logger.info("调用脚本:" + sb.toString() + ",执行返回状态值:" + waitFor); + result.put("exitStatus", waitFor);// 执行状态 + } catch (Exception e) { + e.printStackTrace(); + logger.error("调用 " + shellName + " 脚本异常", e); + } finally { + if (br != null) try { - BeanUtils.copyProperties(searchPage, auditPage); - auditAll(auditPage,isValid , cfg); - addMessage(redirectAttributes,"success", "audit_success"); - } catch (Exception e) { - logger.error("配置下发失败:",e); - if(e instanceof MaatConvertException) { - addMessage(redirectAttributes,"error", "request_service_failed"); - }else { - addMessage(redirectAttributes,"error", "audit_failed"); - } - + br.close(); + } catch (IOException e) { + e.printStackTrace(); } - - return trustedCertList(model, request, response, cfg, redirectAttributes); - } - return "redirect:" + adminPath +"/proxy/intercept/strateagy/trustedCertList?functionId="+functionId; + if (bre != null) + try { + bre.close(); + } catch (IOException e) { + e.printStackTrace(); + } + if (exec != null) + exec.destroy(); + } + return result; + } + + @RequestMapping(value = { "/trustedCertDelete" }) + @RequiresPermissions(value = { "proxy:trustedCert:config" }) + public String trustedCertDelete(Integer isAudit, Integer isValid, String ids, Integer functionId, Model model, + HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes) { + if (!StringUtil.isEmpty(ids)) { + pxyObjKeyringService.trustedCertDelete(isAudit, isValid, ids, functionId); + } + + return "redirect:" + adminPath + "/proxy/intercept/strateagy/trustedCertList?functionId=" + functionId; + } + + @RequestMapping(value = { "/trustedCertAudit" }) + @RequiresPermissions(value = { "proxy:trustedCert:confirm" }) + public String trustedCertAudit(Model model, @ModelAttribute("cfg") PxyObjTrustedCaCert cfg, Integer isValid, + Integer isAudit, String ids, Integer functionId, RedirectAttributes redirectAttributes, + HttpServletResponse response, HttpServletRequest request) { + if (!StringUtil.isEmpty(ids)) { + String[] idArray = ids.split(","); + Date auditTime = new Date(); + for (String id : idArray) { + try { + pxyObjKeyringService.trustedCertAudit(isAudit, isValid, functionId, id, auditTime); + } catch (MaatConvertException e) { + e.printStackTrace(); + logger.error(e); + addMessage(redirectAttributes, "error", "request_service_failed"); + } catch (Exception e) { + e.printStackTrace(); + logger.error(e); + addMessage(redirectAttributes, "error", "audit_failed"); + } + } + + } else { + Page searchPage = new Page(request, response, "r"); + Page auditPage = new Page(request, response, "r"); + + try { + BeanUtils.copyProperties(searchPage, auditPage); + auditAll(auditPage, isValid, cfg); + addMessage(redirectAttributes, "success", "audit_success"); + } catch (Exception e) { + logger.error("配置下发失败:", e); + if (e instanceof MaatConvertException) { + addMessage(redirectAttributes, "error", "request_service_failed"); + } else { + addMessage(redirectAttributes, "error", "audit_failed"); + } + + } + + return trustedCertList(model, request, response, cfg, redirectAttributes); + } + return "redirect:" + adminPath + "/proxy/intercept/strateagy/trustedCertList?functionId=" + functionId; + } } diff --git a/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp b/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp index 5cd9f029d..e2dd6506e 100644 --- a/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/app/appDomainCfgList.jsp @@ -151,8 +151,20 @@ - +<%-- --%> + +
+ + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ <%-- --%>
diff --git a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp index 3d4ce186c..bc3d40922 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipList.jsp @@ -205,8 +205,20 @@ - +<%-- --%> + +
+ + +
+ <%-- --%>
@@ -361,23 +373,23 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp b/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp index dddab3933..a68b65736 100644 --- a/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/basicprotocol/list.jsp @@ -218,8 +218,20 @@ - +<%-- --%> + +
+ + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
- +<%-- --%> + +
+ + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+