1、voip合并,2、subscribeId新增时提交的问题
This commit is contained in:
@@ -3,7 +3,6 @@ package com.nis.web.controller.configuration.ntc;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
@@ -13,7 +12,6 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
import org.springframework.context.i18n.LocaleContextHolder;
|
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.ui.Model;
|
import org.springframework.ui.Model;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
@@ -22,27 +20,22 @@ import org.springframework.web.bind.annotation.ResponseBody;
|
|||||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||||
|
|
||||||
import com.nis.domain.Page;
|
import com.nis.domain.Page;
|
||||||
import com.nis.domain.SysUser;
|
|
||||||
import com.nis.domain.basics.ServiceDictInfo;
|
import com.nis.domain.basics.ServiceDictInfo;
|
||||||
import com.nis.domain.basics.SysDictInfo;
|
import com.nis.domain.basics.SysDictInfo;
|
||||||
import com.nis.domain.configuration.AreaBean;
|
import com.nis.domain.configuration.AreaBean;
|
||||||
import com.nis.domain.configuration.AreaIpCfg;
|
import com.nis.domain.configuration.AreaIpCfg;
|
||||||
import com.nis.domain.configuration.AvContIpCfg;
|
|
||||||
import com.nis.domain.configuration.AvVoipAccountCfg;
|
import com.nis.domain.configuration.AvVoipAccountCfg;
|
||||||
import com.nis.domain.configuration.CfgIndexInfo;
|
import com.nis.domain.configuration.CfgIndexInfo;
|
||||||
import com.nis.domain.configuration.IpPortCfg;
|
|
||||||
import com.nis.domain.configuration.NtcSubscribeIdCfg;
|
import com.nis.domain.configuration.NtcSubscribeIdCfg;
|
||||||
import com.nis.exceptions.MaatConvertException;
|
import com.nis.exceptions.MaatConvertException;
|
||||||
import com.nis.domain.configuration.AvVoipIpCfg;
|
import com.nis.domain.configuration.AvVoipIpCfg;
|
||||||
import com.nis.domain.configuration.BaseIpCfg;
|
import com.nis.domain.configuration.BaseIpCfg;
|
||||||
import com.nis.domain.configuration.BaseStringCfg;
|
import com.nis.domain.configuration.BaseStringCfg;
|
||||||
import com.nis.util.Configurations;
|
|
||||||
import com.nis.util.Constants;
|
import com.nis.util.Constants;
|
||||||
import com.nis.util.DateUtils;
|
import com.nis.util.DateUtils;
|
||||||
import com.nis.util.StringUtil;
|
import com.nis.util.StringUtil;
|
||||||
import com.nis.util.excel.ExportExcel;
|
import com.nis.util.excel.ExportExcel;
|
||||||
import com.nis.web.controller.BaseController;
|
import com.nis.web.controller.BaseController;
|
||||||
import com.nis.web.security.UserUtils;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理音视频文本业务
|
* 处理音视频文本业务
|
||||||
@@ -55,11 +48,11 @@ public class AvContentController extends BaseController {
|
|||||||
/*****************************voip业务***************/
|
/*****************************voip业务***************/
|
||||||
//音视频VOIP IP配置新增界面
|
//音视频VOIP IP配置新增界面
|
||||||
@RequestMapping(value = {"/voipForm"})
|
@RequestMapping(value = {"/voipForm"})
|
||||||
@RequiresPermissions(value={"avVoipIp:config"})
|
@RequiresPermissions(value={"avVoip:config"})
|
||||||
public String voipFrom(Model model,HttpServletRequest request ,HttpServletResponse response
|
public String voipFrom(Model model,HttpServletRequest request ,HttpServletResponse response
|
||||||
,String compileIds,String ids, CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){
|
,String compileIds,String ids, CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){
|
||||||
if(!StringUtil.isEmpty(compileIds)){
|
if(!StringUtil.isEmpty(ids)){
|
||||||
cfg.setCompileId(Integer.parseInt(compileIds));
|
cfg.setCfgId(Long.parseLong(ids));
|
||||||
cfg = avContentCfgService.getCfgIndexInfo(cfg);
|
cfg = avContentCfgService.getCfgIndexInfo(cfg);
|
||||||
initUpdateFormCondition(model, cfg);
|
initUpdateFormCondition(model, cfg);
|
||||||
}else{
|
}else{
|
||||||
@@ -70,7 +63,7 @@ public class AvContentController extends BaseController {
|
|||||||
return "/cfg/av/voip/voipForm";
|
return "/cfg/av/voip/voipForm";
|
||||||
}
|
}
|
||||||
//音视频VOIP Account配置新增界面
|
//音视频VOIP Account配置新增界面
|
||||||
@RequestMapping(value = {"/voipAccountForm"})
|
/* @RequestMapping(value = {"/voipAccountForm"})
|
||||||
@RequiresPermissions(value={"avVoipAccount:config"})
|
@RequiresPermissions(value={"avVoipAccount:config"})
|
||||||
public String voipAccountForm(Model model,HttpServletRequest request ,HttpServletResponse response
|
public String voipAccountForm(Model model,HttpServletRequest request ,HttpServletResponse response
|
||||||
,String compileIds,String ids, CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){
|
,String compileIds,String ids, CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){
|
||||||
@@ -85,7 +78,7 @@ public class AvContentController extends BaseController {
|
|||||||
|
|
||||||
model.addAttribute("_cfg", cfg);
|
model.addAttribute("_cfg", cfg);
|
||||||
return "/cfg/av/voip/voipAccountForm";
|
return "/cfg/av/voip/voipAccountForm";
|
||||||
}
|
}*/
|
||||||
|
|
||||||
//保存voip ip信息
|
//保存voip ip信息
|
||||||
@RequestMapping(value = {"/saveVoip"})
|
@RequestMapping(value = {"/saveVoip"})
|
||||||
@@ -97,18 +90,18 @@ public class AvContentController extends BaseController {
|
|||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
if(e instanceof MaatConvertException) {
|
if(e instanceof MaatConvertException) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.error("voip IP信息保存失败",e);
|
logger.error("voip 信息保存失败",e);
|
||||||
addMessage(redirectAttributes,"request_service_failed");
|
addMessage(redirectAttributes,"request_service_failed");
|
||||||
}else {
|
}else {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.error("voip IP信息保存失败",e);
|
logger.error("voip 信息保存失败",e);
|
||||||
addMessage(redirectAttributes,"save_failed");
|
addMessage(redirectAttributes,"save_failed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "redirect:" + adminPath +"/ntc/av/voipList?functionId="+cfg.getFunctionId();
|
return "redirect:" + adminPath +"/ntc/av/voipList?functionId="+cfg.getFunctionId();
|
||||||
}
|
}
|
||||||
//保存voip Account信息
|
//保存voip Account信息
|
||||||
@RequestMapping(value = {"/saveAccountVoip"})
|
/* @RequestMapping(value = {"/saveAccountVoip"})
|
||||||
public String saveAccountVoip(Model model,HttpServletRequest request,HttpServletResponse response,String ids,
|
public String saveAccountVoip(Model model,HttpServletRequest request,HttpServletResponse response,String ids,
|
||||||
CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){
|
CfgIndexInfo cfg ,RedirectAttributes redirectAttributes){
|
||||||
try{
|
try{
|
||||||
@@ -126,12 +119,10 @@ public class AvContentController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "redirect:" + adminPath +"/ntc/av/voipAccountList?functionId="+cfg.getFunctionId();
|
return "redirect:" + adminPath +"/ntc/av/voipAccountList?functionId="+cfg.getFunctionId();
|
||||||
}
|
}*/
|
||||||
//视频文本VOIP IP配置列表
|
//视频文本VOIP 配置列表
|
||||||
@RequestMapping(value = {"/voipList"})
|
@RequestMapping(value = {"/voipList"})
|
||||||
public String voipCfgList(Model model,HttpServletRequest request
|
public String voipCfgList(Model model,HttpServletRequest request ,HttpServletResponse response ,@ModelAttribute("cfg")CfgIndexInfo entity
|
||||||
,HttpServletResponse response
|
|
||||||
,@ModelAttribute("cfg")CfgIndexInfo entity
|
|
||||||
,RedirectAttributes redirectAttributes){
|
,RedirectAttributes redirectAttributes){
|
||||||
if(entity.getVoipIp()== null){
|
if(entity.getVoipIp()== null){
|
||||||
entity.setVoipIp(new AvVoipIpCfg());
|
entity.setVoipIp(new AvVoipIpCfg());
|
||||||
@@ -148,7 +139,7 @@ public class AvContentController extends BaseController {
|
|||||||
return "/cfg/av/voip/voipList";
|
return "/cfg/av/voip/voipList";
|
||||||
}
|
}
|
||||||
//视频文本VOIP Account配置列表
|
//视频文本VOIP Account配置列表
|
||||||
@RequestMapping(value = {"/voipAccountList"})
|
/* @RequestMapping(value = {"/voipAccountList"})
|
||||||
public String voipCfgAccountList(Model model,HttpServletRequest request ,HttpServletResponse response
|
public String voipCfgAccountList(Model model,HttpServletRequest request ,HttpServletResponse response
|
||||||
,@ModelAttribute("cfg")CfgIndexInfo entity ,RedirectAttributes redirectAttributes){
|
,@ModelAttribute("cfg")CfgIndexInfo entity ,RedirectAttributes redirectAttributes){
|
||||||
if(entity.getVoipAccount()== null){
|
if(entity.getVoipAccount()== null){
|
||||||
@@ -161,12 +152,12 @@ public class AvContentController extends BaseController {
|
|||||||
model.addAttribute("page", page);
|
model.addAttribute("page", page);
|
||||||
initPageCondition(model,entity);
|
initPageCondition(model,entity);
|
||||||
return "/cfg/av/voip/voipAccountList";
|
return "/cfg/av/voip/voipAccountList";
|
||||||
}
|
}*/
|
||||||
|
|
||||||
|
|
||||||
//修改VOIP IP配置状态
|
//修改VOIP IP配置状态
|
||||||
@RequestMapping(value = {"/updateAvVoipValid"})
|
@RequestMapping(value = {"/updateAvVoipValid"})
|
||||||
@RequiresPermissions(value={"avVoipIp:config"})
|
@RequiresPermissions(value={"avVoip:config"})
|
||||||
public String updateVoipValid(Integer isAudit,String compileIds,Integer isValid,String ids,Integer functionId
|
public String updateVoipValid(Integer isAudit,String compileIds,Integer isValid,String ids,Integer functionId
|
||||||
,RedirectAttributes redirectAttributes
|
,RedirectAttributes redirectAttributes
|
||||||
) {
|
) {
|
||||||
@@ -175,18 +166,18 @@ public class AvContentController extends BaseController {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
if(e instanceof MaatConvertException) {
|
if(e instanceof MaatConvertException) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.error("voip IP信息审核失败",e);
|
logger.error("voip 信息审核失败",e);
|
||||||
addMessage(redirectAttributes,"request_service_failed");
|
addMessage(redirectAttributes,"request_service_failed");
|
||||||
}else {
|
}else {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.error("voip IP信息审核失败",e);
|
logger.error("voip 信息审核失败",e);
|
||||||
addMessage(redirectAttributes,"audit_failed");
|
addMessage(redirectAttributes,"audit_failed");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "redirect:" + adminPath +"/ntc/av/voipList?functionId="+functionId;
|
return "redirect:" + adminPath +"/ntc/av/voipList?functionId="+functionId;
|
||||||
}
|
}
|
||||||
//修改VOIP account配置状态
|
//修改VOIP account配置状态
|
||||||
@RequestMapping(value = {"/updateAvVoipAccountValid"})
|
/* @RequestMapping(value = {"/updateAvVoipAccountValid"})
|
||||||
@RequiresPermissions(value={"avVoipAccount:config"})
|
@RequiresPermissions(value={"avVoipAccount:config"})
|
||||||
public String updateVoipAccountValid(Integer isAudit,String compileIds,Integer isValid,String ids,Integer functionId
|
public String updateVoipAccountValid(Integer isAudit,String compileIds,Integer isValid,String ids,Integer functionId
|
||||||
,RedirectAttributes redirectAttributes
|
,RedirectAttributes redirectAttributes
|
||||||
@@ -205,15 +196,13 @@ public class AvContentController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "redirect:" + adminPath +"/ntc/av/voipAccountList?functionId="+functionId;
|
return "redirect:" + adminPath +"/ntc/av/voipAccountList?functionId="+functionId;
|
||||||
}
|
}*/
|
||||||
//修改VOIP IP配置审核状态
|
//修改VOIP IP配置审核状态
|
||||||
@RequestMapping(value = {"/auditAvVoip"})
|
@RequestMapping(value = {"/auditAvVoip"})
|
||||||
@RequiresPermissions(value={"avVoipIp:confirm"})
|
@RequiresPermissions(value={"avVoip:confirm"})
|
||||||
public String auditVoip(Integer isAudit,Integer isValid,String ids
|
public String auditVoip(Integer isAudit,Integer isValid,String ids ,String compileIds,Integer functionId ,RedirectAttributes redirectAttributes) {
|
||||||
,String compileIds,Integer functionId
|
if(!StringUtil.isEmpty(ids)){
|
||||||
,RedirectAttributes redirectAttributes) {
|
String[] idArray = ids.split(",");
|
||||||
if(!StringUtil.isEmpty(compileIds)){
|
|
||||||
String[] idArray = compileIds.split(",");
|
|
||||||
Date auditTime=new Date();
|
Date auditTime=new Date();
|
||||||
for(String id :idArray){
|
for(String id :idArray){
|
||||||
try {
|
try {
|
||||||
@@ -221,7 +210,7 @@ public class AvContentController extends BaseController {
|
|||||||
} catch (MaatConvertException e) {
|
} catch (MaatConvertException e) {
|
||||||
if(e instanceof MaatConvertException) {
|
if(e instanceof MaatConvertException) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
logger.info("VOIP配置下发失败:"+e.getMessage());;
|
logger.error("VOIP配置下发失败:"+e.getMessage());;
|
||||||
addMessage(redirectAttributes,"request_service_failed");
|
addMessage(redirectAttributes,"request_service_failed");
|
||||||
}else {
|
}else {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@@ -236,7 +225,7 @@ public class AvContentController extends BaseController {
|
|||||||
return "redirect:" + adminPath +"/ntc/av/voipList?functionId="+functionId;
|
return "redirect:" + adminPath +"/ntc/av/voipList?functionId="+functionId;
|
||||||
}
|
}
|
||||||
//修改VOIP IP配置审核状态
|
//修改VOIP IP配置审核状态
|
||||||
@RequestMapping(value = {"/auditAvVoipAccount"})
|
/* @RequestMapping(value = {"/auditAvVoipAccount"})
|
||||||
@RequiresPermissions(value={"avVoipAccount:confirm"})
|
@RequiresPermissions(value={"avVoipAccount:confirm"})
|
||||||
public String auditVoipAccount(Integer isAudit,Integer isValid,String ids
|
public String auditVoipAccount(Integer isAudit,Integer isValid,String ids
|
||||||
,String compileIds,Integer functionId
|
,String compileIds,Integer functionId
|
||||||
@@ -262,14 +251,14 @@ public class AvContentController extends BaseController {
|
|||||||
|
|
||||||
}
|
}
|
||||||
return "redirect:" + adminPath +"/ntc/av/voipAccountList?functionId="+functionId;
|
return "redirect:" + adminPath +"/ntc/av/voipAccountList?functionId="+functionId;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 账号account
|
* 账号account
|
||||||
* 根据索引表信息异步获取子表信息
|
* 根据索引表信息异步获取子表信息
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ResponseBody
|
/*@ResponseBody
|
||||||
@RequestMapping(value = "ajaxVoipAccountInfo")
|
@RequestMapping(value = "ajaxVoipAccountInfo")
|
||||||
public Map getVoipAccountInfo(CfgIndexInfo cfgIndexInfo) {
|
public Map getVoipAccountInfo(CfgIndexInfo cfgIndexInfo) {
|
||||||
Map<String, Object> voipAndAccountInfoMap=new HashMap<String, Object>();
|
Map<String, Object> voipAndAccountInfoMap=new HashMap<String, Object>();
|
||||||
@@ -282,25 +271,50 @@ public class AvContentController extends BaseController {
|
|||||||
voipAndAccountInfoMap.put("account", voipAccountCfgList);
|
voipAndAccountInfoMap.put("account", voipAccountCfgList);
|
||||||
voipAndAccountInfoMap.put("subscribe", ntcSubscribeIdCfgList);
|
voipAndAccountInfoMap.put("subscribe", ntcSubscribeIdCfgList);
|
||||||
return voipAndAccountInfoMap;
|
return voipAndAccountInfoMap;
|
||||||
}
|
}*/
|
||||||
/**
|
/**
|
||||||
* 根据索引表信息异步获取子表信息
|
* 根据索引表信息异步获取子表信息
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@ResponseBody
|
@RequestMapping(value = {"/ajaxVoipIpInfo"})
|
||||||
@RequestMapping(value = "ajaxVoipIpInfo")
|
public String getVoipIpInfo(Model model,Long cfgId,Integer index) {
|
||||||
public Map getVoipIpInfo(CfgIndexInfo cfgIndexInfo) {
|
CfgIndexInfo cfgIndexInfo = new CfgIndexInfo();
|
||||||
Map<String, Object> voipAndAccountInfoMap=new HashMap<String, Object>();
|
cfgIndexInfo.setCfgId(cfgId);
|
||||||
|
CfgIndexInfo cfg = avContentCfgService.getCfgIndexInfo(cfgIndexInfo);
|
||||||
|
List<String[]> tabList = new ArrayList();
|
||||||
//获取voipIpCfg信息
|
//获取voipIpCfg信息
|
||||||
List<AvVoipIpCfg> voipIpCfgList=new ArrayList<AvVoipIpCfg>();
|
if(cfg.getVoipIps()!=null){
|
||||||
List<NtcSubscribeIdCfg> ntcSubscribeIdCfgList=new ArrayList<NtcSubscribeIdCfg>();
|
String cfgType = null;
|
||||||
|
for(AvVoipIpCfg ip:cfg.getVoipIps()){
|
||||||
voipIpCfgList = avContentCfgService.getVoipIpCfgList(cfgIndexInfo);
|
if(!ip.getCfgType().equals(cfgType)){
|
||||||
ntcSubscribeIdCfgList=avContentCfgService.getSubscribeIdCfgList(cfgIndexInfo);
|
tabList.add(new String[]{"1",ip.getCfgType()});
|
||||||
|
cfgType = ip.getCfgType();
|
||||||
voipAndAccountInfoMap.put("ip", voipIpCfgList);
|
}
|
||||||
voipAndAccountInfoMap.put("subscribe", ntcSubscribeIdCfgList);
|
}
|
||||||
return voipAndAccountInfoMap;
|
}
|
||||||
|
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()});
|
||||||
|
cfgType = account.getCfgType();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//查询关键字
|
||||||
|
if(cfg.getNtcSubscribeIdCfgList()!=null){
|
||||||
|
String cfgType = null;
|
||||||
|
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("index", index);
|
||||||
|
model.addAttribute("tabList", tabList);
|
||||||
|
return "/cfg/av/voip/voipSubList";
|
||||||
}
|
}
|
||||||
/*****************************voip业务***************/
|
/*****************************voip业务***************/
|
||||||
|
|
||||||
|
|||||||
@@ -78,13 +78,13 @@ public class AvContentCfgService extends BaseService{
|
|||||||
* @param entity
|
* @param entity
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Page<CfgIndexInfo> findAccountPage(Page<CfgIndexInfo> page, CfgIndexInfo entity) {
|
/*public Page<CfgIndexInfo> findAccountPage(Page<CfgIndexInfo> page, CfgIndexInfo entity) {
|
||||||
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"r"));
|
entity.getSqlMap().put("dsf", configScopeFilter(entity.getCurrentUser(),"r"));
|
||||||
entity.setPage(page);
|
entity.setPage(page);
|
||||||
List<CfgIndexInfo> list=avContentCfgDao.findAccountList(entity);
|
List<CfgIndexInfo> list=avContentCfgDao.findAccountList(entity);
|
||||||
page.setList(list);
|
page.setList(list);
|
||||||
return page;
|
return page;
|
||||||
}
|
}*/
|
||||||
/**
|
/**
|
||||||
* 根据索引表信息获取voipIpCfg信息
|
* 根据索引表信息获取voipIpCfg信息
|
||||||
* @param entity
|
* @param entity
|
||||||
@@ -116,20 +116,16 @@ public class AvContentCfgService extends BaseService{
|
|||||||
*/
|
*/
|
||||||
public CfgIndexInfo getCfgIndexInfo(CfgIndexInfo entity) {
|
public CfgIndexInfo getCfgIndexInfo(CfgIndexInfo entity) {
|
||||||
CfgIndexInfo cfg=avContentCfgDao.getCfgIndexInfo(entity);
|
CfgIndexInfo cfg=avContentCfgDao.getCfgIndexInfo(entity);
|
||||||
List<NtcSubscribeIdCfg> ntcSubscribeList=getSubscribeIdCfgList(entity);
|
List<NtcSubscribeIdCfg> ntcSubscribeList=getSubscribeIdCfgList(cfg);
|
||||||
if(ntcSubscribeList ==null || ntcSubscribeList.size() <=0){
|
List<AvVoipIpCfg> voipIps=getVoipIpCfgList(cfg);
|
||||||
ntcSubscribeList.add(new NtcSubscribeIdCfg());
|
List<AvVoipAccountCfg> voipAccounts=getVoipAccountCfgList(cfg);
|
||||||
}
|
|
||||||
List<AvVoipIpCfg> voipIps=getVoipIpCfgList(entity);
|
|
||||||
if(voipIps ==null || voipIps.size() <=0){
|
|
||||||
voipIps.add(new AvVoipIpCfg());
|
|
||||||
}
|
|
||||||
cfg.setNtcSubscribeIdCfgList(ntcSubscribeList);
|
cfg.setNtcSubscribeIdCfgList(ntcSubscribeList);
|
||||||
cfg.setVoipIps(voipIps);
|
cfg.setVoipIps(voipIps);
|
||||||
|
cfg.setVoipAccounts(voipAccounts);
|
||||||
|
|
||||||
return cfg;
|
return cfg;
|
||||||
}
|
}
|
||||||
public CfgIndexInfo getCfgIndexInfo2(CfgIndexInfo entity) {
|
/* public CfgIndexInfo getCfgIndexInfo2(CfgIndexInfo entity) {
|
||||||
CfgIndexInfo cfg=avContentCfgDao.getCfgIndexInfo(entity);
|
CfgIndexInfo cfg=avContentCfgDao.getCfgIndexInfo(entity);
|
||||||
List<AvVoipAccountCfg> voipAccounts=new ArrayList<>();
|
List<AvVoipAccountCfg> voipAccounts=new ArrayList<>();
|
||||||
voipAccounts=getVoipAccountCfgList(entity);
|
voipAccounts=getVoipAccountCfgList(entity);
|
||||||
@@ -145,7 +141,7 @@ public class AvContentCfgService extends BaseService{
|
|||||||
cfg.setNtcSubscribeIdCfgList(ntcSubscribeList);
|
cfg.setNtcSubscribeIdCfgList(ntcSubscribeList);
|
||||||
|
|
||||||
return cfg;
|
return cfg;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
||||||
public void saveOrUpdateAvVoip(CfgIndexInfo entity){
|
public void saveOrUpdateAvVoip(CfgIndexInfo entity){
|
||||||
@@ -178,6 +174,12 @@ public class AvContentCfgService extends BaseService{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(entity.getVoipAccounts()!=null&&entity.getVoipAccounts().size()>0){
|
||||||
|
for(AvVoipAccountCfg voipAccount : entity.getVoipAccounts()){
|
||||||
|
entity.setVoipAccount(voipAccount);
|
||||||
|
avContentCfgDao.insertAvVoipAccountCfg(entity);
|
||||||
|
}
|
||||||
|
}
|
||||||
//保存区域IP信息
|
//保存区域IP信息
|
||||||
if(entity.getAreaCfg()!=null){
|
if(entity.getAreaCfg()!=null){
|
||||||
for(AreaIpCfg cfg:entity.getAreaCfg()){
|
for(AreaIpCfg cfg:entity.getAreaCfg()){
|
||||||
@@ -199,6 +201,7 @@ public class AvContentCfgService extends BaseService{
|
|||||||
//无效子配置后,再新增子配置
|
//无效子配置后,再新增子配置
|
||||||
avContentCfgDao.deleteAvVoipIp(entity);
|
avContentCfgDao.deleteAvVoipIp(entity);
|
||||||
stringCfgDao.deleteSubscribeIdCfgByCfgIndexInfo(entity);
|
stringCfgDao.deleteSubscribeIdCfgByCfgIndexInfo(entity);
|
||||||
|
avContentCfgDao.deleteAvVoipAccountCfg(entity);
|
||||||
AreaIpCfg area = new AreaIpCfg();
|
AreaIpCfg area = new AreaIpCfg();
|
||||||
area.setCompileId(entity.getCompileId());
|
area.setCompileId(entity.getCompileId());
|
||||||
area.setFunctionId(entity.getFunctionId());
|
area.setFunctionId(entity.getFunctionId());
|
||||||
@@ -219,6 +222,12 @@ public class AvContentCfgService extends BaseService{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(entity.getVoipAccounts()!=null&&entity.getVoipAccounts().size()>0){
|
||||||
|
for (AvVoipAccountCfg voipAccount : entity.getVoipAccounts()) {
|
||||||
|
entity.setVoipAccount(voipAccount);
|
||||||
|
avContentCfgDao.insertAvVoipAccountCfg(entity);
|
||||||
|
}
|
||||||
|
}
|
||||||
//保存区域IP信息
|
//保存区域IP信息
|
||||||
if(entity.getAreaCfg()!=null){
|
if(entity.getAreaCfg()!=null){
|
||||||
for(AreaIpCfg cfg:entity.getAreaCfg()){
|
for(AreaIpCfg cfg:entity.getAreaCfg()){
|
||||||
@@ -230,7 +239,7 @@ public class AvContentCfgService extends BaseService{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
/*@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
||||||
public void saveOrUpdateAvVoipAccount(CfgIndexInfo entity){
|
public void saveOrUpdateAvVoipAccount(CfgIndexInfo entity){
|
||||||
//设置区域运营商信息
|
//设置区域运营商信息
|
||||||
setAreaEffectiveIds(entity);
|
setAreaEffectiveIds(entity);
|
||||||
@@ -311,7 +320,7 @@ public class AvContentCfgService extends BaseService{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -333,6 +342,7 @@ public class AvContentCfgService extends BaseService{
|
|||||||
entity.setEditTime(new Date());
|
entity.setEditTime(new Date());
|
||||||
avContentCfgDao.updateAvVoipIp(entity);
|
avContentCfgDao.updateAvVoipIp(entity);
|
||||||
avContentCfgDao.updateAvVoipKeywordCfgt(entity);
|
avContentCfgDao.updateAvVoipKeywordCfgt(entity);
|
||||||
|
avContentCfgDao.updateAvVoipAccount(entity);
|
||||||
avContentCfgDao.updateCfgIndexInfo(entity);
|
avContentCfgDao.updateCfgIndexInfo(entity);
|
||||||
AreaIpCfg areaIpCfg=new AreaIpCfg();
|
AreaIpCfg areaIpCfg=new AreaIpCfg();
|
||||||
BeanUtils.copyProperties(entity, areaIpCfg);
|
BeanUtils.copyProperties(entity, areaIpCfg);
|
||||||
@@ -345,7 +355,7 @@ public class AvContentCfgService extends BaseService{
|
|||||||
* @param isValid
|
* @param isValid
|
||||||
* @param ids compileIds
|
* @param ids compileIds
|
||||||
*/
|
*/
|
||||||
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
/* @Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
||||||
public void updateAvVoipAccountValid(Integer isAudit,Integer isValid,String compileIds,Integer functionId){
|
public void updateAvVoipAccountValid(Integer isAudit,Integer isValid,String compileIds,Integer functionId){
|
||||||
String[] idArray = compileIds.split(",");
|
String[] idArray = compileIds.split(",");
|
||||||
for(String id :idArray){
|
for(String id :idArray){
|
||||||
@@ -363,7 +373,7 @@ public class AvContentCfgService extends BaseService{
|
|||||||
BeanUtils.copyProperties(entity, areaIpCfg);
|
BeanUtils.copyProperties(entity, areaIpCfg);
|
||||||
areaIpCfgDao.updateAreaIpCfgValid(areaIpCfg);
|
areaIpCfgDao.updateAreaIpCfgValid(areaIpCfg);
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param isAudit
|
* @param isAudit
|
||||||
@@ -372,16 +382,17 @@ public class AvContentCfgService extends BaseService{
|
|||||||
* @param functionId
|
* @param functionId
|
||||||
*/
|
*/
|
||||||
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
||||||
public void auditAvVoip(Integer isAudit,Integer isValid,Integer functionId,String compileId,Date auditTime){
|
public void auditAvVoip(Integer isAudit,Integer isValid,Integer functionId,String id,Date auditTime){
|
||||||
CfgIndexInfo entity = new CfgIndexInfo();
|
CfgIndexInfo entity = new CfgIndexInfo();
|
||||||
|
|
||||||
List<CfgIndexInfo> list = new ArrayList();
|
List<CfgIndexInfo> list = new ArrayList();
|
||||||
List<AvVoipIpCfg> voipIpList = new ArrayList();
|
List<AvVoipIpCfg> voipIpList = new ArrayList();
|
||||||
List <NtcSubscribeIdCfg> ntcList = new ArrayList();
|
List <NtcSubscribeIdCfg> ntcList = new ArrayList();
|
||||||
|
List<AvVoipAccountCfg> accountList = new ArrayList();
|
||||||
List<AreaIpCfg> areaIpCfgList = new ArrayList();
|
List<AreaIpCfg> areaIpCfgList = new ArrayList();
|
||||||
|
|
||||||
CfgIndexInfo searchCfg=new CfgIndexInfo();
|
CfgIndexInfo searchCfg=new CfgIndexInfo();
|
||||||
searchCfg.setCompileId(Integer.parseInt(compileId));
|
searchCfg.setCfgId(Long.parseLong(id));
|
||||||
|
|
||||||
entity = avContentCfgDao.getCfgIndexInfo(searchCfg);
|
entity = avContentCfgDao.getCfgIndexInfo(searchCfg);
|
||||||
entity.setIsAudit(isAudit);
|
entity.setIsAudit(isAudit);
|
||||||
@@ -390,6 +401,7 @@ public class AvContentCfgService extends BaseService{
|
|||||||
entity.setAuditTime(auditTime);
|
entity.setAuditTime(auditTime);
|
||||||
|
|
||||||
avContentCfgDao.updateAvVoipIp(entity);
|
avContentCfgDao.updateAvVoipIp(entity);
|
||||||
|
avContentCfgDao.updateAvVoipAccount(entity);
|
||||||
avContentCfgDao.updateAvVoipKeywordCfgt(entity);
|
avContentCfgDao.updateAvVoipKeywordCfgt(entity);
|
||||||
|
|
||||||
avContentCfgDao.updateCfgIndexInfo(entity);
|
avContentCfgDao.updateCfgIndexInfo(entity);
|
||||||
@@ -398,6 +410,7 @@ public class AvContentCfgService extends BaseService{
|
|||||||
areaIpCfgDao.updateAreaIpCfg(areaIpCfg);
|
areaIpCfgDao.updateAreaIpCfg(areaIpCfg);
|
||||||
|
|
||||||
voipIpList=avContentCfgDao.findVoipIpCfgList(entity);
|
voipIpList=avContentCfgDao.findVoipIpCfgList(entity);
|
||||||
|
accountList=avContentCfgDao.findVoipAccountCfgList(entity);
|
||||||
ntcList=stringCfgDao.findSubscribeIdCfgListByCfgIndexInfo(entity);
|
ntcList=stringCfgDao.findSubscribeIdCfgListByCfgIndexInfo(entity);
|
||||||
areaIpCfgList=areaIpCfgDao.getByCompileId(entity.getCompileId());
|
areaIpCfgList=areaIpCfgDao.getByCompileId(entity.getCompileId());
|
||||||
|
|
||||||
@@ -423,6 +436,11 @@ public class AvContentCfgService extends BaseService{
|
|||||||
groupRelationList=ntcMap.get("groupList");
|
groupRelationList=ntcMap.get("groupList");
|
||||||
strRegionList=ntcMap.get("dstList");
|
strRegionList=ntcMap.get("dstList");
|
||||||
}
|
}
|
||||||
|
if(!StringUtil.isEmpty(accountList)){
|
||||||
|
Map<String,List> accountMap = cfgConvert(strRegionList,accountList,2,entity,groupRelationList);
|
||||||
|
groupRelationList=accountMap.get("groupList");
|
||||||
|
strRegionList=accountMap.get("dstList");
|
||||||
|
}
|
||||||
if(!StringUtil.isEmpty(areaIpCfgList)){
|
if(!StringUtil.isEmpty(areaIpCfgList)){
|
||||||
Map<String,List> areaMap = cfgConvert(areaIpRegionList,areaIpCfgList,1,entity,groupRelationList);
|
Map<String,List> areaMap = cfgConvert(areaIpRegionList,areaIpCfgList,1,entity,groupRelationList);
|
||||||
groupRelationList=areaMap.get("groupList");
|
groupRelationList=areaMap.get("groupList");
|
||||||
@@ -452,10 +470,10 @@ public class AvContentCfgService extends BaseService{
|
|||||||
maatBean.setOpAction(Constants.INSERT_ACTION);
|
maatBean.setOpAction(Constants.INSERT_ACTION);
|
||||||
//调用服务接口下发配置数据
|
//调用服务接口下发配置数据
|
||||||
String json=gsonToJson(maatBean);
|
String json=gsonToJson(maatBean);
|
||||||
logger.info("voip IP配置下发配置参数:"+json);
|
logger.info("voip 配置下发配置参数:"+json);
|
||||||
//调用服务接口下发配置
|
//调用服务接口下发配置
|
||||||
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
|
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
|
||||||
logger.info("voip IP配置下发响应信息:"+result.getMsg());
|
logger.info("voip 配置下发响应信息:"+result.getMsg());
|
||||||
|
|
||||||
}else if(isAudit==3){
|
}else if(isAudit==3){
|
||||||
maatCfg.setCompileId(entity.getCompileId());
|
maatCfg.setCompileId(entity.getCompileId());
|
||||||
@@ -469,15 +487,15 @@ public class AvContentCfgService extends BaseService{
|
|||||||
maatBean.setOpAction(Constants.UPDATE_ACTION);
|
maatBean.setOpAction(Constants.UPDATE_ACTION);
|
||||||
//调用服务接口取消配置
|
//调用服务接口取消配置
|
||||||
String json=gsonToJson(maatBean);
|
String json=gsonToJson(maatBean);
|
||||||
logger.info("voip IP配置下发配置参数:"+json);
|
logger.info("voip 配置下发配置参数:"+json);
|
||||||
//调用服务接口下发配置
|
//调用服务接口下发配置
|
||||||
ToMaatResult result = ConfigServiceUtil.put(json,1);
|
ToMaatResult result = ConfigServiceUtil.put(json,1);
|
||||||
logger.info("voip IP配置取消配置响应信息:"+result.getMsg());
|
logger.info("voip 配置取消配置响应信息:"+result.getMsg());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
/********************************voip业务*********************************/
|
/********************************voip account业务*********************************/
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param isAudit
|
* @param isAudit
|
||||||
@@ -485,7 +503,7 @@ public class AvContentCfgService extends BaseService{
|
|||||||
* @param ids 编译Id
|
* @param ids 编译Id
|
||||||
* @param functionId
|
* @param functionId
|
||||||
*/
|
*/
|
||||||
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
/* @Transactional(readOnly=false,rollbackFor=RuntimeException.class)
|
||||||
public void auditAvVoipAccount(Integer isAudit,Integer isValid,Integer functionId,String compileId,Date auditTime){
|
public void auditAvVoipAccount(Integer isAudit,Integer isValid,Integer functionId,String compileId,Date auditTime){
|
||||||
CfgIndexInfo entity = new CfgIndexInfo();
|
CfgIndexInfo entity = new CfgIndexInfo();
|
||||||
|
|
||||||
@@ -591,7 +609,7 @@ public class AvContentCfgService extends BaseService{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}*/
|
||||||
/********************************voip业务*********************************/
|
/********************************voip业务*********************************/
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -37,17 +37,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
submitHandler : function(form) {
|
submitHandler : function(form) {
|
||||||
|
|
||||||
var flag = true;
|
var flag = true;
|
||||||
var subscribeId=0;
|
|
||||||
//存在隐藏的subscribeId,不算进域配置
|
//存在隐藏的subscribeId,不算进域配置
|
||||||
if($(".boxSolid.hidden").hasClass("subscribeId")){
|
if($(".boxSolid[class~='subscribeId']").length>0){
|
||||||
subscribeId=1;
|
if($(".boxSolid.hidden[class~='subscribeId']").is(":hidden")){
|
||||||
}
|
if(($(".boxSolid").length) == ($(".boxSolid.hidden").length)){
|
||||||
//代表所有业务都隐藏了,提示必须增加一种业务数据
|
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
||||||
if(($(".boxSolid").length - 1) == ($(".boxSolid.hidden").length - subscribeId)){
|
return;
|
||||||
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
}
|
||||||
return;
|
}
|
||||||
|
if(!$(".boxSolid.hidden[class~='subscribeId']").is(":hidden")){
|
||||||
|
if(($(".boxSolid").length) == ($(".boxSolid.hidden").length) + 1){
|
||||||
|
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//代表所有业务都隐藏了,提示必须增加一种业务数据
|
||||||
|
}else{
|
||||||
|
if(($(".boxSolid").length) == ($(".boxSolid.hidden").length)){
|
||||||
|
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//代表所有区域都隐藏了,提示必须增加个区域信息
|
//代表所有区域都隐藏了,提示必须增加个区域信息
|
||||||
if($("input[name='isAreaEffective']:checked").val()==1 && $(".container-fluid:visible").size()==0){
|
if($("input[name='isAreaEffective']:checked").val()==1 && $(".container-fluid:visible").size()==0){
|
||||||
@@ -134,7 +144,7 @@
|
|||||||
<span id="tagsinputTip" style="display:none"><spring:message code="multiple_keywords_tip"></spring:message></span>
|
<span id="tagsinputTip" style="display:none"><spring:message code="multiple_keywords_tip"></spring:message></span>
|
||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
<h3 class="page-title">
|
<h3 class="page-title">
|
||||||
<spring:message code="av_voip_ip_control"></spring:message>
|
<spring:message code="av_voip_control"></spring:message>
|
||||||
</h3>
|
</h3>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@@ -228,6 +238,7 @@
|
|||||||
|
|
||||||
<c:set var="ipCfgIndex" value="0"></c:set>
|
<c:set var="ipCfgIndex" value="0"></c:set>
|
||||||
<c:set var="strCfgIndex" value="0"></c:set>
|
<c:set var="strCfgIndex" value="0"></c:set>
|
||||||
|
<c:set var="accountCfgIndex" value="0"></c:set>
|
||||||
<c:forEach items="${regionList}" var="region" varStatus="status">
|
<c:forEach items="${regionList}" var="region" varStatus="status">
|
||||||
<c:if test="${region.regionType eq 1 }">
|
<c:if test="${region.regionType eq 1 }">
|
||||||
<!--ip info-->
|
<!--ip info-->
|
||||||
@@ -260,7 +271,49 @@
|
|||||||
</c:choose>
|
</c:choose>
|
||||||
<!--/ip info-->
|
<!--/ip info-->
|
||||||
</c:if>
|
</c:if>
|
||||||
|
|
||||||
<c:if test="${region.regionType eq 2 }">
|
<c:if test="${region.regionType eq 2 }">
|
||||||
|
<c:if test="${region.configServiceType eq 'voip_account' }">
|
||||||
|
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
|
||||||
|
<h4 class="form-section">
|
||||||
|
<spring:message code="${region.configRegionValue}" />
|
||||||
|
<small> <span
|
||||||
|
class="glyphicon glyphicon-plus ${tabName}Add"
|
||||||
|
onClick="addContent(this,'${tabName}')" title="add"></span></small>
|
||||||
|
</h4>
|
||||||
|
<c:set var="cfgName" value="voipAccounts[${accountCfgIndex}]"></c:set>
|
||||||
|
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${fn:length(_cfg.voipAccounts)>0}">
|
||||||
|
<c:set var="isBreak" value="false" ></c:set>
|
||||||
|
<c:forEach items="${_cfg.voipAccounts}" var="cfg">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${region.configRegionValue eq cfg.cfgType and !isBreak}">
|
||||||
|
<div class="row boxSolid ${tabName}${status.index}">
|
||||||
|
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||||
|
</div>
|
||||||
|
<c:set var="isBreak" value="true" ></c:set>
|
||||||
|
<c:set var="accountCfgIndex" value="${accountCfgIndex+1 }"></c:set>
|
||||||
|
</c:when>
|
||||||
|
</c:choose>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${!isBreak}">
|
||||||
|
<div class="row boxSolid ${tabName}${status.index} hidden disabled">
|
||||||
|
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||||
|
</div>
|
||||||
|
<c:set var="accountCfgIndex" value="${accountCfgIndex+1 }"></c:set>
|
||||||
|
</c:if>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<div class="row boxSolid ${tabName}${status.index} hidden disabled">
|
||||||
|
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
||||||
|
</div>
|
||||||
|
<c:set var="accountCfgIndex" value="${accountCfgIndex+1 }"></c:set>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</c:if>
|
||||||
|
<!-- 关键字 -->
|
||||||
|
<c:if test="${region.configServiceType eq 'subscribe_id' }">
|
||||||
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
|
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
|
||||||
<h4 class="form-section">
|
<h4 class="form-section">
|
||||||
<spring:message code="${region.configRegionValue}" />
|
<spring:message code="${region.configRegionValue}" />
|
||||||
@@ -269,7 +322,6 @@
|
|||||||
onClick="addContent(this,'${tabName}')" title="add"></span></small>
|
onClick="addContent(this,'${tabName}')" title="add"></span></small>
|
||||||
</h4>
|
</h4>
|
||||||
<c:set var="cfgName" value="ntcSubscribeIdCfgList[${strCfgIndex}]"></c:set>
|
<c:set var="cfgName" value="ntcSubscribeIdCfgList[${strCfgIndex}]"></c:set>
|
||||||
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${fn:length(_cfg.ntcSubscribeIdCfgList)>0}">
|
<c:when test="${fn:length(_cfg.ntcSubscribeIdCfgList)>0}">
|
||||||
<c:set var="isBreak" value="false" ></c:set>
|
<c:set var="isBreak" value="false" ></c:set>
|
||||||
@@ -299,6 +351,7 @@
|
|||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
</c:if>
|
</c:if>
|
||||||
|
</c:if>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<br>
|
<br>
|
||||||
<%@include file="/WEB-INF/include/form/areaInfo.jsp"%>
|
<%@include file="/WEB-INF/include/form/areaInfo.jsp"%>
|
||||||
|
|||||||
@@ -14,25 +14,28 @@
|
|||||||
.ready(
|
.ready(
|
||||||
function() {
|
function() {
|
||||||
$(".glyphicon-plus").first().click();
|
$(".glyphicon-plus").first().click();
|
||||||
|
/* $("#cancel").on("click", function() {
|
||||||
|
window.history.back();
|
||||||
|
});*/
|
||||||
$(".action").on("change", function() {
|
$(".action").on("change", function() {
|
||||||
$("#serviceId").val($(this).attr("serviceId"));
|
$("#serviceId").val($(this).attr("serviceId"));
|
||||||
$("#protocolId").val($(this).attr("protocolId"));
|
$("#protocolId").val($(this).attr("protocolId"));
|
||||||
var action=$("input[name='action']:checked").val();
|
var action=$("input[name='action']:checked").val();
|
||||||
switchAction(action);
|
switchAction(action);
|
||||||
});
|
});
|
||||||
$("#serviceId").val($(".action:checked").attr("serviceId"));
|
$("#serviceId").val($(".action:checked").attr("serviceId"));
|
||||||
$("#protocolId").val($(".action:checked").attr("protocolId"));
|
$("#protocolId").val($(".action:checked").attr("protocolId"));
|
||||||
$("#cfgFrom").validate(
|
$("#cfgFrom").validate(
|
||||||
{ errorPlacement : function(error, element) {
|
{ errorPlacement : function(error, element) {
|
||||||
if($(element).parents().hasClass("tagsinput")){
|
if($(element).parents().hasClass("tagsinput")){
|
||||||
$(element).parents(".col-md-6").next("div").append(error);
|
$(element).parents(".col-md-6").next("div").append(error);
|
||||||
}else{
|
}else{
|
||||||
$(element).parents(".form-group").find(
|
$(element).parents(".form-group").find(
|
||||||
"div[for='"
|
"div[for='"
|
||||||
+ element.attr("name")
|
+ element.attr("name")
|
||||||
+ "']").append(error);
|
+ "']").append(error);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
submitHandler : function(form) {
|
submitHandler : function(form) {
|
||||||
|
|
||||||
var flag = true;
|
var flag = true;
|
||||||
@@ -131,7 +134,7 @@
|
|||||||
<span id="tagsinputTip" style="display:none"><spring:message code="multiple_keywords_tip"></spring:message></span>
|
<span id="tagsinputTip" style="display:none"><spring:message code="multiple_keywords_tip"></spring:message></span>
|
||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
<h3 class="page-title">
|
<h3 class="page-title">
|
||||||
<spring:message code="av_voip_account_control"></spring:message>
|
<spring:message code="av_voip_ip_control"></spring:message>
|
||||||
</h3>
|
</h3>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@@ -149,7 +152,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="portlet-body form">
|
<div class="portlet-body form">
|
||||||
<!-- BEGIN FORM-->
|
<!-- BEGIN FORM-->
|
||||||
<form id="cfgFrom" action="${ctx}/ntc/av/saveAccountVoip"
|
<form id="cfgFrom" action="${ctx}/ntc/av/saveVoip"
|
||||||
method="post" class="form-horizontal">
|
method="post" class="form-horizontal">
|
||||||
<input type="hidden" name="cfgId" value="${_cfg.cfgId}">
|
<input type="hidden" name="cfgId" value="${_cfg.cfgId}">
|
||||||
<input type="hidden" name="compileId" value="${_cfg.compileId}">
|
<input type="hidden" name="compileId" value="${_cfg.compileId}">
|
||||||
@@ -158,6 +161,8 @@
|
|||||||
value="${_cfg.serviceId}">
|
value="${_cfg.serviceId}">
|
||||||
|
|
||||||
<div class="form-body">
|
<div class="form-body">
|
||||||
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@@ -169,25 +174,24 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 动作 -->
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="control-label col-md-3"><spring:message
|
<label class="control-label col-md-3"><spring:message code="action" /></label>
|
||||||
code="action" /></label>
|
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<c:forEach items="${serviceList}" var="service"
|
<c:forEach items="${serviceList}" var="service"
|
||||||
varStatus="satus">
|
varStatus="satus">
|
||||||
<label class="radio-inline"> <c:if
|
<label class="radio-inline"> <c:if test="${_cfg.functionId eq service.functionId}">
|
||||||
test="${_cfg.functionId eq service.functionId}">
|
<input type="radio" name="action" serviceId="${service.serviceId }"
|
||||||
<input type="radio" name="action"
|
|
||||||
serviceId="${service.serviceId }"
|
|
||||||
protocolId="${service.protocolId }"
|
protocolId="${service.protocolId }"
|
||||||
|
regionCode="${service.regionCode }"
|
||||||
value="${service.action }" class="required action"
|
value="${service.action }" class="required action"
|
||||||
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
<c:if test="${_cfg.action==service.action || (_cfg.action==null && satus.index==0)}">checked</c:if>>
|
||||||
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
<c:forEach items="${fns:getDictList('SERVICE_ACTION') }" var="dict">
|
||||||
<c:if test="${dict.itemCode eq service.action }">
|
<c:if test="${dict.itemCode eq service.action }">
|
||||||
<spring:message code="${dict.itemValue }"/>
|
<spring:message code="${dict.itemValue }"/>
|
||||||
</c:if>
|
</c:if>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</c:if>
|
</c:if>
|
||||||
</label>
|
</label>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
@@ -195,8 +199,9 @@
|
|||||||
<div for="action"></div>
|
<div for="action"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- dolog begin-->
|
<!-- dolog begin-->
|
||||||
<div class="row doLog">
|
<div class="row doLog">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@@ -214,56 +219,48 @@
|
|||||||
</label>
|
</label>
|
||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
|
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- dolog end-->
|
<!-- dolog end-->
|
||||||
<c:set var="accountCfgIndex" value="0"></c:set>
|
|
||||||
|
<c:set var="ipCfgIndex" value="0"></c:set>
|
||||||
<c:set var="strCfgIndex" value="0"></c:set>
|
<c:set var="strCfgIndex" value="0"></c:set>
|
||||||
<c:forEach items="${regionList}" var="region" varStatus="status">
|
<c:forEach items="${regionList}" var="region" varStatus="status">
|
||||||
<c:if test="${region.regionType eq 2 }">
|
<c:if test="${region.regionType eq 1 }">
|
||||||
<c:if test="${region.configServiceType eq 'voip_account' }">
|
<!--ip info-->
|
||||||
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
|
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
|
||||||
<h4 class="form-section">
|
<h4 class="form-section">
|
||||||
<spring:message code="${region.configRegionValue}" />
|
<spring:message code="${region.configRegionValue}" />
|
||||||
<small> <span
|
<small> <span
|
||||||
class="glyphicon glyphicon-plus ${tabName}Add"
|
class="glyphicon glyphicon-plus ${tabName}Add"
|
||||||
onClick="addContent(this,'${tabName}')" title="add"></span></small>
|
onClick="addContent(this,'${tabName}')" title="add"></span></small>
|
||||||
</h4>
|
</h4>
|
||||||
<c:set var="cfgName" value="voipAccounts[${accountCfgIndex}]"></c:set>
|
<c:set var="cfgName" value="voipIps[${ipCfgIndex}]"></c:set>
|
||||||
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
|
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${fn:length(_cfg.voipAccounts)>0}">
|
<c:when test="${fn:length(_cfg.voipIps)>0 and ipCfgIndex<fn:length(_cfg.voipIps) }">
|
||||||
<c:set var="isBreak" value="false" ></c:set>
|
<c:forEach items="${_cfg.voipIps}" var="ipPort">
|
||||||
<c:forEach items="${_cfg.voipAccounts}" var="cfg">
|
<c:if test="${region.configRegionValue eq ipPort.cfgType }">
|
||||||
<c:choose>
|
<div class="row boxSolid ${tabName}${status.index}">
|
||||||
<c:when test="${region.configRegionValue eq cfg.cfgType and !isBreak}">
|
<%@include file="/WEB-INF/views/cfg/ipCfgForm.jsp"%>
|
||||||
<div class="row boxSolid ${tabName}${status.index}">
|
</div>
|
||||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
<c:set var="ipCfgIndex" value="${ipCfgIndex+1}"></c:set>
|
||||||
</div>
|
|
||||||
<c:set var="isBreak" value="true" ></c:set>
|
|
||||||
<c:set var="accountCfgIndex" value="${accountCfgIndex+1 }"></c:set>
|
|
||||||
</c:when>
|
|
||||||
</c:choose>
|
|
||||||
</c:forEach>
|
|
||||||
<c:if test="${!isBreak}">
|
|
||||||
<div class="row boxSolid ${tabName}${status.index} hidden disabled">
|
|
||||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
|
||||||
</div>
|
|
||||||
<c:set var="accountCfgIndex" value="${accountCfgIndex+1 }"></c:set>
|
|
||||||
</c:if>
|
</c:if>
|
||||||
|
</c:forEach>
|
||||||
</c:when>
|
</c:when>
|
||||||
<c:otherwise>
|
<c:otherwise>
|
||||||
<div class="row boxSolid ${tabName}${status.index} hidden disabled">
|
<div class="row boxSolid ${tabName}${status.index} hidden disabled">
|
||||||
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
|
<%@include file="/WEB-INF/views/cfg/ipCfgForm.jsp"%>
|
||||||
</div>
|
</div>
|
||||||
<c:set var="accountCfgIndex" value="${accountCfgIndex+1 }"></c:set>
|
<c:set var="ipCfgIndex" value="${ipCfgIndex+1 }"></c:set>
|
||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
|
<!--/ip info-->
|
||||||
</c:if>
|
</c:if>
|
||||||
<!-- 关键字 -->
|
<c:if test="${region.regionType eq 2 }">
|
||||||
<c:if test="${region.configServiceType eq 'subscribe_id' }">
|
|
||||||
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
|
<c:set var="tabName" value="${region.configRegionValue}Tab"></c:set>
|
||||||
<h4 class="form-section">
|
<h4 class="form-section">
|
||||||
<spring:message code="${region.configRegionValue}" />
|
<spring:message code="${region.configRegionValue}" />
|
||||||
@@ -272,6 +269,7 @@
|
|||||||
onClick="addContent(this,'${tabName}')" title="add"></span></small>
|
onClick="addContent(this,'${tabName}')" title="add"></span></small>
|
||||||
</h4>
|
</h4>
|
||||||
<c:set var="cfgName" value="ntcSubscribeIdCfgList[${strCfgIndex}]"></c:set>
|
<c:set var="cfgName" value="ntcSubscribeIdCfgList[${strCfgIndex}]"></c:set>
|
||||||
|
<%-- <c:set var="regionValue" value="${region.configRegionValue}"></c:set> --%>
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${fn:length(_cfg.ntcSubscribeIdCfgList)>0}">
|
<c:when test="${fn:length(_cfg.ntcSubscribeIdCfgList)>0}">
|
||||||
<c:set var="isBreak" value="false" ></c:set>
|
<c:set var="isBreak" value="false" ></c:set>
|
||||||
@@ -301,7 +299,6 @@
|
|||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
</c:if>
|
</c:if>
|
||||||
</c:if>
|
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<br>
|
<br>
|
||||||
<%@include file="/WEB-INF/include/form/areaInfo.jsp"%>
|
<%@include file="/WEB-INF/include/form/areaInfo.jsp"%>
|
||||||
@@ -3,9 +3,6 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title><spring:message code="${cfgName}"></spring:message></title>
|
<title><spring:message code="${cfgName}"></spring:message></title>
|
||||||
<link href="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/css/bootstrap-select.min.css" rel="stylesheet"/>
|
|
||||||
<link href="${pageContext.request.contextPath}/static/global/plugins/treeTable/themes/vsStyle/treeTable.min.css" rel="stylesheet" type="text/css" />
|
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/bootstrap-select.min.js"></script>
|
|
||||||
<c:choose>
|
<c:choose>
|
||||||
<c:when test="${cookie.Language.value eq 'zh_CN'}">
|
<c:when test="${cookie.Language.value eq 'zh_CN'}">
|
||||||
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-zh_CN.min.js"></script>
|
<script src="${pageContext.request.contextPath}/static/global/plugins/bootstrap-select/js/i18n/defaults-zh_CN.min.js"></script>
|
||||||
@@ -27,6 +24,8 @@
|
|||||||
$("#intype").val("${cfg.cfgDesc}");
|
$("#intype").val("${cfg.cfgDesc}");
|
||||||
}else if("${cfg.voipIp.srcIpAddress}"){
|
}else if("${cfg.voipIp.srcIpAddress}"){
|
||||||
$("#intype").val("${cfg.voipIp.srcIpAddress}");
|
$("#intype").val("${cfg.voipIp.srcIpAddress}");
|
||||||
|
}else if("${cfg.voipAccount.cfgKeywords}"){
|
||||||
|
$("#intype").val("${cfg.voipAccount.cfgKeywords}");
|
||||||
}else if("${cfg.compileId}"){
|
}else if("${cfg.compileId}"){
|
||||||
$("#intype").val("${cfg.compileId}");
|
$("#intype").val("${cfg.compileId}");
|
||||||
}else if("${cfg.voipIp.srcPort}"){
|
}else if("${cfg.voipIp.srcPort}"){
|
||||||
@@ -64,10 +63,8 @@
|
|||||||
var index=$(this).attr("id").replace("open","");
|
var index=$(this).attr("id").replace("open","");
|
||||||
$("#"+openId).hide();
|
$("#"+openId).hide();
|
||||||
$("#"+closeId).show();
|
$("#"+closeId).show();
|
||||||
var compileId=$(this).attr("compileId");
|
//var compileId=$(this).attr("compileId");
|
||||||
var cfgId=$(this).attr("cfgId");
|
var cfgId=$(this).attr("cfgId");
|
||||||
var hasIp=false;
|
|
||||||
var hasSubscribe=false;
|
|
||||||
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
|
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
|
||||||
$("#"+openId).parent().parent().next("tr").show();
|
$("#"+openId).parent().parent().next("tr").show();
|
||||||
}else{
|
}else{
|
||||||
@@ -75,305 +72,22 @@
|
|||||||
type:'post',
|
type:'post',
|
||||||
async:false,
|
async:false,
|
||||||
url:'${ctx}/ntc/av/ajaxVoipIpInfo',
|
url:'${ctx}/ntc/av/ajaxVoipIpInfo',
|
||||||
data:{"compileId":compileId,"cfgId":cfgId},
|
data:{"cfgId":cfgId,"index":index},
|
||||||
|
dataType:"html",
|
||||||
success:function(data){
|
success:function(data){
|
||||||
var voipIpCfgTab="<tr class='child'>"+
|
var subTab="<tr class='child'>"+
|
||||||
"<td style='border-right: 1px solid #FFFFFF;'>"+
|
"<td style='border-right: 1px solid #FFFFFF;'>"+
|
||||||
"<input type='checkbox' hidden='hidden'/>"+
|
"<input type='checkbox' hidden='hidden'/>"+
|
||||||
"</td>"+
|
"</td>"+
|
||||||
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
|
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
|
||||||
var html="";
|
var html="";
|
||||||
html+="<div class='row'>";
|
html+="<div class='row'>";
|
||||||
if(data.subscribe.length >0){
|
html = html+data;
|
||||||
hasSubscribe=true;
|
subTab=subTab+html;
|
||||||
html+="<div id='subscribeTitle"+index+"' onclick='switchInfo(\"ip\","+index+")' class='col-md-1 tabInfo badge-info' >";
|
subTab+="</td>";
|
||||||
html+="<spring:message code='NTC_SUBSCRIBE_ID'/>";
|
subTab+="</tr>";
|
||||||
html+="<i id='subscribeDown"+index+"' class='fa fa-angle-double-down '></i>";
|
$("#"+openId).parent().parent().after(subTab);
|
||||||
html+="<i id='subscribeUp"+index+"' class='fa fa-angle-double-up ' style='display:none'></i>";
|
$("div[name='tabTitle"+index+"']").eq(0).click();
|
||||||
html+="</div>";
|
|
||||||
}
|
|
||||||
if(data.ip.length >0){
|
|
||||||
hasIp=true;
|
|
||||||
html+="<div id='ipTitle"+index+"' onclick='switchInfo(\"subscribe\","+index+")' class='col-md-1 tabInfo' >";
|
|
||||||
html+="<spring:message code='av_voip_ip_title'/>";
|
|
||||||
html+="<i id='ipDown"+index+"' class='fa fa-angle-double-down' style='display:none' ></i>";
|
|
||||||
html+="<i id='ipUp"+index+"' class='fa fa-angle-double-up '></i>";
|
|
||||||
html+="</div>";
|
|
||||||
}
|
|
||||||
|
|
||||||
html+="</div>";
|
|
||||||
//subscribe信息
|
|
||||||
if(data.subscribe.length > 0){
|
|
||||||
html+="<div id='subscribeInfo"+index+"' class='content content'>";
|
|
||||||
$.each(data.subscribe,function(index,item){
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-8'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label class='keyword-disinline'><spring:message code='NTC_SUBSCRIBE_ID'/>: ";
|
|
||||||
html+=item.cfgKeywords.replace(/\*\*\*and\*\*\*/g , " ");
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
|
|
||||||
if(item.isHexbin==0){
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_hex'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='not_hex'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_case_insenstive'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='case_insenstive'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
}
|
|
||||||
if(item.isHexbin==1){
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_hex'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='hex'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_case_insenstive'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='case_insenstive'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
}
|
|
||||||
if(item.isHexbin==2){
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_hex'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='not_hex'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_case_insenstive'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='case_senstive'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
}
|
|
||||||
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='expression_type'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
if(item.exprType==1){
|
|
||||||
html+="<spring:message code='and_expression'/>"
|
|
||||||
}
|
|
||||||
if(item.exprType==0){
|
|
||||||
html+="<spring:message code='null_expression'/>"
|
|
||||||
}
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='match_method'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
if(item.matchMethod==0){
|
|
||||||
html+="<spring:message code='substring_match'/>"
|
|
||||||
}
|
|
||||||
if(item.matchMethod==1){
|
|
||||||
html+="<spring:message code='right_match'/>"
|
|
||||||
}
|
|
||||||
if(item.matchMethod==2){
|
|
||||||
html+="<spring:message code='left_match'/>"
|
|
||||||
}
|
|
||||||
if(item.matchMethod==3){
|
|
||||||
html+="<spring:message code='exactly_match'/>"
|
|
||||||
}
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
/* if(index < (data.ip.length-1) && index != 0){
|
|
||||||
alert("下一行");
|
|
||||||
}
|
|
||||||
html+="<h5 class='page-header'></h5>";*/
|
|
||||||
})
|
|
||||||
html+="</div>";
|
|
||||||
}
|
|
||||||
//ip信息
|
|
||||||
if(data.ip.length >0){
|
|
||||||
html+="<div id='ipInfo"+index+"' class='content' style='display:none'>";
|
|
||||||
$.each(data.ip,function(index,item){
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='ip_type'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
if(item.ipType==4){
|
|
||||||
html+="<spring:message code='ipv4'/>";
|
|
||||||
}
|
|
||||||
if(item.ipType==6){
|
|
||||||
html+="<spring:message code='ipv6'/>";
|
|
||||||
}
|
|
||||||
if(item.ipType==46){
|
|
||||||
html+="<spring:message code='4over6'/>";
|
|
||||||
}
|
|
||||||
if(item.ipType==64){
|
|
||||||
html+="<spring:message code='6over4'/>";
|
|
||||||
}
|
|
||||||
if(item.ipType==10){
|
|
||||||
html+="<spring:message code='all'/>";
|
|
||||||
}
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='ip_pattern'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
if(item.ipPattern==1){
|
|
||||||
html+="<spring:message code='ip_subnet'/>"
|
|
||||||
}
|
|
||||||
if(item.ipPattern==2){
|
|
||||||
html+="<spring:message code='ip_range'/>"
|
|
||||||
}
|
|
||||||
if(item.ipPattern==3){
|
|
||||||
html+="IP"
|
|
||||||
}
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='client_ip'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+=item.srcIpAddress;
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='port_pattern'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
if(item.portPattern==1){
|
|
||||||
html+="port"
|
|
||||||
}
|
|
||||||
if(item.portPattern==2){
|
|
||||||
html+="<spring:message code='port_mask'/>"
|
|
||||||
}
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='client_port'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+=item.srcPort;
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='server_ip'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+=item.destIpAddress;
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='server_port'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+=item.destPort;
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='direction'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
if(item.direction==0){
|
|
||||||
html+="<spring:message code='twoway'/>"
|
|
||||||
}
|
|
||||||
if(item.direction==1){
|
|
||||||
html+="<spring:message code='oneway'/>"
|
|
||||||
}
|
|
||||||
if(item.direction==2){
|
|
||||||
html+="<spring:message code='egress'/>"
|
|
||||||
}
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='protocol'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
if(item.protocol==6){
|
|
||||||
html+="TCP"
|
|
||||||
}
|
|
||||||
if(item.protocol==17){
|
|
||||||
html+="UDP"
|
|
||||||
}
|
|
||||||
if(item.protocol==0){
|
|
||||||
html+="<spring:message code='arbitrary'/>"
|
|
||||||
}
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
/* if(index < (data.ip.length-1) && index != 0){
|
|
||||||
alert("下一行");
|
|
||||||
}
|
|
||||||
html+="<h5 class='page-header'></h5>";*/
|
|
||||||
})
|
|
||||||
html+="</div>";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
voipIpCfgTab=voipIpCfgTab+html;
|
|
||||||
voipIpCfgTab+="</td>";
|
|
||||||
voipIpCfgTab+="</tr>";
|
|
||||||
$("#"+openId).parent().parent().after(voipIpCfgTab);
|
|
||||||
if(hasSubscribe && ! hasIp){
|
|
||||||
switchInfo("ip",index);
|
|
||||||
}
|
|
||||||
if(hasIp && ! hasSubscribe){
|
|
||||||
switchInfo("subscribe",index);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -389,41 +103,13 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function switchInfo(flag,index){
|
|
||||||
//关闭ip信息
|
|
||||||
if("ip" ==flag){
|
|
||||||
$("#ipInfo"+index).hide();
|
|
||||||
$("#downIp"+index).hide();
|
|
||||||
$("#ipTitle"+index).removeClass("badge-info");
|
|
||||||
$("#subscribeInfo"+index).show();
|
|
||||||
$("#subscribeDown"+index).show();
|
|
||||||
$("#subscribeUp"+index).hide();
|
|
||||||
$("#ipUp"+index).show();
|
|
||||||
$("#ipDown"+index).hide();
|
|
||||||
$("#subscribeTitle"+index).addClass("badge-info");
|
|
||||||
}else{
|
|
||||||
//关闭subscribe信息
|
|
||||||
$("#subscribeInfo"+index).hide();
|
|
||||||
$("#downsubscribe"+index).hide();
|
|
||||||
$("#subscribeTitle"+index).removeClass("badge-info");
|
|
||||||
$("#ipInfo"+index).show();
|
|
||||||
$("#ipDown"+index).show();
|
|
||||||
$("#subscribeUp"+index).show();
|
|
||||||
$("#subscribeDown"+index).hide();
|
|
||||||
$("#ipUp"+index).hide();
|
|
||||||
$("#ipTitle"+index).addClass("badge-info");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
<div class="theme-panel hidden-xs hidden-sm">
|
<div class="theme-panel hidden-xs hidden-sm">
|
||||||
<shiro:hasPermission name="avVoipIp:config">
|
<shiro:hasPermission name="avVoip:config">
|
||||||
<button type="button" class="btn btn-primary"
|
<button type="button" class="btn btn-primary"
|
||||||
onClick="javascript:window.location='${ctx}/ntc/av/voipForm?functionId=${cfg.functionId}'">
|
onClick="javascript:window.location='${ctx}/ntc/av/voipForm?functionId=${cfg.functionId}'">
|
||||||
<i class="fa fa-plus"></i>
|
<i class="fa fa-plus"></i>
|
||||||
@@ -432,7 +118,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h3 class="page-title">
|
<h3 class="page-title">
|
||||||
<spring:message code="av_voip_ip_control"/>
|
<spring:message code="av_voip_control"/>
|
||||||
</h3>
|
</h3>
|
||||||
<h5 class="page-header"></h5>
|
<h5 class="page-header"></h5>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@@ -470,6 +156,7 @@
|
|||||||
<form:option value="compileId"><spring:message code="cfg_id"/></form:option>
|
<form:option value="compileId"><spring:message code="cfg_id"/></form:option>
|
||||||
<form:option value="voipIp.srcIpAddress"><spring:message code="client_ip"/></form:option>
|
<form:option value="voipIp.srcIpAddress"><spring:message code="client_ip"/></form:option>
|
||||||
<form:option value="voipIp.srcPort"><spring:message code="client_port"/></form:option>
|
<form:option value="voipIp.srcPort"><spring:message code="client_port"/></form:option>
|
||||||
|
<form:option value="voipAccount.cfgKeywords"><spring:message code="av_voip_account_control"/></form:option>
|
||||||
<form:option value="action"><spring:message code="action"></spring:message></form:option>
|
<form:option value="action"><spring:message code="action"></spring:message></form:option>
|
||||||
<form:option value="ntcSubscribeIdCfg.cfgKeywords"><spring:message code="NTC_SUBSCRIBE_ID"/></form:option>
|
<form:option value="ntcSubscribeIdCfg.cfgKeywords"><spring:message code="NTC_SUBSCRIBE_ID"/></form:option>
|
||||||
<form:option value="isValid"><spring:message code="is_valid"></spring:message></form:option>
|
<form:option value="isValid"><spring:message code="is_valid"></spring:message></form:option>
|
||||||
@@ -500,12 +187,12 @@
|
|||||||
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/> <i class="fa fa-angle-double-down"></i></button>
|
<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>
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
<shiro:hasPermission name="avVoipIp:config">
|
<shiro:hasPermission name="avVoip:config">
|
||||||
<sys:delRow url="${ctx}/ntc/av/voipForm" id="contentTable" label="update"></sys:delRow>
|
<sys:delRow url="${ctx}/ntc/av/voipForm" id="contentTable" label="update"></sys:delRow>
|
||||||
<sys:delRow url="${ctx}/ntc/av/updateAvVoipValid?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
|
<sys:delRow url="${ctx}/ntc/av/updateAvVoipValid?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
|
||||||
</shiro:hasPermission>
|
</shiro:hasPermission>
|
||||||
<%-- <sys:delRow url="${ctx}/ntc/av/voipExport?functionId=${cfg.functionId }" id="contentTable" label="export" maxRow="${page.maxExportSize }"></sys:delRow> --%>
|
<%-- <sys:delRow url="${ctx}/ntc/av/voipExport?functionId=${cfg.functionId }" id="contentTable" label="export" maxRow="${page.maxExportSize }"></sys:delRow> --%>
|
||||||
<shiro:hasPermission name="avVoipIp:confirm">
|
<shiro:hasPermission name="avVoip:confirm">
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||||
<i class="fa fa-wrench"></i> <spring:message code="examine"></spring:message>
|
<i class="fa fa-wrench"></i> <spring:message code="examine"></spring:message>
|
||||||
@@ -651,8 +338,8 @@
|
|||||||
<!-- /筛选搜索内容栏 结束-->
|
<!-- /筛选搜索内容栏 结束-->
|
||||||
</form:form>
|
</form:form>
|
||||||
</div>
|
</div>
|
||||||
<sys:message content="${message}" />
|
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
|
<sys:message content="${message}" />
|
||||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
|
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -682,7 +369,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<span id="open${status.index}" class="" compileId="${indexCfg.compileId}" cfgId="${indexCfg.cfgId}"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
|
<span id="open${status.index}" class="" compileId="${indexCfg.compileId}" cfgId="${indexCfg.cfgId}"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
|
||||||
<input type="checkbox" class="i-checks child-checks" id="${indexCfg.cfgId}" compileId="${indexCfg.compileId}" value="${indexCfg.isAudit}">
|
<input type="checkbox" class="i-checks child-checks" compileId="${indexCfg.compileId}" id="${indexCfg.cfgId}" value="${indexCfg.isAudit}">
|
||||||
</td>
|
</td>
|
||||||
<td>${indexCfg.compileId }</td>
|
<td>${indexCfg.compileId }</td>
|
||||||
<td>${indexCfg.cfgDesc }</td>
|
<td>${indexCfg.cfgDesc }</td>
|
||||||
|
|||||||
@@ -25,12 +25,14 @@
|
|||||||
//搜索框提示语初始化
|
//搜索框提示语初始化
|
||||||
if("${cfg.cfgDesc}"){
|
if("${cfg.cfgDesc}"){
|
||||||
$("#intype").val("${cfg.cfgDesc}");
|
$("#intype").val("${cfg.cfgDesc}");
|
||||||
}else if("${cfg.ntcSubscribeIdCfg.cfgKeywords}"){
|
}else if("${cfg.voipIp.srcIpAddress}"){
|
||||||
$("#intype").val("${cfg.ntcSubscribeIdCfg.cfgKeywords}");
|
$("#intype").val("${cfg.voipIp.srcIpAddress}");
|
||||||
}else if("${cfg.compileId}"){
|
}else if("${cfg.compileId}"){
|
||||||
$("#intype").val("${cfg.compileId}");
|
$("#intype").val("${cfg.compileId}");
|
||||||
}else if("${cfg.voipAccount.cfgKeywords}"){
|
}else if("${cfg.voipIp.srcPort}"){
|
||||||
$("#intype").val("${cfg.voipAccount.cfgKeywords}");
|
$("#intype").val("${cfg.voipIp.srcPort}");
|
||||||
|
}else if("${cfg.ntcSubscribeIdCfg.cfgKeywords}"){
|
||||||
|
$("#intype").val("${cfg.ntcSubscribeIdCfg.cfgKeywords}");
|
||||||
}else{
|
}else{
|
||||||
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
|
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
|
||||||
}
|
}
|
||||||
@@ -64,15 +66,15 @@
|
|||||||
$("#"+closeId).show();
|
$("#"+closeId).show();
|
||||||
var compileId=$(this).attr("compileId");
|
var compileId=$(this).attr("compileId");
|
||||||
var cfgId=$(this).attr("cfgId");
|
var cfgId=$(this).attr("cfgId");
|
||||||
|
var hasIp=false;
|
||||||
var hasSubscribe=false;
|
var hasSubscribe=false;
|
||||||
var hasAccount=false;
|
|
||||||
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
|
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
|
||||||
$("#"+openId).parent().parent().next("tr").show();
|
$("#"+openId).parent().parent().next("tr").show();
|
||||||
}else{
|
}else{
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type:'post',
|
type:'post',
|
||||||
async:false,
|
async:false,
|
||||||
url:'${ctx}/ntc/av/ajaxVoipAccountInfo',
|
url:'${ctx}/ntc/av/ajaxVoipIpInfo',
|
||||||
data:{"compileId":compileId,"cfgId":cfgId},
|
data:{"compileId":compileId,"cfgId":cfgId},
|
||||||
success:function(data){
|
success:function(data){
|
||||||
var voipIpCfgTab="<tr class='child'>"+
|
var voipIpCfgTab="<tr class='child'>"+
|
||||||
@@ -82,77 +84,38 @@
|
|||||||
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
|
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
|
||||||
var html="";
|
var html="";
|
||||||
html+="<div class='row'>";
|
html+="<div class='row'>";
|
||||||
/* 订阅关键字 */
|
|
||||||
if(data.subscribe.length >0){
|
if(data.subscribe.length >0){
|
||||||
hasSubscribe=true;
|
hasSubscribe=true;
|
||||||
html+="<div id='subscribeTitle"+index+"' onclick='switchInfo(\"account\","+index+")' class='col-md-1 tabInfo badge-info' >";
|
html+="<div id='subscribeTitle"+index+"' onclick='switchInfo(\"ip\","+index+")' class='col-md-1 tabInfo badge-info' >";
|
||||||
html+="<spring:message code='NTC_SUBSCRIBE_ID'/>";
|
html+="<spring:message code='NTC_SUBSCRIBE_ID'/>";
|
||||||
html+="<i id='subscribeDown"+index+"' class='fa fa-angle-double-down '></i>";
|
html+="<i id='subscribeDown"+index+"' class='fa fa-angle-double-down '></i>";
|
||||||
html+="<i id='subscribeUp"+index+"' class='fa fa-angle-double-up ' style='display:none'></i>";
|
html+="<i id='subscribeUp"+index+"' class='fa fa-angle-double-up ' style='display:none'></i>";
|
||||||
html+="</div>";
|
html+="</div>";
|
||||||
}
|
}
|
||||||
|
if(data.ip.length >0){
|
||||||
if(data.account.length >0){
|
hasIp=true;
|
||||||
hasAccount=true;
|
html+="<div id='ipTitle"+index+"' onclick='switchInfo(\"subscribe\","+index+")' class='col-md-1 tabInfo' >";
|
||||||
html+="<div id='accountTitle"+index+"' onclick='switchInfo(\"subscribe\","+index+")' class='col-md-1 tabInfo' >";
|
html+="<spring:message code='av_voip_ip_title'/>";
|
||||||
html+="<spring:message code='av_voip_account_title'/>";
|
html+="<i id='ipDown"+index+"' class='fa fa-angle-double-down' style='display:none' ></i>";
|
||||||
html+="<i id='accountDown"+index+"' class='fa fa-angle-double-down '></i>";
|
html+="<i id='ipUp"+index+"' class='fa fa-angle-double-up '></i>";
|
||||||
html+="<i id='accountUp"+index+"' class='fa fa-angle-double-up ' style='display:none'></i>";
|
|
||||||
html+="</div>";
|
html+="</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
html+="</div>";
|
html+="</div>";
|
||||||
//subscribe信息
|
//subscribe信息
|
||||||
if(data.subscribe.length > 0){
|
if(data.subscribe.length > 0){
|
||||||
html+="<div id='subscribeInfo"+index+"' class='content content2'>";
|
html+="<div id='subscribeInfo"+index+"' class='content content'>";
|
||||||
$.each(data.subscribe,function(index,item){
|
$.each(data.subscribe,function(index,item){
|
||||||
//console.log(item.cfgKeywords);
|
|
||||||
html+="<div class='row'>";
|
html+="<div class='row'>";
|
||||||
html+="<div class='col-md-8'>";
|
html+="<div class='col-md-8'>";
|
||||||
html+="<div class='form-group'>";
|
html+="<div class='form-group'>";
|
||||||
html+="<label><spring:message code='NTC_SUBSCRIBE_ID'/>: ";
|
html+="<label class='keyword-disinline'><spring:message code='NTC_SUBSCRIBE_ID'/>: ";
|
||||||
html+=item.cfgKeywords.replace(/\*\*\*and\*\*\*/g , " ");
|
html+=item.cfgKeywords.replace(/\*\*\*and\*\*\*/g , " ");
|
||||||
html+="</label>";
|
html+="</label>";
|
||||||
html+="</div>";
|
html+="</div>";
|
||||||
html+="</div>";
|
html+="</div>";
|
||||||
html+="</div>";
|
html+="</div>";
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='expression_type'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
if(item.exprType==1){
|
|
||||||
html+="<spring:message code='and_expression'/>"
|
|
||||||
}
|
|
||||||
if(item.exprType==0){
|
|
||||||
html+="<spring:message code='null_expression'/>"
|
|
||||||
}
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='match_method'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
if(item.matchMethod==0){
|
|
||||||
html+="<spring:message code='substring_match'/>"
|
|
||||||
}
|
|
||||||
if(item.matchMethod==1){
|
|
||||||
html+="<spring:message code='right_match'/>"
|
|
||||||
}
|
|
||||||
if(item.matchMethod==2){
|
|
||||||
html+="<spring:message code='left_match'/>"
|
|
||||||
}
|
|
||||||
if(item.matchMethod==3){
|
|
||||||
html+="<spring:message code='exactly_match'/>"
|
|
||||||
}
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
if(item.isHexbin==0){
|
if(item.isHexbin==0){
|
||||||
html+="<div class='row'>";
|
html+="<div class='row'>";
|
||||||
html+="<div class='col-md-4'>";
|
html+="<div class='col-md-4'>";
|
||||||
@@ -219,26 +182,7 @@
|
|||||||
html+="</div>";
|
html+="</div>";
|
||||||
html+="</div>";
|
html+="</div>";
|
||||||
}
|
}
|
||||||
/* if(index < (data.ip.length-1) && index != 0){
|
|
||||||
alert("下一行");
|
|
||||||
}
|
|
||||||
html+="<h5 class='page-header'></h5>";*/
|
|
||||||
})
|
|
||||||
html+="</div>";
|
|
||||||
}
|
|
||||||
//account信息
|
|
||||||
if(data.account.length > 0){
|
|
||||||
html+="<div id='accountInfo"+index+"' class='content content2' style='display:none'>";
|
|
||||||
$.each(data.account,function(index,item){
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-8'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='account'/>: ";
|
|
||||||
html+=item.cfgKeywords.replace(/\*\*\*and\*\*\*/g , " ");
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
html+="<div class='row'>";
|
||||||
html+="<div class='col-md-4'>";
|
html+="<div class='col-md-4'>";
|
||||||
html+="<div class='form-group'>";
|
html+="<div class='form-group'>";
|
||||||
@@ -275,72 +219,6 @@
|
|||||||
html+="</div>";
|
html+="</div>";
|
||||||
html+="</div>";
|
html+="</div>";
|
||||||
html+="</div>";
|
html+="</div>";
|
||||||
if(item.isHexbin==0){
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_hex'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='not_hex'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_case_insenstive'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='case_insenstive'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
}
|
|
||||||
if(item.isHexbin==1){
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_hex'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='hex'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_case_insenstive'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='case_insenstive'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
}
|
|
||||||
if(item.isHexbin==2){
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_hex'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='not_hex'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="<div class='row'>";
|
|
||||||
html+="<div class='col-md-4'>";
|
|
||||||
html+="<div class='form-group'>";
|
|
||||||
html+="<label><spring:message code='is_case_insenstive'/>:</label>";
|
|
||||||
html+="<label>"
|
|
||||||
html+="<spring:message code='case_senstive'/>"
|
|
||||||
html+="</label>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
html+="</div>";
|
|
||||||
}
|
|
||||||
/* if(index < (data.ip.length-1) && index != 0){
|
/* if(index < (data.ip.length-1) && index != 0){
|
||||||
alert("下一行");
|
alert("下一行");
|
||||||
}
|
}
|
||||||
@@ -348,15 +226,152 @@
|
|||||||
})
|
})
|
||||||
html+="</div>";
|
html+="</div>";
|
||||||
}
|
}
|
||||||
|
//ip信息
|
||||||
|
if(data.ip.length >0){
|
||||||
|
html+="<div id='ipInfo"+index+"' class='content' style='display:none'>";
|
||||||
|
$.each(data.ip,function(index,item){
|
||||||
|
html+="<div class='row'>";
|
||||||
|
html+="<div class='col-md-4'>";
|
||||||
|
html+="<div class='form-group'>";
|
||||||
|
html+="<label><spring:message code='ip_type'/>:</label>";
|
||||||
|
html+="<label>"
|
||||||
|
if(item.ipType==4){
|
||||||
|
html+="<spring:message code='ipv4'/>";
|
||||||
|
}
|
||||||
|
if(item.ipType==6){
|
||||||
|
html+="<spring:message code='ipv6'/>";
|
||||||
|
}
|
||||||
|
if(item.ipType==46){
|
||||||
|
html+="<spring:message code='4over6'/>";
|
||||||
|
}
|
||||||
|
if(item.ipType==64){
|
||||||
|
html+="<spring:message code='6over4'/>";
|
||||||
|
}
|
||||||
|
if(item.ipType==10){
|
||||||
|
html+="<spring:message code='all'/>";
|
||||||
|
}
|
||||||
|
html+="</label>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="<div class='row'>";
|
||||||
|
html+="<div class='col-md-4'>";
|
||||||
|
html+="<div class='form-group'>";
|
||||||
|
html+="<label><spring:message code='ip_pattern'/>:</label>";
|
||||||
|
html+="<label>"
|
||||||
|
if(item.ipPattern==1){
|
||||||
|
html+="<spring:message code='ip_subnet'/>"
|
||||||
|
}
|
||||||
|
if(item.ipPattern==2){
|
||||||
|
html+="<spring:message code='ip_range'/>"
|
||||||
|
}
|
||||||
|
if(item.ipPattern==3){
|
||||||
|
html+="IP"
|
||||||
|
}
|
||||||
|
html+="</label>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="<div class='col-md-4'>";
|
||||||
|
html+="<div class='form-group'>";
|
||||||
|
html+="<label><spring:message code='client_ip'/>:</label>";
|
||||||
|
html+="<label>"
|
||||||
|
html+=item.srcIpAddress;
|
||||||
|
html+="</label>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="<div class='row'>";
|
||||||
|
html+="<div class='col-md-4'>";
|
||||||
|
html+="<div class='form-group'>";
|
||||||
|
html+="<label><spring:message code='port_pattern'/>:</label>";
|
||||||
|
html+="<label>"
|
||||||
|
if(item.portPattern==1){
|
||||||
|
html+="port"
|
||||||
|
}
|
||||||
|
if(item.portPattern==2){
|
||||||
|
html+="<spring:message code='port_mask'/>"
|
||||||
|
}
|
||||||
|
html+="</label>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="<div class='col-md-4'>";
|
||||||
|
html+="<div class='form-group'>";
|
||||||
|
html+="<label><spring:message code='client_port'/>:</label>";
|
||||||
|
html+="<label>"
|
||||||
|
html+=item.srcPort;
|
||||||
|
html+="</label>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="<div class='row'>";
|
||||||
|
html+="<div class='col-md-4'>";
|
||||||
|
html+="<div class='form-group'>";
|
||||||
|
html+="<label><spring:message code='server_ip'/>:</label>";
|
||||||
|
html+="<label>"
|
||||||
|
html+=item.destIpAddress;
|
||||||
|
html+="</label>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="<div class='col-md-4'>";
|
||||||
|
html+="<div class='form-group'>";
|
||||||
|
html+="<label><spring:message code='server_port'/>:</label>";
|
||||||
|
html+="<label>"
|
||||||
|
html+=item.destPort;
|
||||||
|
html+="</label>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="<div class='row'>";
|
||||||
|
html+="<div class='col-md-4'>";
|
||||||
|
html+="<div class='form-group'>";
|
||||||
|
html+="<label><spring:message code='direction'/>:</label>";
|
||||||
|
html+="<label>"
|
||||||
|
if(item.direction==0){
|
||||||
|
html+="<spring:message code='twoway'/>"
|
||||||
|
}
|
||||||
|
if(item.direction==1){
|
||||||
|
html+="<spring:message code='oneway'/>"
|
||||||
|
}
|
||||||
|
if(item.direction==2){
|
||||||
|
html+="<spring:message code='egress'/>"
|
||||||
|
}
|
||||||
|
html+="</label>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="<div class='col-md-4'>";
|
||||||
|
html+="<div class='form-group'>";
|
||||||
|
html+="<label><spring:message code='protocol'/>:</label>";
|
||||||
|
html+="<label>"
|
||||||
|
if(item.protocol==6){
|
||||||
|
html+="TCP"
|
||||||
|
}
|
||||||
|
if(item.protocol==17){
|
||||||
|
html+="UDP"
|
||||||
|
}
|
||||||
|
if(item.protocol==0){
|
||||||
|
html+="<spring:message code='arbitrary'/>"
|
||||||
|
}
|
||||||
|
html+="</label>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
html+="</div>";
|
||||||
|
/* if(index < (data.ip.length-1) && index != 0){
|
||||||
|
alert("下一行");
|
||||||
|
}
|
||||||
|
html+="<h5 class='page-header'></h5>";*/
|
||||||
|
})
|
||||||
|
html+="</div>";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
voipIpCfgTab=voipIpCfgTab+html;
|
voipIpCfgTab=voipIpCfgTab+html;
|
||||||
voipIpCfgTab+="</td>";
|
voipIpCfgTab+="</td>";
|
||||||
voipIpCfgTab+="</tr>";
|
voipIpCfgTab+="</tr>";
|
||||||
$("#"+openId).parent().parent().after(voipIpCfgTab);
|
$("#"+openId).parent().parent().after(voipIpCfgTab);
|
||||||
if(hasSubscribe && ! hasAccount){
|
if(hasSubscribe && ! hasIp){
|
||||||
switchInfo("account",index);
|
switchInfo("ip",index);
|
||||||
}
|
}
|
||||||
if(hasAccount && ! hasSubscribe){
|
if(hasIp && ! hasSubscribe){
|
||||||
switchInfo("subscribe",index);
|
switchInfo("subscribe",index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -375,30 +390,28 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
function switchInfo(flag,index){
|
function switchInfo(flag,index){
|
||||||
|
//关闭ip信息
|
||||||
if("account" ==flag){
|
if("ip" ==flag){
|
||||||
//关闭account信息
|
$("#ipInfo"+index).hide();
|
||||||
$("#accountInfo"+index).hide();
|
$("#downIp"+index).hide();
|
||||||
$("#downAccount"+index).hide();
|
$("#ipTitle"+index).removeClass("badge-info");
|
||||||
$("#accountTitle"+index).removeClass("badge-info");
|
|
||||||
$("#subscribeInfo"+index).show();
|
$("#subscribeInfo"+index).show();
|
||||||
$("#subscribeDown"+index).show();
|
$("#subscribeDown"+index).show();
|
||||||
$("#accountUp"+index).show();
|
|
||||||
$("#accountDown"+index).hide();
|
|
||||||
$("#subscribeUp"+index).hide();
|
$("#subscribeUp"+index).hide();
|
||||||
|
$("#ipUp"+index).show();
|
||||||
|
$("#ipDown"+index).hide();
|
||||||
$("#subscribeTitle"+index).addClass("badge-info");
|
$("#subscribeTitle"+index).addClass("badge-info");
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
//关闭subscribe信息
|
//关闭subscribe信息
|
||||||
$("#subscribeInfo"+index).hide();
|
$("#subscribeInfo"+index).hide();
|
||||||
$("#downsubscribe"+index).hide();
|
$("#downsubscribe"+index).hide();
|
||||||
$("#subscribeTitle"+index).removeClass("badge-info");
|
$("#subscribeTitle"+index).removeClass("badge-info");
|
||||||
$("#accountInfo"+index).show();
|
$("#ipInfo"+index).show();
|
||||||
$("#accountDown"+index).show();
|
$("#ipDown"+index).show();
|
||||||
$("#subscribeUp"+index).show();
|
$("#subscribeUp"+index).show();
|
||||||
$("#subscribeDown"+index).hide();
|
$("#subscribeDown"+index).hide();
|
||||||
$("#accountUp"+index).hide();
|
$("#ipUp"+index).hide();
|
||||||
$("#accountTitle"+index).addClass("badge-info");
|
$("#ipTitle"+index).addClass("badge-info");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -410,23 +423,23 @@
|
|||||||
|
|
||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
<div class="theme-panel hidden-xs hidden-sm">
|
<div class="theme-panel hidden-xs hidden-sm">
|
||||||
<shiro:hasPermission name="avVoipAccount:config">
|
<shiro:hasPermission name="avVoipIp:config">
|
||||||
<button type="button" class="btn btn-primary"
|
<button type="button" class="btn btn-primary"
|
||||||
onClick="javascript:window.location='${ctx}/ntc/av/voipAccountForm?functionId=${cfg.functionId}'">
|
onClick="javascript:window.location='${ctx}/ntc/av/voipForm?functionId=${cfg.functionId}'">
|
||||||
<i class="fa fa-plus"></i>
|
<i class="fa fa-plus"></i>
|
||||||
<spring:message code="add"></spring:message></button>
|
<spring:message code="add"></spring:message></button>
|
||||||
</shiro:hasPermission>
|
</shiro:hasPermission>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h3 class="page-title">
|
<h3 class="page-title">
|
||||||
<spring:message code="av_voip_account_control"/>
|
<spring:message code="av_voip_ip_control"/>
|
||||||
</h3>
|
</h3>
|
||||||
<h5 class="page-header"></h5>
|
<h5 class="page-header"></h5>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="portlet">
|
<div class="portlet">
|
||||||
<div class="portlet-body">
|
<div class="portlet-body">
|
||||||
<div class="row" >
|
<div class="row" >
|
||||||
<form:form id="searchForm" modelAttribute="cfg" action="${ctx}/ntc/av/voipAccountList?functionId=${cfg.functionId}" method="post" class="form-search">
|
<form:form id="searchForm" modelAttribute="cfg" action="${ctx}/ntc/av/voipList?functionId=${cfg.functionId}" method="post" class="form-search">
|
||||||
<input id="functionId" name="functionId" type="hidden" value="${cfg.functionId}"/>
|
<input id="functionId" name="functionId" type="hidden" value="${cfg.functionId}"/>
|
||||||
<input id="audit" name="audit" type="hidden" value="${audit}"/>
|
<input id="audit" name="audit" type="hidden" value="${audit}"/>
|
||||||
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
<input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
|
||||||
@@ -455,7 +468,8 @@
|
|||||||
<form:select path="seltype" class="selectpicker select2 input-small" >
|
<form:select path="seltype" class="selectpicker select2 input-small" >
|
||||||
<form:option value="cfgDesc"><spring:message code="config_describe"></spring:message></form:option>
|
<form:option value="cfgDesc"><spring:message code="config_describe"></spring:message></form:option>
|
||||||
<form:option value="compileId"><spring:message code="cfg_id"/></form:option>
|
<form:option value="compileId"><spring:message code="cfg_id"/></form:option>
|
||||||
<form:option value="voipAccount.cfgKeywords"><spring:message code="account"/></form:option>
|
<form:option value="voipIp.srcIpAddress"><spring:message code="client_ip"/></form:option>
|
||||||
|
<form:option value="voipIp.srcPort"><spring:message code="client_port"/></form:option>
|
||||||
<form:option value="action"><spring:message code="action"></spring:message></form:option>
|
<form:option value="action"><spring:message code="action"></spring:message></form:option>
|
||||||
<form:option value="ntcSubscribeIdCfg.cfgKeywords"><spring:message code="NTC_SUBSCRIBE_ID"/></form:option>
|
<form:option value="ntcSubscribeIdCfg.cfgKeywords"><spring:message code="NTC_SUBSCRIBE_ID"/></form:option>
|
||||||
<form:option value="isValid"><spring:message code="is_valid"></spring:message></form:option>
|
<form:option value="isValid"><spring:message code="is_valid"></spring:message></form:option>
|
||||||
@@ -486,21 +500,21 @@
|
|||||||
<button type="button" class="btn btn-default" id="filter-btn"> <spring:message code="filter"/> <i class="fa fa-angle-double-down"></i></button>
|
<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>
|
||||||
<div class="pull-right">
|
<div class="pull-right">
|
||||||
<shiro:hasPermission name="avVoipAccount:config">
|
<shiro:hasPermission name="avVoipIp:config">
|
||||||
<sys:delRow url="${ctx}/ntc/av/voipAccountForm" id="contentTable" label="update"></sys:delRow>
|
<sys:delRow url="${ctx}/ntc/av/voipForm" id="contentTable" label="update"></sys:delRow>
|
||||||
<sys:delRow url="${ctx}/ntc/av/updateAvVoipAccountValid?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
|
<sys:delRow url="${ctx}/ntc/av/updateAvVoipValid?isValid=-1&functionId=${cfg.functionId }" id="contentTable" label="delete"></sys:delRow>
|
||||||
</shiro:hasPermission>
|
</shiro:hasPermission>
|
||||||
<%-- <sys:delRow url="${ctx}/ntc/av/voipExport?functionId=${cfg.functionId }" id="contentTable" label="export" maxRow="${page.maxExportSize }"></sys:delRow> --%>
|
<%-- <sys:delRow url="${ctx}/ntc/av/voipExport?functionId=${cfg.functionId }" id="contentTable" label="export" maxRow="${page.maxExportSize }"></sys:delRow> --%>
|
||||||
<shiro:hasPermission name="avVoipAccount:confirm">
|
<shiro:hasPermission name="avVoipIp:confirm">
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
||||||
<i class="fa fa-wrench"></i> <spring:message code="examine"></spring:message>
|
<i class="fa fa-wrench"></i> <spring:message code="examine"></spring:message>
|
||||||
<i class="fa fa-angle-down"></i>
|
<i class="fa fa-angle-down"></i>
|
||||||
</button>
|
</button>
|
||||||
<ul class="dropdown-menu pull-right">
|
<ul class="dropdown-menu pull-right">
|
||||||
<li><sys:delRow url="${ctx}/ntc/av/auditAvVoipAccount?isAudit=1&isValid=1&functionId=${cfg.functionId }" id="contentTable" label="approved"></sys:delRow></li>
|
<li><sys:delRow url="${ctx}/ntc/av/auditAvVoip?isAudit=1&isValid=1&functionId=${cfg.functionId }" id="contentTable" label="approved"></sys:delRow></li>
|
||||||
<li><sys:delRow url="${ctx}/ntc/av/auditAvVoipAccount?isAudit=2&isValid=0&functionId=${cfg.functionId }" id="contentTable" label="unapproved"></sys:delRow></li>
|
<li><sys:delRow url="${ctx}/ntc/av/auditAvVoip?isAudit=2&isValid=0&functionId=${cfg.functionId }" id="contentTable" label="unapproved"></sys:delRow></li>
|
||||||
<li><sys:delRow url="${ctx}/ntc/av/auditAvVoipAccount?isAudit=3&isValid=0&functionId=${cfg.functionId }" id="contentTable" label="cancelPass"></sys:delRow></li>
|
<li><sys:delRow url="${ctx}/ntc/av/auditAvVoip?isAudit=3&isValid=0&functionId=${cfg.functionId }" id="contentTable" label="cancelPass"></sys:delRow></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</shiro:hasPermission>
|
</shiro:hasPermission>
|
||||||
@@ -637,8 +651,8 @@
|
|||||||
<!-- /筛选搜索内容栏 结束-->
|
<!-- /筛选搜索内容栏 结束-->
|
||||||
</form:form>
|
</form:form>
|
||||||
</div>
|
</div>
|
||||||
<sys:message content="${message}" />
|
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
|
<sys:message content="${message}" />
|
||||||
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
|
<table id="contentTable" class="table table-striped table-bordered table-condensed text-nowrap">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
331
src/main/webapp/WEB-INF/views/cfg/av/voip/voipSubList.jsp
Normal file
331
src/main/webapp/WEB-INF/views/cfg/av/voip/voipSubList.jsp
Normal file
@@ -0,0 +1,331 @@
|
|||||||
|
<%@ page contentType="text/html;charset=UTF-8"%>
|
||||||
|
<%@ include file="/WEB-INF/include/taglib.jsp"%>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<script src="${pageContext.request.contextPath}/static/global/scripts/app.min.js" type="text/javascript"></script>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
//$("div[name='tabTitle"+index+"']").get(0).click();
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
<style type="text/css">
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<c:forEach items="${tabList}" var="region" varStatus="regionStatus">
|
||||||
|
<div id="${region[1]}Title${index}" onclick="switchSubCfgTabInfo('${region[1]}',${index})"
|
||||||
|
class="col-md-1 tabInfo" name="tabTitle${index }">
|
||||||
|
<spring:message code='${region[1]}' />
|
||||||
|
<i id="${region[1]}${index}" class="fa" name="tabFlag${index}"></i>
|
||||||
|
</div>
|
||||||
|
</c:forEach>
|
||||||
|
</div>
|
||||||
|
<c:forEach items="${tabList}" var="region">
|
||||||
|
<c:if test="${region[0] eq 1 }">
|
||||||
|
<c:forEach items="${_cfg.voipIps}" var="cfg">
|
||||||
|
<c:if test="${region[1] eq cfg.cfgType }">
|
||||||
|
<div id="${region[1]}Info${index}" class="content" name="subCfg${index}">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='ip_type'/>:</label>
|
||||||
|
<label>
|
||||||
|
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="ipTypeC">
|
||||||
|
<c:if test="${cfg.ipType==ipTypeC.itemCode}"><spring:message code="${ipTypeC.itemValue }"/></c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='ip_pattern'/>:</label>
|
||||||
|
<label>
|
||||||
|
<c:forEach items="${fns:getDictList('IP_PATTERN')}" var="ipPatternC">
|
||||||
|
<c:if test="${cfg.ipPattern==ipPatternC.itemCode}"><spring:message code="${ipPatternC.itemValue }"/></c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='client_ip'/>:</label>
|
||||||
|
<label>
|
||||||
|
${cfg.srcIpAddress}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='port_pattern'/>:</label>
|
||||||
|
<label>
|
||||||
|
<c:forEach items="${fns:getDictList('PORT_PATTERN')}" var="portPatternC">
|
||||||
|
<c:if test="${cfg.portPattern eq portPatternC.itemCode}"><spring:message code="${portPatternC.itemValue }"/></c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='client_port'/>:</label><label>${cfg.srcPort }</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='server_ip'/>:</label><label>${cfg.destIpAddress }</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='server_port'/>:</label><label>${cfg.destPort }</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='direction'/>:</label>
|
||||||
|
<label>
|
||||||
|
<c:forEach items="${fns:getDictList('DIRECTION')}" var="directionC">
|
||||||
|
<c:if test="${cfg.direction eq directionC.itemCode}"><spring:message code="${directionC.itemValue }"/></c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='protocol'/>:</label>
|
||||||
|
<label>
|
||||||
|
<c:forEach items="${fns:getDictList('PROTOCOL')}" var="protocolC">
|
||||||
|
<c:if test="${cfg.protocol eq protocolC.itemCode}"><spring:message code="${protocolC.itemValue }"/></c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${region[0] eq 2 }">
|
||||||
|
<c:forEach items="${_cfg.voipAccounts}" var="cfg">
|
||||||
|
<c:if test="${region[1] eq cfg.cfgType }">
|
||||||
|
<div id="${region[1]}Info${index}" class="content content${region[0]}" name="subCfg${index}">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-8">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='keywords' />:
|
||||||
|
${fn:replace(cfg.cfgKeywords, "***and***", " ")}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='expression_type' />:</label>
|
||||||
|
<label>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${cfg.exprType eq 1}"><spring:message code='and_expression'/></c:when>
|
||||||
|
<c:when test="${cfg.exprType eq 0}"><spring:message code='null_expression'/></c:when>
|
||||||
|
</c:choose>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='match_method' />:</label>
|
||||||
|
<label>
|
||||||
|
<c:forEach items="${fns:getDictList('MATCH_METHOD')}" var="matchMethodC">
|
||||||
|
<c:if test="${cfg.matchMethod==matchMethodC.itemCode }"><spring:message code="${matchMethodC.itemValue}"/></c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<c:if test="${cfg.isHexbin==0 }">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_hex"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="not_hex"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_case_insenstive"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="case_insenstive"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${cfg.isHexbin==1 }">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_hex"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="hex"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_case_insenstive"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="case_insenstive"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${cfg.isHexbin==2 }">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_hex"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="not_hex"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_case_insenstive"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="case_senstive"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
</c:forEach>
|
||||||
|
<c:forEach items="${_cfg.ntcSubscribeIdCfgList}" var="cfg">
|
||||||
|
<c:if test="${region[1] eq cfg.cfgType }">
|
||||||
|
<div id="${region[1]}Info${index}" class="content content${region[0]}" name="subCfg${index}">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-8">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='keywords' />:
|
||||||
|
${fn:replace(cfg.cfgKeywords, "***and***", " ")}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='expression_type' />:</label>
|
||||||
|
<label>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${cfg.exprType eq 1}"><spring:message code='and_expression'/></c:when>
|
||||||
|
<c:when test="${cfg.exprType eq 0}"><spring:message code='null_expression'/></c:when>
|
||||||
|
</c:choose>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code='match_method' />:</label>
|
||||||
|
<label>
|
||||||
|
<c:forEach items="${fns:getDictList('MATCH_METHOD')}" var="matchMethodC">
|
||||||
|
<c:if test="${cfg.matchMethod==matchMethodC.itemCode }"><spring:message code="${matchMethodC.itemValue}"/></c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<c:if test="${cfg.isHexbin==0 }">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_hex"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="not_hex"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_case_insenstive"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="case_insenstive"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${cfg.isHexbin==1 }">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_hex"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="hex"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_case_insenstive"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="case_insenstive"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${cfg.isHexbin==2 }">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_hex"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="not_hex"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label><spring:message code="is_case_insenstive"/>:</label>
|
||||||
|
<label>
|
||||||
|
<spring:message code="case_senstive"/>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</c:if>
|
||||||
|
</c:forEach>
|
||||||
|
</html>
|
||||||
@@ -40,15 +40,26 @@
|
|||||||
submitHandler : function(form) {
|
submitHandler : function(form) {
|
||||||
//loading('onloading...');
|
//loading('onloading...');
|
||||||
var flag = true;
|
var flag = true;
|
||||||
var subscribeId=0;
|
|
||||||
//存在隐藏的subscribeId,不算进域配置
|
//存在隐藏的subscribeId,不算进域配置
|
||||||
if($(".boxSolid.hidden").hasClass("subscribeId")){
|
if($(".boxSolid[class~='subscribeId']").length>0){
|
||||||
subscribeId=1;
|
if($(".boxSolid.hidden[class~='subscribeId']").is(":hidden")){
|
||||||
}
|
if(($(".boxSolid").length) == ($(".boxSolid.hidden").length)){
|
||||||
//代表所有业务都隐藏了,提示必须增加一种业务数据
|
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
||||||
if(($(".boxSolid").length-1) ==($(".boxSolid.hidden").length-subscribeId)){
|
return;
|
||||||
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
}
|
||||||
return;
|
}
|
||||||
|
if(!$(".boxSolid.hidden[class~='subscribeId']").is(":hidden")){
|
||||||
|
if(($(".boxSolid").length) == ($(".boxSolid.hidden").length) + 1){
|
||||||
|
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//代表所有业务都隐藏了,提示必须增加一种业务数据
|
||||||
|
}else{
|
||||||
|
if(($(".boxSolid").length) == ($(".boxSolid.hidden").length)){
|
||||||
|
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//代表所有区域都隐藏了,提示必须增加个区域信息
|
//代表所有区域都隐藏了,提示必须增加个区域信息
|
||||||
if($("input[name='isAreaEffective']:checked").val()==1 && $(".container-fluid:visible").size()==0){
|
if($("input[name='isAreaEffective']:checked").val()==1 && $(".container-fluid:visible").size()==0){
|
||||||
|
|||||||
Reference in New Issue
Block a user