From c75f480bdae1473c12f0f6f33a90bb16bf7f027d Mon Sep 17 00:00:00 2001 From: duandongmei Date: Thu, 26 Jul 2018 10:05:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9F=B3=E9=A2=91=E8=89=B2?= =?UTF-8?q?=E6=83=85=E5=AE=9E=E9=99=85=E6=B7=BB=E5=8A=A0=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E8=89=B2=E6=83=85=E5=8A=9F=E8=83=BD=20=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E7=AE=A1=E6=8E=A7=E5=A2=9E=E5=8A=A0=E5=A4=9A=E4=B8=AAurl?= =?UTF-8?q?=E5=92=8C=E5=A4=9A=E4=B8=AA=E6=9D=83=E9=99=90=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/nis/domain/maat/MaatCfg.java | 6 +++ .../configuration/ntc/AvController.java | 54 +++++++++++++++++-- .../proxy/HttpRedirectPolicyController.java | 39 ++++++++++---- .../web/dao/configuration/WebsiteCfgDao.xml | 14 ++++- .../service/configuration/AvCfgService.java | 35 +++++++++++- .../messages/message_zh_CN.properties | 2 +- src/main/resources/nis.properties | 2 +- .../WEB-INF/views/cfg/actionRegionForm.jsp | 4 +- .../WEB-INF/views/cfg/av/signSampleForm.jsp | 2 +- .../WEB-INF/views/cfg/av/signSampleList.jsp | 10 ++-- .../WEB-INF/views/cfg/av/switchSignSample.jsp | 2 +- .../cfg/proxy/control/httpRedirectList.jsp | 39 ++++++++++---- 12 files changed, 171 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/nis/domain/maat/MaatCfg.java b/src/main/java/com/nis/domain/maat/MaatCfg.java index 011bd4dca..f1347172f 100644 --- a/src/main/java/com/nis/domain/maat/MaatCfg.java +++ b/src/main/java/com/nis/domain/maat/MaatCfg.java @@ -530,6 +530,12 @@ public class MaatCfg implements Serializable { public String getAreaEffectiveIds() { return areaEffectiveIds; } + /** + * areaEffectiveIds + * areaEffectiveIds=7242:5,7212:4,7122:3 + * 接口要求格式为:72425,72124,71223 + * @param areaEffectiveIds + */ public void setAreaEffectiveIds(String areaEffectiveIds) { if(StringUtils.isEmpty(areaEffectiveIds)){ areaEffectiveIds="0"; 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 c3e7a0f5f..5118fa497 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 @@ -75,6 +75,19 @@ public class AvController extends BaseController { 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); + model.addAttribute("page", page); + initPageCondition(model); + List regionList = DictUtils.getFunctionRegionDictList(entity.getFunctionId()); + 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){ List list = avCfgService.getSignSampleList(entity); @@ -101,8 +114,8 @@ public class AvController extends BaseController { return "/cfg/av/fileSampleForm"; } //标志样例配置界面 - @RequestMapping(value = {"/sample/signSampleForm"}) - public String signSampleForm(Model model,HttpServletRequest request,HttpServletResponse response,String ids,AvSignSampleCfg entity){ + @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)); } @@ -167,10 +180,10 @@ public class AvController extends BaseController { return "redirect:" + adminPath +"/ntc/av/sample/fileSampleList?functionId="+entity.getFunctionId(); } //保存标志样例配置 - @RequestMapping(value = {"/sample/saveSignSample"}) - public String saveSignSample(Model model,HttpServletRequest request,HttpServletResponse response, RedirectAttributes redirectAttributes,String ids,AvSignSampleCfg entity){ + @RequestMapping(value = {"/sample/saveAudioSignSample"}) + public String saveAudioSignSample(Model model,HttpServletRequest request,HttpServletResponse response, RedirectAttributes redirectAttributes,String ids,AvSignSampleCfg entity){ avCfgService.saveOrUpdateAvSignSample(entity); - return "redirect:" + adminPath +"/ntc/av/sample/signSampleList?functionId="+entity.getFunctionId(); + return "redirect:" + adminPath +"/ntc/av/sample/audioSignSampleList?functionId="+entity.getFunctionId(); } //修改文件样例配置状态 @RequestMapping(value = {"/sample/updateAvFileSampleValid"}) @@ -266,6 +279,37 @@ public class AvController extends BaseController { 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); + AvSignSampleCfg entity = new AvSignSampleCfg(); + String[] idArray = ids.split(","); + 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); + } catch (MaatConvertException e) { + e.printStackTrace(); + logger.info("音视频标识样例配置下发失败:"+e.getMessage()); + addMessage(redirectAttributes, e.getMessage()); + } + } + return "redirect:" + adminPath +"/ntc/av/sample/audioSignSampleList?functionId="+functionId; + } //修改标志样例配置审核状态 /** * 审核配置下发,为了保证配置下发过程事务正确,一条配置提交一次 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 1b129a304..d5e00af03 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 @@ -8,6 +8,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.authz.annotation.Logical; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; @@ -35,7 +36,7 @@ import com.nis.web.security.UserUtils; @Controller @RequestMapping("${adminPath}/proxy/control/httpRedirect") public class HttpRedirectPolicyController extends BaseController{ - @RequestMapping(value = {"list"}) + @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); @@ -44,7 +45,13 @@ public class HttpRedirectPolicyController extends BaseController{ return "/cfg/proxy/control/httpRedirectList"; } @RequestMapping(value = {"form"}) - @RequiresPermissions(value={"control:httpRedirect:config"}) + @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)); @@ -135,7 +142,12 @@ public class HttpRedirectPolicyController extends BaseController{ } @RequestMapping(value = {"saveOrUpdate"}) - @RequiresPermissions(value={"control:httpRedirect:config"}) + @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{ @@ -147,10 +159,9 @@ public class HttpRedirectPolicyController extends BaseController{ addMessage(redirectAttributes,"save_failed"); } - return "redirect:" + adminPath +"/proxy/control/httpRedirect/list?functionId="+cfg.getFunctionId(); + return "redirect:" + adminPath +"/proxy/control/httpRedirect/httpRedirectList?functionId="+cfg.getFunctionId(); } @RequestMapping(value = {"ajaxHttpSubList"}) - @RequiresPermissions(value={"control:httpRedirect:config"}) public String ajaxHttpSubList(Model model,Long cfgId,Integer index) { CfgIndexInfo cfg = httpRedirectCfgService.getHttpCfg(cfgId); model.addAttribute("_cfg", cfg); @@ -158,13 +169,23 @@ public class HttpRedirectPolicyController extends BaseController{ return "/cfg/proxy/control/httpRedirectSubList"; } @RequestMapping(value = {"delete"}) - @RequiresPermissions(value={"control:httpRedirect:config"}) + @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/list?functionId="+functionId; + return "redirect:" + adminPath +"/proxy/control/httpRedirect/httpRedirectList?functionId="+functionId; } @RequestMapping(value = {"audit"}) - @RequiresPermissions(value={"control:httpRedirect:confirm"}) + @RequiresPermissions(value={"control:httpBlock:confirm" + ,"control:httpRedirect:confirm" + ,"control:httpReplace:confirm" + ,"control:httpMinit:confirm" + ,"control:httpWhitelist:confirm"} + ,logical=Logical.OR) public String audit(Integer isAudit,Integer isValid,String ids,Integer functionId, RedirectAttributes redirectAttributes) { CfgIndexInfo entity = new CfgIndexInfo(); String[] idArray = ids.split(","); @@ -183,6 +204,6 @@ public class HttpRedirectPolicyController extends BaseController{ addMessage(redirectAttributes, e.getMessage()); } } - return "redirect:" + adminPath +"/proxy/control/httpRedirect/list?functionId="+functionId; + return "redirect:" + adminPath +"/proxy/control/httpRedirect/httpRedirectList?functionId="+functionId; } } diff --git a/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml index b0b6504c1..632ad9edd 100644 --- a/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/WebsiteCfgDao.xml @@ -470,7 +470,12 @@ dest_port, dest_ip_address, cfg_type, - cfg_region_code + cfg_region_code, + user_region1, + user_region2, + user_region3, + user_region4, + user_region5 )values ( #{cfgDesc,jdbcType=VARCHAR}, #{action,jdbcType=INTEGER}, @@ -502,7 +507,12 @@ #{destPort,jdbcType=VARCHAR}, #{destIpAddress,jdbcType=VARCHAR}, #{cfgType,jdbcType=VARCHAR}, - #{cfgRegionCode,jdbcType=INTEGER} + #{cfgRegionCode,jdbcType=INTEGER}, + #{userRegion1,jdbcType=VARCHAR}, + #{userRegion2,jdbcType=VARCHAR}, + #{userRegion3,jdbcType=VARCHAR}, + #{userRegion4,jdbcType=VARCHAR}, + #{userRegion5,jdbcType=VARCHAR} ) diff --git a/src/main/java/com/nis/web/service/configuration/AvCfgService.java b/src/main/java/com/nis/web/service/configuration/AvCfgService.java index dd849bd22..2402e942c 100644 --- a/src/main/java/com/nis/web/service/configuration/AvCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/AvCfgService.java @@ -229,6 +229,10 @@ public class AvCfgService extends BaseService{ entity.setIsAudit(0); avCfgDao.updateAvSignSample(entity); } + //添加即时生效 + entity.setIsValid(1); + entity.setIsAudit(1); + audioAuditAvSignSample(entity,1); } public void updateAvFileSampleValid(Integer isAudit,Integer isValid,String ids){ AvFileSampleCfg entity = new AvFileSampleCfg(); @@ -285,6 +289,33 @@ public class AvCfgService extends BaseService{ } } + public void audioAuditAvSignSample(AvSignSampleCfg entity,Integer isAudit) throws MaatConvertException{ + avCfgDao.auditAvSignSample(entity); + List list = new ArrayList(); + if(isAudit==1){ + list.add(entity); + //调用服务接口下发配置数据 + String json=gsonToJson(list); + logger.info("文件样例下发配置参数:"+json); + //调用服务接口下发配置 + ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json); + logger.info("音视频标志样例配置下发响应信息:"+result.getMsg()); + + }else if(isAudit==3){ + AvSignSampleCfg cfg = new AvSignSampleCfg(); + cfg.setIsValid(0); + cfg.setCompileId(entity.getCompileId()); + cfg.setServiceId(entity.getServiceId()); + list.add(cfg); + //调用服务接口取消配置 + String json=gsonToJson(list); + logger.info("标志样例下发配置参数:"+json); + //调用服务接口取消配置 + ToMaatResult result = ConfigServiceUtil.put(json, 2); + logger.info("音视频标志样例配置取消配置响应信息:"+result.getMsg()); + } + + } public void auditAvSignSample(AvSignSampleCfg entity) throws MaatConvertException{ avCfgDao.updateAvSignSampleValid(entity); @@ -296,8 +327,8 @@ public class AvCfgService extends BaseService{ String json=gsonToJson(list); logger.info("标志状态变更:"+json); //调用服务接口取消配置 - //ToMaatResult result = ConfigServiceUtil.put(json, 2); - //logger.info("音视频标志样状态变更响应信息:"+result.getMsg()); + ToMaatResult result = ConfigServiceUtil.put(json, 2); + logger.info("音视频标志样状态变更响应信息:"+result.getMsg()); } /*public void auditAvSignSample(AvSignSampleCfg entity,Integer isAudit) throws MaatConvertException{ diff --git a/src/main/resources/messages/message_zh_CN.properties b/src/main/resources/messages/message_zh_CN.properties index fee6d8676..c11a591f0 100644 --- a/src/main/resources/messages/message_zh_CN.properties +++ b/src/main/resources/messages/message_zh_CN.properties @@ -890,7 +890,7 @@ http_monit=HTTP\u76D1\u6D4B http_whitelist=HTTP\u767D\u540D\u5355 response_code=\u5E94\u7B54\u7801 response_content=\u54CD\u5E94\u5185\u5BB9 -not_found=\u672A\u627E\u5230\u8BF7\u6C42\u754C\u9762 +not_found=\u672A\u627E\u5230\u8BF7\u6C42\u754C\u9762 silent=\u5173\u95ED action_region=\u52A8\u4F5C\u89C4\u5219 redirect_response_code=\u91CD\u5B9A\u5411\u5E94\u7B54\u7801 diff --git a/src/main/resources/nis.properties b/src/main/resources/nis.properties index b5728a497..8fe1740d4 100644 --- a/src/main/resources/nis.properties +++ b/src/main/resources/nis.properties @@ -316,7 +316,7 @@ http_redirect_req_hdr_region=PXY_CTRL_HTTP_REQ_HDR http_redirect_res_hdr_region=PXY_CTRL_HTTP_RES_HDR http_redirect_req_body_region=PXY_CTRL_HTTP_REQ_BODY http_redirect_res_body_region=PXY_CTRL_HTTP_RES_BODY -http_redirect_ip_region=PXY_CTRL_HTTP_IP +http_redirect_ip_region=PXY_CTRL_IP voip_ip=av_voip_ip voip_account=av_voip_account ssl_sni_region=ssl_sni diff --git a/src/main/webapp/WEB-INF/views/cfg/actionRegionForm.jsp b/src/main/webapp/WEB-INF/views/cfg/actionRegionForm.jsp index b3758229c..d1e633f3b 100644 --- a/src/main/webapp/WEB-INF/views/cfg/actionRegionForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/actionRegionForm.jsp @@ -23,7 +23,7 @@ @@ -59,7 +59,7 @@ diff --git a/src/main/webapp/WEB-INF/views/cfg/av/signSampleForm.jsp b/src/main/webapp/WEB-INF/views/cfg/av/signSampleForm.jsp index 6b132ff51..c260fbf7a 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/signSampleForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/signSampleForm.jsp @@ -84,7 +84,7 @@ $(function(){
-
+ diff --git a/src/main/webapp/WEB-INF/views/cfg/av/signSampleList.jsp b/src/main/webapp/WEB-INF/views/cfg/av/signSampleList.jsp index bc181d509..3a38cac0c 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/signSampleList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/signSampleList.jsp @@ -57,7 +57,7 @@ @@ -118,7 +118,7 @@
- + @@ -128,9 +128,9 @@
diff --git a/src/main/webapp/WEB-INF/views/cfg/av/switchSignSample.jsp b/src/main/webapp/WEB-INF/views/cfg/av/switchSignSample.jsp index 92fa85b99..dea5c1b2d 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/switchSignSample.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/switchSignSample.jsp @@ -49,8 +49,8 @@ $(function(){ -
+ diff --git a/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp b/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp index 7d4bf2613..e737aa1cd 100644 --- a/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/proxy/control/httpRedirectList.jsp @@ -227,9 +227,34 @@
--%> - + + + + + +
- + - +