修改音频色情实际添加视频色情功能

策略管控增加多个url和多个权限标识
This commit is contained in:
duandongmei
2018-07-26 10:05:10 +08:00
parent 4bdeba4d42
commit c75f480bda
12 changed files with 171 additions and 38 deletions

View File

@@ -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";

View File

@@ -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<AvSignSampleCfg> page = avCfgService.getAvSignSampleList(new Page<AvSignSampleCfg>(request, response,"a"), entity);
model.addAttribute("page", page);
initPageCondition(model);
List<FunctionRegionDict> 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<AvSignSampleCfg> 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;
}
//修改标志样例配置审核状态
/**
* 审核配置下发,为了保证配置下发过程事务正确,一条配置提交一次

View File

@@ -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<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a");
Page<CfgIndexInfo> 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;
}
}

View File

@@ -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}
)
</insert>
<!-- insert http_req_hdr_cfg表信息 -->

View File

@@ -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<AvSignSampleCfg> list = new ArrayList<AvSignSampleCfg>();
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{

View File

@@ -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

View File

@@ -23,7 +23,7 @@
<select name="userRegion1"
class="selectpicker show-tick form-control">
<c:forEach items="${fns:getDictList('RESPONSE_CODE')}" var="responseCodeC">
<option value="${responseCodeC.itemCode}" <c:if test="${_cfg.userRegion1==responseCodeC.itemCode || _cfg.userRegion1==null}">selected</c:if>><spring:message code="${responseCodeC.itemValue}"/></option>
<option value="${responseCodeC.itemCode}" <c:if test="${_cfg.userRegion1==responseCodeC.itemCode || (_cfg.userRegion1==null && redirectResponseCodeC.itemCode==1)}">selected</c:if>><spring:message code="${responseCodeC.itemValue}"/></option>
</c:forEach>
</select>
</div>
@@ -59,7 +59,7 @@
<select name="userRegion1"
class="selectpicker show-tick form-control">
<c:forEach items="${fns:getDictList('REDIRECT_RESPONSE_CODE')}" var="redirectResponseCodeC">
<option value="${redirectResponseCodeC.itemCode}" <c:if test="${_cfg.userRegion1==redirectResponseCodeC.itemCode || _cfg.userRegion1==null}">selected</c:if>><spring:message code="${redirectResponseCodeC.itemValue}"/></option>
<option value="${redirectResponseCodeC.itemCode}" <c:if test="${_cfg.userRegion1==redirectResponseCodeC.itemCode || (_cfg.userRegion1==null && redirectResponseCodeC.itemCode==1)}">selected</c:if>><spring:message code="${redirectResponseCodeC.itemValue}"/></option>
</c:forEach>
</select>
</div>

View File

@@ -84,7 +84,7 @@ $(function(){
</div>
<div class="portlet-body form">
<!-- BEGIN FORM-->
<form id="cfgFrom" action="${ctx}/ntc/av/sample/saveSignSample" method="post" class="form-horizontal">
<form id="cfgFrom" action="${ctx}/ntc/av/sample/saveAudioSignSample" method="post" class="form-horizontal">
<input type="hidden" name="cfgId" value="${_cfg.cfgId}">
<input type="hidden" name="compileId" value="${_cfg.compileId}">
<input type="hidden" name="functionId" value="${_cfg.functionId}">

View File

@@ -57,7 +57,7 @@
<shiro:hasPermission name="avSignSample:config">
<button type="button" class="btn btn-primary"
onClick="javascript:window.location='${ctx}/ntc/av/sample/signSampleForm?functionId=${cfg.functionId}'">
onClick="javascript:window.location='${ctx}/ntc/av/sample/audioSignSampleForm?functionId=${cfg.functionId}'">
<i class="fa fa-plus"></i>
<spring:message code="add"></spring:message></button>
</shiro:hasPermission>
@@ -118,7 +118,7 @@
</div>
<div class="pull-right">
<shiro:hasPermission name="avSignSample:config">
<sys:delRow url="${ctx}/ntc/av/sample/signSampleForm" id="contentTable" label="update"></sys:delRow>
<sys:delRow url="${ctx}/ntc/av/sample/audioSignSampleForm" id="contentTable" label="update"></sys:delRow>
<sys:delRow url="${ctx}/ntc/av/sample/updateAvSignSampleValid?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
</shiro:hasPermission>
<shiro:hasPermission name="avSignSample:confirm">
@@ -128,9 +128,9 @@
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu pull-right">
<li><sys:delRow url="${ctx}/ntc/av/sample/auditAvSignSample?isAudit=1&isValid=1&functionId=${cfg.functionId }" id="contentTable" label="approved"></sys:delRow></li>
<li><sys:delRow url="${ctx}/ntc/av/sample/auditAvSignSample?isAudit=2&isValid=0&functionId=${cfg.functionId }" id="contentTable" label="unapproved"></sys:delRow></li>
<li><sys:delRow url="${ctx}/ntc/av/sample/auditAvSignSample?isAudit=3&isValid=0&functionId=${cfg.functionId }" id="contentTable" label="cancelPass"></sys:delRow></li>
<li><sys:delRow url="${ctx}/ntc/av/sample/auditAvAudioSignSample?isAudit=1&isVaaudioSignSampletionId=${cfg.functionId }" id="contentTable" label="approved"></sys:delRow></li>
<li><sys:delRow url="${ctx}/ntc/av/sample/auditAvAudioSignSample?isAudit=2&isValid=0&functionId=${cfg.functionId }" id="contentTable" label="unapproved"></sys:delRow></li>
<li><sys:delRow url="${ctx}/ntc/av/sample/auditAvAudioSignSample?isAudit=3&isValid=0&functionId=${cfg.functionId }" id="contentTable" label="cancelPass"></sys:delRow></li>
</ul>
</div>
</shiro:hasPermission>

View File

@@ -49,8 +49,8 @@ $(function(){
<i class="fa fa-gift"></i>
</div>
</div>
<sys:message content="${message}" />
<div class="portlet-body form">
<sys:message content="${message}" />
<!-- BEGIN FORM-->
<form id="cfgFrom" action="${ctx}/ntc/av/sample/auditAvSignSample" method="post" class="form-horizontal">
<input type="hidden" name="functionId" value="${functionId }">

View File

@@ -227,9 +227,34 @@
</div>
</form>
</div> --%>
<c:forEach items="${serviceList }" var="serviceDict">
<c:if test="${serviceDict.functionId== cfg.functionId}">
<c:set var="serviceName" value="${serviceDict.serviceName }"/>
<c:set var="action" value="${serviceDict.action }"/>
</c:if>
</c:forEach>
<div class="theme-panel hidden-xs hidden-sm">
<shiro:hasPermission name="control:httpRedirect:config">
<c:if test="${action eq 16 }">
<c:set var="configPermissionName" value="control:httpBlock:config"/>
<c:set var="confirmPermissionName" value="control:httpBlock:confirm"/>
</c:if>
<c:if test="${action eq 48 }">
<c:set var="configPermissionName" value="control:httpRedirect:config"/>
<c:set var="confirmPermissionName" value="control:httpRedirect:confirm"/>
</c:if>
<c:if test="${action eq 80 }">
<c:set var="configPermissionName" value="control:httpReplace:config"/>
<c:set var="confirmPermissionName" value="control:httpReplace:confirm"/>
</c:if>
<c:if test="${action eq 1 }">
<c:set var="configPermissionName" value="control:httpMonit:config"/>
<c:set var="confirmPermissionName" value="control:httpMonit:confirm"/>
</c:if>
<c:if test="${action eq 128 }">
<c:set var="configPermissionName" value="control:httpWhitelist:config"/>
<c:set var="confirmPermissionName" value="control:httpWhitelist:confirm"/>
</c:if>
<shiro:hasPermission name="${configPermissionName }">
<button type="button" class="btn btn-primary"
onClick="javascript:window.location='${ctx}/proxy/control/httpRedirect/form?functionId=${cfg.functionId}'">
<i class="fa fa-plus"></i>
@@ -252,11 +277,7 @@
<h3 class="page-title">
<c:forEach items="${serviceList }" var="serviceDict">
<c:if test="${serviceDict.functionId== cfg.functionId}">
<spring:message code="${serviceDict.serviceName }"></spring:message>
</c:if>
</c:forEach>
<spring:message code="${serviceName }"></spring:message>
<small><spring:message code="date_list"/></small>
</h3>
<h5 class="page-header"></h5>
@@ -312,11 +333,11 @@
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/> <i class="fa fa-angle-double-down"></i></button>
</div>
<div class="pull-right">
<shiro:hasPermission name="control:httpRedirect:config">
<shiro:hasPermission name="${configPermissionName }">
<sys:delRow url="${ctx}/proxy/control/httpRedirect/form" id="contentTable" label="update"></sys:delRow>
<sys:delRow url="${ctx}/proxy/control/httpRedirect/delete?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
</shiro:hasPermission>
<shiro:hasPermission name="control:httpRedirect:confirm">
<shiro:hasPermission name="${confirmPermissionName }">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-wrench"></i> <spring:message code="examine"></spring:message>