音视频地址增加SubscribeId配置.

This commit is contained in:
zhangwenqing
2018-09-25 11:56:04 +08:00
parent f3aa74d164
commit 97de2d21db
18 changed files with 1247 additions and 35 deletions

View File

@@ -8,6 +8,8 @@
*/
package com.nis.domain.configuration;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.nis.util.excel.ExcelField;
@@ -60,6 +62,8 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
@ExcelField(title="group_name")
protected String groupName;
private List<NtcSubscribeIdCfg> ntcSubscribeIdCfgList;
private NtcSubscribeIdCfg ntcSubscribeIdCfg;
/**
* irType
* @return irType
@@ -289,4 +293,17 @@ public class BaseIpCfg extends BaseCfg<BaseIpCfg> {
this.direction = 0;
}
public List<NtcSubscribeIdCfg> getNtcSubscribeIdCfgList() {
return ntcSubscribeIdCfgList;
}
public void setNtcSubscribeIdCfgList(List<NtcSubscribeIdCfg> ntcSubscribeIdCfgList) {
this.ntcSubscribeIdCfgList = ntcSubscribeIdCfgList;
}
public NtcSubscribeIdCfg getNtcSubscribeIdCfg() {
return ntcSubscribeIdCfg;
}
public void setNtcSubscribeIdCfg(NtcSubscribeIdCfg ntcsSubscribeIdCfg) {
this.ntcSubscribeIdCfg = ntcsSubscribeIdCfg;
}
}

View File

@@ -8,6 +8,8 @@
*/
package com.nis.domain.configuration;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
import com.nis.util.excel.ExcelField;
@@ -65,6 +67,9 @@ public class BaseStringCfg<T> extends BaseCfg<T> {
@SerializedName("isHexbin")
protected Integer isHexbin;
private List<NtcSubscribeIdCfg> ntcSubscribeIdCfgList;
private NtcSubscribeIdCfg ntcSubscribeIdCfg;
/**
* exprType
* @return exprType
@@ -142,4 +147,16 @@ public class BaseStringCfg<T> extends BaseCfg<T> {
cfgKeywords = cfgKeywords.replace(",", "&");*/
return cfgKeywords;
}
public List<NtcSubscribeIdCfg> getNtcSubscribeIdCfgList() {
return ntcSubscribeIdCfgList;
}
public void setNtcSubscribeIdCfgList(List<NtcSubscribeIdCfg> ntcSubscribeIdCfgList) {
this.ntcSubscribeIdCfgList = ntcSubscribeIdCfgList;
}
public NtcSubscribeIdCfg getNtcSubscribeIdCfg() {
return ntcSubscribeIdCfg;
}
public void setNtcSubscribeIdCfg(NtcSubscribeIdCfg ntcSubscribeIdCfg) {
this.ntcSubscribeIdCfg = ntcSubscribeIdCfg;
}
}

View File

@@ -30,6 +30,7 @@ import com.nis.domain.configuration.AreaIpCfg;
import com.nis.domain.configuration.AvContIpCfg;
import com.nis.domain.configuration.AvVoipAccountCfg;
import com.nis.domain.configuration.CfgIndexInfo;
import com.nis.domain.configuration.IpPortCfg;
import com.nis.domain.configuration.NtcSubscribeIdCfg;
import com.nis.exceptions.MaatConvertException;
import com.nis.domain.configuration.AvVoipIpCfg;
@@ -320,7 +321,7 @@ public class AvContentController extends BaseController {
@RequiresPermissions(value={"avContIp:config"})
public String contIpForm(Model model,HttpServletRequest request,HttpServletResponse response
,String ids,String compileIds
,@ModelAttribute("cfg")BaseIpCfg cfg
,BaseIpCfg cfg
,RedirectAttributes redirectAttributes){
if(!StringUtil.isEmpty(compileIds)){
cfg.setCompileId(Integer.parseInt(compileIds));
@@ -383,6 +384,29 @@ public class AvContentController extends BaseController {
}
return "redirect:" + adminPath +"/ntc/av/contIpList?functionId="+functionId;
}
// 获取域配置信息
@RequestMapping(value = {"ajaxAvContIpList"})
public String ajaxAvContIpList(Model model,Long cfgId,Integer index) {
BaseIpCfg baseIpCfg = new BaseIpCfg();
baseIpCfg.setCfgId(cfgId);
BaseIpCfg cfg = avContentCfgService.getContIpCfgById(baseIpCfg);
List<String[]> tabList = new ArrayList();
tabList.add(new String[]{"1",cfg.getCfgType()});
if(cfg.getNtcSubscribeIdCfgList()!=null){
String cfgType = null;
for(BaseStringCfg subscribeId:cfg.getNtcSubscribeIdCfgList()){
if(!subscribeId.getCfgType().equals(cfgType)){
tabList.add(new String[]{"2",subscribeId.getCfgType()});
cfgType = subscribeId.getCfgType();
}
}
}
model.addAttribute("_cfg", cfg);
model.addAttribute("index", index);
model.addAttribute("tabList", tabList);
return "/cfg/av/subList";
}
/*****************************contIp业务***************/
/*****************************picIp业务***************/
@@ -402,7 +426,7 @@ public class AvContentController extends BaseController {
@RequiresPermissions(value={"avPicIp:config"})
public String picIpForm(Model model,HttpServletRequest request
,HttpServletResponse response,String ids
,String compileIds,@ModelAttribute("cfg")BaseIpCfg cfg
,String compileIds,BaseIpCfg cfg
,RedirectAttributes redirectAttributes){
if(!StringUtil.isEmpty(compileIds)){
cfg.setCompileId(Integer.parseInt(compileIds));
@@ -465,6 +489,29 @@ public class AvContentController extends BaseController {
}
return "redirect:" + adminPath +"/ntc/av/picIpList?functionId="+functionId;
}
// 获取域配置信息
@RequestMapping(value = {"ajaxAvPicIpList"})
public String ajaxAvPicIpList(Model model,Long cfgId,Integer index) {
BaseIpCfg baseIpCfg = new BaseIpCfg();
baseIpCfg.setCfgId(cfgId);
BaseIpCfg cfg = avContentCfgService.getPicIpCfgById(baseIpCfg);
List<String[]> tabList = new ArrayList();
tabList.add(new String[]{"1",cfg.getCfgType()});
if(cfg.getNtcSubscribeIdCfgList()!=null){
String cfgType = null;
for(BaseStringCfg subscribeId:cfg.getNtcSubscribeIdCfgList()){
if(!subscribeId.getCfgType().equals(cfgType)){
tabList.add(new String[]{"2",subscribeId.getCfgType()});
cfgType = subscribeId.getCfgType();
}
}
}
model.addAttribute("_cfg", cfg);
model.addAttribute("index", index);
model.addAttribute("tabList", tabList);
return "/cfg/av/subList";
}
/*****************************picIp业务***************/
@@ -547,6 +594,29 @@ public class AvContentController extends BaseController {
}
return "redirect:" + adminPath +"/ntc/av/contUrlList?functionId="+functionId;
}
// 获取域配置信息
@RequestMapping(value = {"ajaxAvContUrlList"})
public String ajaxAvContUrlList(Model model,Long cfgId,Integer index) {
BaseStringCfg baseStrCfg = new BaseStringCfg();
baseStrCfg.setCfgId(cfgId);
BaseStringCfg<NtcSubscribeIdCfg> cfg = avContentCfgService.getContUrlCfgById(baseStrCfg);
List<String[]> tabList = new ArrayList();
tabList.add(new String[]{"2",cfg.getCfgType()});
if(cfg.getNtcSubscribeIdCfgList()!=null){
String cfgType = null;
for(NtcSubscribeIdCfg subscribeId:cfg.getNtcSubscribeIdCfgList()){
if(!subscribeId.getCfgType().equals(cfgType)){
tabList.add(new String[]{"2",subscribeId.getCfgType()});
cfgType = subscribeId.getCfgType();
}
}
}
model.addAttribute("_cfg", cfg);
model.addAttribute("index", index);
model.addAttribute("tabList", tabList);
return "/cfg/av/subList";
}
/*****************************contUrl业务***************/
@@ -629,6 +699,29 @@ public class AvContentController extends BaseController {
}
return "redirect:" + adminPath +"/ntc/av/picUrlList?functionId="+functionId;
}
// 获取域配置信息
@RequestMapping(value = {"ajaxAvPicUrlList"})
public String ajaxAvPicUrlList(Model model,Long cfgId,Integer index) {
BaseStringCfg baseStrCfg = new BaseStringCfg();
baseStrCfg.setCfgId(cfgId);
BaseStringCfg<NtcSubscribeIdCfg> cfg = avContentCfgService.getPicUrlCfgById(baseStrCfg);
List<String[]> tabList = new ArrayList();
tabList.add(new String[]{"2",cfg.getCfgType()});
if(cfg.getNtcSubscribeIdCfgList()!=null){
String cfgType = null;
for(NtcSubscribeIdCfg subscribeId:cfg.getNtcSubscribeIdCfgList()){
if(!subscribeId.getCfgType().equals(cfgType)){
tabList.add(new String[]{"2",subscribeId.getCfgType()});
cfgType = subscribeId.getCfgType();
}
}
}
model.addAttribute("_cfg", cfg);
model.addAttribute("index", index);
model.addAttribute("tabList", tabList);
return "/cfg/av/subList";
}
/*****************************picUrl业务***************/
/**
* 1、effectiveIds分组展示

View File

@@ -618,7 +618,12 @@ public class AvContentCfgService extends BaseService{
*/
public BaseIpCfg getContIpCfgById(BaseIpCfg entity) {
entity.setTableName("av_cont_ip_cfg");
return avContentCfgDao.findIpCfgById(entity);
BaseIpCfg cfg = avContentCfgDao.findIpCfgById(entity);
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(cfg, subscribeIdCfg, new String[] {"cfgId","isValid"});
List<NtcSubscribeIdCfg> list = stringCfgDao.findSubscribeIdCfgList(subscribeIdCfg);
cfg.setNtcSubscribeIdCfgList(list);
return cfg;
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdateContIp(BaseIpCfg entity,String areaCfgIds){
@@ -641,6 +646,18 @@ public class AvContentCfgService extends BaseService{
logger.info("获取编译ID出错");
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage());
}
// 添加subscribeId
if(entity.getNtcSubscribeIdCfgList()!=null){
for(NtcSubscribeIdCfg cfg:entity.getNtcSubscribeIdCfgList()){
if(StringUtils.isNotBlank(cfg.getCfgKeywords())){
entity.setCompileId(compileIds.get(0));
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType"});
stringCfgDao.saveSubscribeIdCfg(cfg);
}
}
}
if(compileIds != null && compileIds.size() >0 && compileIds.get(0) != 0){
entity.setCompileId(compileIds.get(0));
@@ -733,6 +750,21 @@ public class AvContentCfgService extends BaseService{
entity.setEditorId(UserUtils.getUser().getId());
entity.setEditTime(editTime);
avContentCfgDao.updateIp(entity);
entity.setCreateTime(new Date());
entity.setCreatorId(entity.getCurrentUser().getId());
// 删除SubscribeId配置再进行添加
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(entity, subscribeIdCfg,new String[]{"cfgId","cfgType"});
stringCfgDao.deleteSubscribeIdCfg(subscribeIdCfg);
if(entity.getNtcSubscribeIdCfgList()!=null){
for(NtcSubscribeIdCfg cfg:entity.getNtcSubscribeIdCfgList()){
if(StringUtils.isNotBlank(cfg.getCfgKeywords())){
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType"});
stringCfgDao.saveSubscribeIdCfg(cfg);
}
}
}
}
}
@@ -757,6 +789,14 @@ public class AvContentCfgService extends BaseService{
entity.setEditorId(UserUtils.getUser().getId());
entity.setEditTime(new Date());
avContentCfgDao.updateIp(entity);
// 查询域配置信息
BaseIpCfg cfg = this.getContIpCfgById(entity);
if(cfg.getNtcSubscribeIdCfgList() != null && cfg.getNtcSubscribeIdCfgList().size()>0) {
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(cfg, subscribeIdCfg, new String[] {"cfgId","cfgType","tableName"});
stringCfgDao.updateSubscribeIdCfg(subscribeIdCfg);
}
AreaIpCfg areaIpCfg=new AreaIpCfg();
BeanUtils.copyProperties(entity, areaIpCfg);
areaIpCfgDao.updateAreaIpCfgValid(areaIpCfg);
@@ -829,6 +869,19 @@ public class AvContentCfgService extends BaseService{
}
}
// 修改审核状态
BaseIpCfg baseIpCfg = this.getContIpCfgById(entity);
if(!StringUtil.isEmpty(baseIpCfg.getNtcSubscribeIdCfgList())) {
NtcSubscribeIdCfg cfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(entity, cfg, new String[] {"cfgId","cfgType"});
stringCfgDao.updateSubscribeIdCfg(cfg);
if(isAudit==1) {
Map<String,List> map = cfgConvert(strRegionList,baseIpCfg.getNtcSubscribeIdCfgList(),2,entity,groupRelationList);
groupRelationList=map.get("groupList");
strRegionList=map.get("dstList");
}
}
//构造提交综合服务参数格式,一条配置提交一次综合服务
if(isAudit==1){
maatCfg.initDefaultValue();
@@ -900,7 +953,12 @@ public class AvContentCfgService extends BaseService{
*/
public BaseIpCfg getPicIpCfgById(BaseIpCfg entity) {
entity.setTableName("av_pic_ip_cfg");
return avContentCfgDao.findIpCfgById(entity);
BaseIpCfg cfg = avContentCfgDao.findIpCfgById(entity);
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(cfg, subscribeIdCfg,new String[] {"cfgId","isValid"});
List<NtcSubscribeIdCfg> list = stringCfgDao.findSubscribeIdCfgList(subscribeIdCfg);
cfg.setNtcSubscribeIdCfgList(list);
return cfg;
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdatePicIp(BaseIpCfg entity,String areaCfgIds){
@@ -923,6 +981,18 @@ public class AvContentCfgService extends BaseService{
logger.info("获取编译ID出错");
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage());
}
// 添加subscribeId
if(entity.getNtcSubscribeIdCfgList()!=null){
for(NtcSubscribeIdCfg cfg:entity.getNtcSubscribeIdCfgList()){
if(StringUtils.isNotBlank(cfg.getCfgKeywords())){
entity.setCompileId(compileIds.get(0));
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType"});
stringCfgDao.saveSubscribeIdCfg(cfg);
}
}
}
if(compileIds != null && compileIds.size() >0 && compileIds.get(0) != 0){
entity.setCompileId(compileIds.get(0));
@@ -1015,6 +1085,21 @@ public class AvContentCfgService extends BaseService{
entity.setEditorId(UserUtils.getUser().getId());
entity.setEditTime(editTime);
avContentCfgDao.updateIp(entity);
entity.setCreateTime(new Date());
entity.setCreatorId(entity.getCurrentUser().getId());
// 删除SubscribeId配置再进行添加
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(entity, subscribeIdCfg,new String[]{"cfgId","cfgType"});
stringCfgDao.deleteSubscribeIdCfg(subscribeIdCfg);
if(entity.getNtcSubscribeIdCfgList()!=null){
for(NtcSubscribeIdCfg cfg:entity.getNtcSubscribeIdCfgList()){
if(StringUtils.isNotBlank(cfg.getCfgKeywords())){
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType"});
stringCfgDao.saveSubscribeIdCfg(cfg);
}
}
}
}
}
@@ -1039,6 +1124,14 @@ public class AvContentCfgService extends BaseService{
entity.setEditorId(UserUtils.getUser().getId());
entity.setEditTime(new Date());
avContentCfgDao.updateIp(entity);
// 查询域配置信息
BaseIpCfg cfg = this.getPicIpCfgById(entity);
if(cfg.getNtcSubscribeIdCfgList() != null && cfg.getNtcSubscribeIdCfgList().size()>0) {
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(cfg, subscribeIdCfg, new String[] {"cfgId","cfgTyep","tableName"});
stringCfgDao.updateSubscribeIdCfg(subscribeIdCfg);
}
AreaIpCfg areaIpCfg=new AreaIpCfg();
BeanUtils.copyProperties(entity, areaIpCfg);
areaIpCfgDao.updateAreaIpCfgValid(areaIpCfg);
@@ -1112,6 +1205,19 @@ public class AvContentCfgService extends BaseService{
}
}
// 修改审核状态
BaseIpCfg baseIpCfg = this.getPicIpCfgById(entity);
if(!StringUtil.isEmpty(baseIpCfg.getNtcSubscribeIdCfgList())) {
NtcSubscribeIdCfg cfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(entity, cfg, new String[] {"cfgId","cfgType"});
stringCfgDao.updateSubscribeIdCfg(cfg);
if(isAudit==1) {
Map<String,List> map = cfgConvert(strRegionList,baseIpCfg.getNtcSubscribeIdCfgList(),2,entity,groupRelationList);
groupRelationList=map.get("groupList");
strRegionList=map.get("dstList");
}
}
//构造提交综合服务参数格式,一条配置提交一次综合服务
if(isAudit==1){
maatCfg.initDefaultValue();
@@ -1182,9 +1288,14 @@ public class AvContentCfgService extends BaseService{
* @param entity
* @return
*/
public BaseStringCfg getContUrlCfgById(BaseStringCfg entity) {
public BaseStringCfg<NtcSubscribeIdCfg> getContUrlCfgById(BaseStringCfg entity) {
entity.setTableName("av_cont_url_cfg");
return avContentCfgDao.findStringCfgById(entity);
BaseStringCfg cfg = avContentCfgDao.findStringCfgById(entity);
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(cfg, subscribeIdCfg, new String[] {"cfgId","isValid"});
List<NtcSubscribeIdCfg> list = stringCfgDao.findSubscribeIdCfgList(subscribeIdCfg);
cfg.setNtcSubscribeIdCfgList(list);
return cfg;
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdateContUrl(BaseStringCfg<BaseStringCfg> entity,String areaCfgIds){
@@ -1207,6 +1318,20 @@ public class AvContentCfgService extends BaseService{
logger.info("获取编译ID出错");
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage());
}
// 添加subscribeId
if(entity.getNtcSubscribeIdCfgList()!=null){
for(NtcSubscribeIdCfg cfg:entity.getNtcSubscribeIdCfgList()){
if(StringUtils.isNotBlank(cfg.getCfgKeywords())){
entity.setCompileId(compileIds.get(0));
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType",
"cfgKeywords","exprType",
"matchMethod","isHexbin"});
stringCfgDao.saveSubscribeIdCfg(cfg);
}
}
}
if(compileIds != null && compileIds.size() >0 && compileIds.get(0) != 0){
entity.setCompileId(compileIds.get(0));
@@ -1273,6 +1398,23 @@ public class AvContentCfgService extends BaseService{
entity.setEditTime(editTime);
entity.setTableName("av_cont_url_cfg");
avContentCfgDao.updateString(entity);
entity.setCreateTime(new Date());
entity.setCreatorId(entity.getCurrentUser().getId());
// 删除SubscribeId配置再进行添加
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(entity, subscribeIdCfg,new String[]{"cfgId","cfgType"});
stringCfgDao.deleteSubscribeIdCfg(subscribeIdCfg);
if(entity.getNtcSubscribeIdCfgList()!=null){
for(NtcSubscribeIdCfg cfg:entity.getNtcSubscribeIdCfgList()){
if(StringUtils.isNotBlank(cfg.getCfgKeywords())){
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType",
"cfgKeywords","exprType",
"matchMethod","isHexbin"});
stringCfgDao.saveSubscribeIdCfg(cfg);
}
}
}
}
}
@@ -1297,6 +1439,13 @@ public class AvContentCfgService extends BaseService{
entity.setEditorId(UserUtils.getUser().getId());
entity.setEditTime(new Date());
avContentCfgDao.updateString(entity);
// 查询域配置信息
BaseStringCfg cfg = this.getContUrlCfgById(entity);
if(cfg.getNtcSubscribeIdCfgList() != null && cfg.getNtcSubscribeIdCfgList().size()>0) {
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(cfg, subscribeIdCfg, new String[] {"cfgId","cfgType","tableName"});
stringCfgDao.updateSubscribeIdCfg(subscribeIdCfg);
}
AreaIpCfg areaIpCfg=new AreaIpCfg();
BeanUtils.copyProperties(entity, areaIpCfg);
areaIpCfgDao.updateAreaIpCfgValid(areaIpCfg);
@@ -1360,6 +1509,20 @@ public class AvContentCfgService extends BaseService{
}
}
// 修改审核状态
BaseStringCfg baseStrCfg = this.getContUrlCfgById(entity);
if(!StringUtil.isEmpty(baseStrCfg.getNtcSubscribeIdCfgList())) {
NtcSubscribeIdCfg cfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(entity, cfg, new String[] {"cfgId","cfgType","cfgKeywords",
"exprType","matchMethod","isHexbin"});
stringCfgDao.updateSubscribeIdCfg(cfg);
if(isAudit==1) {
Map<String,List> map = cfgConvert(strRegionList,baseStrCfg.getNtcSubscribeIdCfgList(),2,entity,groupRelationList);
groupRelationList=map.get("groupList");
strRegionList=map.get("dstList");
}
}
//构造提交综合服务参数格式,一条配置提交一次综合服务
if(isAudit==1){
maatCfg.initDefaultValue();
@@ -1429,9 +1592,14 @@ public class AvContentCfgService extends BaseService{
* @param entity
* @return
*/
public BaseStringCfg getPicUrlCfgById(BaseStringCfg entity) {
public BaseStringCfg<NtcSubscribeIdCfg> getPicUrlCfgById(BaseStringCfg entity) {
entity.setTableName("av_pic_url_cfg");
return avContentCfgDao.findStringCfgById(entity);
BaseStringCfg cfg = avContentCfgDao.findStringCfgById(entity);
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(cfg, subscribeIdCfg, new String[] {"cfgId","isValid"});
List<NtcSubscribeIdCfg> list = stringCfgDao.findSubscribeIdCfgList(subscribeIdCfg);
cfg.setNtcSubscribeIdCfgList(list);
return cfg;
}
@Transactional(readOnly=false,rollbackFor=RuntimeException.class)
public void saveOrUpdatePicUrl(BaseStringCfg<BaseStringCfg> entity,String areaCfgIds){
@@ -1454,6 +1622,20 @@ public class AvContentCfgService extends BaseService{
logger.info("获取编译ID出错");
throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage());
}
// 添加subscribeId
if(entity.getNtcSubscribeIdCfgList()!=null){
for(NtcSubscribeIdCfg cfg:entity.getNtcSubscribeIdCfgList()){
if(StringUtils.isNotBlank(cfg.getCfgKeywords())){
entity.setCompileId(compileIds.get(0));
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType",
"cfgKeywords","exprType",
"matchMethod","isHexbin"});
stringCfgDao.saveSubscribeIdCfg(cfg);
}
}
}
if(compileIds != null && compileIds.size() >0 && compileIds.get(0) != 0){
entity.setCompileId(compileIds.get(0));
@@ -1520,6 +1702,23 @@ public class AvContentCfgService extends BaseService{
entity.setEditTime(editTime);
entity.setTableName("av_pic_url_cfg");
avContentCfgDao.updateString(entity);
entity.setCreateTime(new Date());
entity.setCreatorId(entity.getCurrentUser().getId());
// 删除SubscribeId配置再进行添加
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(entity, subscribeIdCfg,new String[]{"cfgId","cfgType"});
stringCfgDao.deleteSubscribeIdCfg(subscribeIdCfg);
if(entity.getNtcSubscribeIdCfgList()!=null){
for(NtcSubscribeIdCfg cfg:entity.getNtcSubscribeIdCfgList()){
if(StringUtils.isNotBlank(cfg.getCfgKeywords())){
BeanUtils.copyProperties(entity, cfg,new String[]{"cfgRegionCode","cfgType",
"cfgKeywords","exprType",
"matchMethod","isHexbin"});
stringCfgDao.saveSubscribeIdCfg(cfg);
}
}
}
}
}
@@ -1544,6 +1743,13 @@ public class AvContentCfgService extends BaseService{
entity.setEditorId(UserUtils.getUser().getId());
entity.setEditTime(new Date());
avContentCfgDao.updateString(entity);
// 查询域配置信息
BaseStringCfg cfg = this.getContUrlCfgById(entity);
if(cfg.getNtcSubscribeIdCfgList() != null && cfg.getNtcSubscribeIdCfgList().size()>0) {
NtcSubscribeIdCfg subscribeIdCfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(cfg, subscribeIdCfg, new String[] {"cfgId","cfgType","tableName"});
stringCfgDao.updateSubscribeIdCfg(subscribeIdCfg);
}
AreaIpCfg areaIpCfg=new AreaIpCfg();
BeanUtils.copyProperties(entity, areaIpCfg);
areaIpCfgDao.updateAreaIpCfgValid(areaIpCfg);
@@ -1607,6 +1813,20 @@ public class AvContentCfgService extends BaseService{
}
}
// 修改审核状态
BaseStringCfg baseStrCfg = this.getPicUrlCfgById(entity);
if(!StringUtil.isEmpty(baseStrCfg.getNtcSubscribeIdCfgList())) {
NtcSubscribeIdCfg cfg = new NtcSubscribeIdCfg();
BeanUtils.copyProperties(entity, cfg, new String[] {"cfgId","cfgType","cfgKeywords",
"exprType","matchMethod","isHexbin"});
stringCfgDao.updateSubscribeIdCfg(cfg);
if(isAudit==1) {
Map<String,List> map = cfgConvert(strRegionList,baseStrCfg.getNtcSubscribeIdCfgList(),2,entity,groupRelationList);
groupRelationList=map.get("groupList");
strRegionList=map.get("dstList");
}
}
//构造提交综合服务参数格式,一条配置提交一次综合服务
if(isAudit==1){
maatCfg.initDefaultValue();

View File

@@ -1173,4 +1173,5 @@ visits=Visits
percentage=Percentage
APP_SSL=APP SSL Feature
APP_IP_RANGE=APP IP RANGE
APP_DK=APP DK Feature
APP_DK=APP DK Feature
MM_SUBSCRIBE_ID=Subscribe ID

View File

@@ -1171,3 +1171,4 @@ percentage=\u767E\u5206\u6BD4
APP_SSL=APP SSL\u7279\u5F81
APP_IP_RANGE=APP IP RANGE
APP_DK=APP DK\u7279\u5F81
MM_SUBSCRIBE_ID=\u8D26\u53F7

View File

@@ -1,6 +1,13 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<h3 class="form-section"><spring:message code="block_config"/></h3>
<%-- <h3 class="form-section"><spring:message code="block_config"/></h3> --%>
<c:forEach items="${regionList}" var="region" varStatus="status">
<c:if test="${region.regionType eq 1 }">
<h4 class="form-section">
<spring:message code="${region.configRegionValue}" />
</h4>
</c:if>
</c:forEach>
<div class="row ipInfo">
<div class="row">
<div class="col-md-6">

View File

@@ -3,11 +3,18 @@
<html>
<head>
<title><spring:message code="${cfgName}"></spring:message></title>
<style type="text/css">
.boxSolid {
border: 1px solid #eeeeee
}
</style>
<script type="text/javascript">
$(function(){
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
var action=$("input[name='action']:checked").val();
switchAction(action);
});
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
@@ -16,16 +23,45 @@ $(function(){
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
},
submitHandler: function(form){
loading('onloading...');
form.submit();
var flag = true;
if(flag){
//将disable属性的元素删除
$(".disabled").each(function(){
$(this).remove();
});
$("input[name$='exprType']").attr("disabled",false);
loading('onloading...');
form.submit();
}else{
return;
}
},
errorContainer: "#messageBox",
errorPlacement : function(error, element) {
$(element).parents(".form-group").find(
"div[for='" + element.attr("name") + "']")
.append(error);
},
});
});
//业务窗口打开
var addContent = function(obj, contentClassName) {
var showDiv = $(obj).parent().parent().next();
$(showDiv).removeClass("hidden").removeClass("disabled");
$(obj).addClass("hidden");
}
//业务窗口关闭
var delContent = function(contentClassName, addBtnClassName) {
$("." + contentClassName).addClass("hidden").addClass("disabled");
$("." + addBtnClassName).removeClass("hidden");
}
</script>
</head>
<body>
<span id="keywordError" style="display:none"><spring:message code="required"></spring:message></span>
<span id="tagsinputTip" style="display:none"><spring:message code="multiple_keywords_tip"></spring:message></span>
<div class="page-content">
<h3 class="page-title">
@@ -53,6 +89,7 @@ $(function(){
<!-- 配置域类型 -->
<c:forEach items="${regionList}" var="region">
<c:if test="${_cfg.functionId eq region.functionId}">
<c:if test="${region.configServiceType ne 'subscribe_id'}">
<input type="hidden" name="${cfgName}.configServiceType" value="${region.configServiceType}">
<input type="hidden" id="cfgType${region.configRegionCode}" name="cfgType" value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode" id="cfgRegionCode${region.configRegionCode}"
@@ -66,6 +103,7 @@ $(function(){
protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}">
</c:if>
</c:if>
</c:forEach>
<div class="form-body">
@@ -129,6 +167,53 @@ $(function(){
</div>
<!-- desc and action -->
<%@include file="/WEB-INF/include/form/ipInfo.jsp" %>
<!-- SubscribeID Start -->
<c:set var="subscribeIdCfgIndex" value="0"></c:set>
<c:forEach items="${regionList}" var="region" varStatus="status">
<c:if test="${region.regionType eq 2 }">
<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="ntcSubscribeIdCfgList[${subscribeIdCfgIndex}]"></c:set>
<c:set var="regionValue" value="${region.configRegionValue}"></c:set>
<c:choose>
<c:when test="${fn:length(_cfg.ntcSubscribeIdCfgList)>0}">
<c:set var="isBreak" value="false" ></c:set>
<c:forEach items="${_cfg.ntcSubscribeIdCfgList}" var="cfg">
<c:choose>
<c:when test="${region.configRegionValue eq cfg.cfgType and !isBreak}">
<div class="row boxSolid subscribeId ${tabName}${status.index}">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="isBreak" value="true" ></c:set>
<c:set var="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+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="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+1 }"></c:set>
</c:if>
</c:when>
<c:otherwise>
<div class="row boxSolid subscribeId ${tabName}${status.index} hidden disabled">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+1 }"></c:set>
</c:otherwise>
</c:choose>
</c:if>
</c:forEach>
<!-- SubscribeID End -->
<%@include file="/WEB-INF/include/form/areaInfo.jsp" %>
<%@include file="/WEB-INF/include/form/basicInfo.jsp" %>
</div>

View File

@@ -37,6 +37,51 @@
$("#searchForm")[0].reset();
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
});
//异步获取voip相关信息
$("span[id^=open]").click(function(){
var openId=$(this).attr("id");
var closeId=$(this).attr("id").replace("open","close");
var index=$(this).attr("id").replace("open","");
$("#"+openId).hide();
$("#"+closeId).show();
//var compileId=$(this).attr("compileId");
var cfgId=$(this).attr("cfgId");
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
$("#"+openId).parent().parent().next("tr").show();
}else{
$.ajax({
type:'post',
async:false,
url:'${ctx}/ntc/av/ajaxAvContIpList',
data:{"cfgId":cfgId,"index":index},
dataType:"html",
success:function(data){
var subTab="<tr class='child'>"+
"<td style='border-right: 1px solid #FFFFFF;'>"+
"<input type='checkbox' hidden='hidden'/>"+
"</td>"+
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
var html="";
html+="<div class='row'>";
html = html+data;
subTab=subTab+html;
subTab+="</td>";
subTab+="</tr>";
$("#"+openId).parent().parent().after(subTab);
$("div[name='tabTitle"+index+"']").get(0).click();
}
});
}
});
$("span[id^=close]").on("click",function(){
var closeId=$(this).attr("id");
var openId=$(this).attr("id").replace("close","open");
$("#"+closeId).hide();
$("#"+openId).show();
$("#"+closeId).parent().parent().next("tr").hide();
});
});
var edit=function(url){
var cked = $('tbody tr td input.i-checks:checkbox:checked');
@@ -325,7 +370,10 @@
<tbody>
<c:forEach items="${page.list }" var="cfg" varStatus="status" step="1">
<tr>
<td><input type="checkbox" class="i-checks" id="${cfg.cfgId}" compileId="${cfg.compileId}" value="${cfg.isAudit}"></td>
<td>
<span id="open${status.index}" class="" compileId="${cfg.compileId}" cfgId="${cfg.cfgId}"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
<input type="checkbox" class="i-checks" id="${cfg.cfgId}" compileId="${cfg.compileId}" value="${cfg.isAudit}">
</td>
<td>${cfg.compileId }</td>
<td>${cfg.cfgDesc }</td>
<td>

View File

@@ -3,11 +3,18 @@
<html>
<head>
<title><spring:message code="${cfgName}"></spring:message></title>
<style type="text/css">
.boxSolid {
border: 1px solid #eeeeee
}
</style>
<script type="text/javascript">
$(function(){
$("input[name='cfgKeywords']").addClass("url");
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
var action=$("input[name='action']:checked").val();
switchAction(action);
});
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#cfgFrom").validate({
@@ -51,16 +58,37 @@ $(function(){
}
});
if(flag){
loading('onloading...');
//将disable属性的元素删除
$(".disabled").each(function(){
$(this).remove();
});
$("input[name$='exprType']").attr("disabled",false);
loading('onloading...');
form.submit();
}else{
return;
}
},
errorContainer: "#messageBox",
errorPlacement : function(error, element) {
$(element).parents(".form-group").find(
"div[for='" + element.attr("name") + "']")
.append(error);
},
});
});
//业务窗口打开
var addContent = function(obj, contentClassName) {
var showDiv = $(obj).parent().parent().next();
$(showDiv).removeClass("hidden").removeClass("disabled");
$(obj).addClass("hidden");
}
//业务窗口关闭
var delContent = function(contentClassName, addBtnClassName) {
$("." + contentClassName).addClass("hidden").addClass("disabled");
$("." + addBtnClassName).removeClass("hidden");
}
</script>
</head>
<body>
@@ -149,12 +177,65 @@ $(function(){
</div>
</div>
<!-- desc and action -->
<!-- 配置域类型 -->
<c:forEach items="${regionList}" var="region">
<!-- 配置域类型 -->
<%-- <c:forEach items="${regionList}" var="region">
<c:if test="${_cfg.functionId eq region.functionId}">
<%@include file="/WEB-INF/include/form/complexInfo.jsp" %>
</c:if>
</c:forEach>
</c:forEach> --%>
<!-- SubscribeID Start -->
<c:set var="subscribeIdCfgIndex" value="0"></c:set>
<c:forEach items="${regionList}" var="region" varStatus="status">
<c:if test="${region.configServiceType eq 'av_cont_url'}">
<h4 class="form-section">
<spring:message code="${region.configRegionValue}" />
</h4>
<%@include file="/WEB-INF/include/form/complexInfo.jsp" %>
</c:if>
<c:if test="${region.configServiceType eq 'subscribe_id'}">
<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="ntcSubscribeIdCfgList[${subscribeIdCfgIndex}]"></c:set>
<c:set var="regionValue" value="${region.configRegionValue}"></c:set>
<c:choose>
<c:when test="${fn:length(_cfg.ntcSubscribeIdCfgList)>0}">
<c:set var="isBreak" value="false" ></c:set>
<c:forEach items="${_cfg.ntcSubscribeIdCfgList}" 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="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+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="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+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="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+1 }"></c:set>
</c:otherwise>
</c:choose>
</c:if>
</c:forEach>
<!-- SubscribeID End -->
<%@include file="/WEB-INF/include/form/areaInfo.jsp" %>
<%@include file="/WEB-INF/include/form/basicInfo.jsp" %>
</div>

View File

@@ -35,6 +35,51 @@
$("#searchForm")[0].reset();
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
});
//异步获取voip相关信息
$("span[id^=open]").click(function(){
var openId=$(this).attr("id");
var closeId=$(this).attr("id").replace("open","close");
var index=$(this).attr("id").replace("open","");
$("#"+openId).hide();
$("#"+closeId).show();
//var compileId=$(this).attr("compileId");
var cfgId=$(this).attr("cfgId");
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
$("#"+openId).parent().parent().next("tr").show();
}else{
$.ajax({
type:'post',
async:false,
url:'${ctx}/ntc/av/ajaxAvContUrlList',
data:{"cfgId":cfgId,"index":index},
dataType:"html",
success:function(data){
var subTab="<tr class='child'>"+
"<td style='border-right: 1px solid #FFFFFF;'>"+
"<input type='checkbox' hidden='hidden'/>"+
"</td>"+
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
var html="";
html+="<div class='row'>";
html = html+data;
subTab=subTab+html;
subTab+="</td>";
subTab+="</tr>";
$("#"+openId).parent().parent().after(subTab);
$("div[name='tabTitle"+index+"']").get(0).click();
}
});
}
});
$("span[id^=close]").on("click",function(){
var closeId=$(this).attr("id");
var openId=$(this).attr("id").replace("close","open");
$("#"+closeId).hide();
$("#"+openId).show();
$("#"+closeId).parent().parent().next("tr").hide();
});
});
var edit=function(url){
var cked = $('tbody tr td input.i-checks:checkbox:checked');
@@ -316,7 +361,10 @@
<tbody>
<c:forEach items="${page.list }" var="cfg" varStatus="status" step="1">
<tr>
<td><input type="checkbox" class="i-checks" id="${cfg.cfgId}" compileId="${cfg.compileId}" value="${cfg.isAudit}"></td>
<td>
<span id="open${status.index}" class="" compileId="${cfg.compileId}" cfgId="${cfg.cfgId}"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
<input type="checkbox" class="i-checks" id="${cfg.cfgId}" compileId="${cfg.compileId}" value="${cfg.isAudit}">
</td>
<td>${cfg.compileId }</td>
<td>${cfg.cfgDesc }</td>
<td>

View File

@@ -3,12 +3,19 @@
<html>
<head>
<title><spring:message code="${cfgName}"></spring:message></title>
<style type="text/css">
.boxSolid {
border: 1px solid #eeeeee
}
</style>
<script type="text/javascript">
$(function(){
//initCommIpVal();
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
$("#protocolId").val($(this).attr("protocolId"));
var action=$("input[name='action']:checked").val();
switchAction(action);
});
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#protocolId").val($(".action:checked").attr("protocolId"));
@@ -17,16 +24,45 @@ $(function(){
$(element).parents(".form-group").find("div[for='"+element.attr("name")+"']").append(error);
},
submitHandler: function(form){
loading('onloading...');
form.submit();
var flag = true;
if(flag){
//将disable属性的元素删除
$(".disabled").each(function(){
$(this).remove();
});
$("input[name$='exprType']").attr("disabled",false);
loading('onloading...');
form.submit();
}else{
return;
}
},
errorContainer: "#messageBox",
errorPlacement : function(error, element) {
$(element).parents(".form-group").find(
"div[for='" + element.attr("name") + "']")
.append(error);
},
});
});
//业务窗口打开
var addContent = function(obj, contentClassName) {
var showDiv = $(obj).parent().parent().next();
$(showDiv).removeClass("hidden").removeClass("disabled");
$(obj).addClass("hidden");
}
//业务窗口关闭
var delContent = function(contentClassName, addBtnClassName) {
$("." + contentClassName).addClass("hidden").addClass("disabled");
$("." + addBtnClassName).removeClass("hidden");
}
</script>
</head>
<body>
<span id="keywordError" style="display:none"><spring:message code="required"></spring:message></span>
<span id="tagsinputTip" style="display:none"><spring:message code="multiple_keywords_tip"></spring:message></span>
<div class="page-content">
<h3 class="page-title">
@@ -54,6 +90,7 @@ $(function(){
<!-- 配置域类型 -->
<c:forEach items="${regionList}" var="region">
<c:if test="${_cfg.functionId eq region.functionId}">
<c:if test="${region.configServiceType ne 'subscribe_id'}">
<input type="hidden" name="${cfgName}.configServiceType" value="${region.configServiceType}">
<input type="hidden" id="cfgType${region.configRegionCode}" name="cfgType" value="${region.configRegionValue}">
<input type="hidden" name="cfgRegionCode" id="cfgRegionCode${region.configRegionCode}"
@@ -67,6 +104,7 @@ $(function(){
protocol="${region.configProtocol}"
regionType="${region.regionType}"
value="${region.configRegionCode}">
</c:if>
</c:if>
</c:forEach>
<div class="form-body">
@@ -130,6 +168,51 @@ $(function(){
</div>
<!-- desc and action -->
<%@include file="/WEB-INF/include/form/ipInfo.jsp" %>
<!-- SubscribeId -->
<c:set var="subscribeIdCfgIndex" value="0"></c:set>
<c:forEach items="${regionList}" var="region" varStatus="status">
<c:if test="${region.regionType eq 2 }">
<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="ntcSubscribeIdCfgList[${subscribeIdCfgIndex}]"></c:set>
<c:set var="regionValue" value="${region.configRegionValue}"></c:set>
<c:choose>
<c:when test="${fn:length(_cfg.ntcSubscribeIdCfgList)>0}">
<c:set var="isBreak" value="false" ></c:set>
<c:forEach items="${_cfg.ntcSubscribeIdCfgList}" var="cfg">
<c:choose>
<c:when test="${region.configRegionValue eq cfg.cfgType and !isBreak}">
<div class="row boxSolid subscribeId ${tabName}${status.index}">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="isBreak" value="true" ></c:set>
<c:set var="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+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="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+1 }"></c:set>
</c:if>
</c:when>
<c:otherwise>
<div class="row boxSolid subscribeId ${tabName}${status.index} hidden disabled">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+1 }"></c:set>
</c:otherwise>
</c:choose>
</c:if>
</c:forEach>
<%@include file="/WEB-INF/include/form/areaInfo.jsp" %>
<%@include file="/WEB-INF/include/form/basicInfo.jsp" %>
</div>

View File

@@ -37,6 +37,51 @@
$("#searchForm")[0].reset();
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
});
//异步获取voip相关信息
$("span[id^=open]").click(function(){
var openId=$(this).attr("id");
var closeId=$(this).attr("id").replace("open","close");
var index=$(this).attr("id").replace("open","");
$("#"+openId).hide();
$("#"+closeId).show();
//var compileId=$(this).attr("compileId");
var cfgId=$(this).attr("cfgId");
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
$("#"+openId).parent().parent().next("tr").show();
}else{
$.ajax({
type:'post',
async:false,
url:'${ctx}/ntc/av/ajaxAvPicIpList',
data:{"cfgId":cfgId,"index":index},
dataType:"html",
success:function(data){
var subTab="<tr class='child'>"+
"<td style='border-right: 1px solid #FFFFFF;'>"+
"<input type='checkbox' hidden='hidden'/>"+
"</td>"+
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
var html="";
html+="<div class='row'>";
html = html+data;
subTab=subTab+html;
subTab+="</td>";
subTab+="</tr>";
$("#"+openId).parent().parent().after(subTab);
$("div[name='tabTitle"+index+"']").get(0).click();
}
});
}
});
$("span[id^=close]").on("click",function(){
var closeId=$(this).attr("id");
var openId=$(this).attr("id").replace("close","open");
$("#"+closeId).hide();
$("#"+openId).show();
$("#"+closeId).parent().parent().next("tr").hide();
});
});
var edit=function(url){
var cked = $('tbody tr td input.i-checks:checkbox:checked');
@@ -325,7 +370,10 @@
<tbody>
<c:forEach items="${page.list }" var="cfg" varStatus="status" step="1">
<tr>
<td><input type="checkbox" class="i-checks" id="${cfg.cfgId}" compileId="${cfg.compileId}" value="${cfg.isAudit}"></td>
<td>
<span id="open${status.index}" class="" compileId="${cfg.compileId}" cfgId="${cfg.cfgId}"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
<input type="checkbox" class="i-checks" id="${cfg.cfgId}" compileId="${cfg.compileId}" value="${cfg.isAudit}">
</td>
<td>${cfg.compileId }</td>
<td>${cfg.cfgDesc }</td>
<td>

View File

@@ -3,10 +3,17 @@
<html>
<head>
<title><spring:message code="${cfgName}"></spring:message></title>
<style type="text/css">
.boxSolid {
border: 1px solid #eeeeee
}
</style>
<script type="text/javascript">
$(function(){
$(".action").on("change", function() {
$("#serviceId").val($(this).attr("serviceId"));
var action=$("input[name='action']:checked").val();
switchAction(action);
});
$("#serviceId").val($(".action:checked").attr("serviceId"));
$("#cfgFrom").validate({
@@ -43,6 +50,10 @@ $(function(){
}
});
if(flag){
//将disable属性的元素删除
$(".disabled").each(function(){
$(this).remove();
});
$("input[name$='exprType']").attr("disabled",false);
loading('onloading...');
form.submit();
@@ -51,8 +62,25 @@ $(function(){
}
},
errorContainer: "#messageBox",
errorPlacement : function(error, element) {
$(element).parents(".form-group").find(
"div[for='" + element.attr("name") + "']")
.append(error);
},
});
});
//业务窗口打开
var addContent = function(obj, contentClassName) {
var showDiv = $(obj).parent().parent().next();
$(showDiv).removeClass("hidden").removeClass("disabled");
$(obj).addClass("hidden");
}
//业务窗口关闭
var delContent = function(contentClassName, addBtnClassName) {
$("." + contentClassName).addClass("hidden").addClass("disabled");
$("." + addBtnClassName).removeClass("hidden");
}
</script>
</head>
<body>
@@ -140,11 +168,57 @@ $(function(){
</div>
</div>
<!-- desc and action -->
<c:forEach items="${regionList}" var="region">
<c:if test="${_cfg.functionId eq region.functionId}">
<%@include file="/WEB-INF/include/form/complexInfo.jsp" %>
</c:if>
</c:forEach>
<c:set var="subscribeIdCfgIndex" value="0"></c:set>
<c:forEach items="${regionList}" var="region" varStatus="status">
<c:if test="${region.configServiceType eq 'av_pic_url'}">
<h4 class="form-section">
<spring:message code="${region.configRegionValue}" />
</h4>
<%@include file="/WEB-INF/include/form/complexInfo.jsp" %>
</c:if>
<c:if test="${region.configServiceType eq 'subscribe_id'}">
<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="ntcSubscribeIdCfgList[${subscribeIdCfgIndex}]"></c:set>
<c:set var="regionValue" value="${region.configRegionValue}"></c:set>
<c:choose>
<c:when test="${fn:length(_cfg.ntcSubscribeIdCfgList)>0}">
<c:set var="isBreak" value="false" ></c:set>
<c:forEach items="${_cfg.ntcSubscribeIdCfgList}" 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="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+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="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+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="subscribeIdCfgIndex" value="${subscribeIdCfgIndex+1 }"></c:set>
</c:otherwise>
</c:choose>
</c:if>
</c:forEach>
<%@include file="/WEB-INF/include/form/areaInfo.jsp" %>
<%@include file="/WEB-INF/include/form/basicInfo.jsp" %>
</div>

View File

@@ -36,6 +36,51 @@
$("#searchForm")[0].reset();
$("#intype").attr("placeholder","<spring:message code='input'/> "+$("#seltype").find("option:selected").text());
});
//异步获取voip相关信息
$("span[id^=open]").click(function(){
var openId=$(this).attr("id");
var closeId=$(this).attr("id").replace("open","close");
var index=$(this).attr("id").replace("open","");
$("#"+openId).hide();
$("#"+closeId).show();
//var compileId=$(this).attr("compileId");
var cfgId=$(this).attr("cfgId");
if($("#"+openId).parent().parent().next("tr").hasClass("child")){
$("#"+openId).parent().parent().next("tr").show();
}else{
$.ajax({
type:'post',
async:false,
url:'${ctx}/ntc/av/ajaxAvPicUrlList',
data:{"cfgId":cfgId,"index":index},
dataType:"html",
success:function(data){
var subTab="<tr class='child'>"+
"<td style='border-right: 1px solid #FFFFFF;'>"+
"<input type='checkbox' hidden='hidden'/>"+
"</td>"+
"<td colspan='"+($(".table tr").eq(0).children("th").length-1)+"'>";
var html="";
html+="<div class='row'>";
html = html+data;
subTab=subTab+html;
subTab+="</td>";
subTab+="</tr>";
$("#"+openId).parent().parent().after(subTab);
$("div[name='tabTitle"+index+"']").get(0).click();
}
});
}
});
$("span[id^=close]").on("click",function(){
var closeId=$(this).attr("id");
var openId=$(this).attr("id").replace("close","open");
$("#"+closeId).hide();
$("#"+openId).show();
$("#"+closeId).parent().parent().next("tr").hide();
});
});
var edit=function(url){
var cked = $('tbody tr td input.i-checks:checkbox:checked');
@@ -318,7 +363,10 @@
<tbody>
<c:forEach items="${page.list }" var="cfg" varStatus="status" step="1">
<tr>
<td><input type="checkbox" class="i-checks" id="${cfg.cfgId}" compileId="${cfg.compileId}" value="${cfg.isAudit}"></td>
<td>
<span id="open${status.index}" class="" compileId="${cfg.compileId}" cfgId="${cfg.cfgId}"> ▷ </span><span style="display: none" id="close${status.index}" > ▼ </span>
<input type="checkbox" class="i-checks" id="${cfg.cfgId}" compileId="${cfg.compileId}" value="${cfg.isAudit}">
</td>
<td>${cfg.compileId }</td>
<td>${cfg.cfgDesc }</td>
<td>

View File

@@ -0,0 +1,331 @@
<%@ page contentType="text/html;charset=UTF-8"%>
<%@ include file="/WEB-INF/include/taglib.jsp"%>
<html>
<head>
</head>
<c:if test="${fn:length(tabList)==0}">
<div id="NTC_UNIVERSAL_IPInfo${index}" class="content" name="subCfg${index}">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<spring:message code='no_data' />
</div>
</div>
</div>
</div>
</c:if>
<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: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>
</c:if>
</c:if>
<c:if test="${region[0] eq 2 }">
<c:if test="${region[1] eq _cfg.cfgType }">
<div id="${region[1]}Info${index}" class="content content2" 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 items="${_cfg.ntcSubscribeIdCfgList}" var="cfg">
<c:if test="${region[1] eq cfg.cfgType }">
<div id="${region[1]}Info${index}" class="content content2" 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>

View File

@@ -36,8 +36,13 @@
submitHandler : function(form) {
var flag = true;
var subscribeId=0;
//存在隐藏的subscribeId不算进域配置
if($(".boxSolid.hidden").hasClass("subscribeId")){
subscribeId=1;
}
//代表所有业务都隐藏了,提示必须增加一种业务数据
if($(".boxSolid").length ==$(".boxSolid.hidden").length){
if(($(".boxSolid").length - 1) == ($(".boxSolid.hidden").length - subscribeId)){
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
return;
}
@@ -273,7 +278,7 @@
<c:forEach items="${_cfg.ntcSubscribeIdCfgList}" var="cfg">
<c:choose>
<c:when test="${region.configRegionValue eq cfg.cfgType and !isBreak}">
<div class="row boxSolid ${tabName}${status.index}">
<div class="row boxSolid subscribeId ${tabName}${status.index}">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="isBreak" value="true" ></c:set>
@@ -289,7 +294,7 @@
</c:if>
</c:when>
<c:otherwise>
<div class="row boxSolid ${tabName}${status.index} hidden disabled">
<div class="row boxSolid subscribeId ${tabName}${status.index} hidden disabled">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="strCfgIndex" value="${strCfgIndex+1 }"></c:set>

View File

@@ -39,8 +39,13 @@
submitHandler : function(form) {
var flag = true;
var subscribeId=0;
//存在隐藏的subscribeId不算进域配置
if($(".boxSolid.hidden").hasClass("subscribeId")){
subscribeId=1;
}
//代表所有业务都隐藏了,提示必须增加一种业务数据
if($(".boxSolid").length ==$(".boxSolid.hidden").length){
if(($(".boxSolid").length - 1) == ($(".boxSolid.hidden").length - subscribeId)){
top.$.jBox.tip("<spring:message code='one_more'/>", "<spring:message code='info'/>");
return;
}
@@ -271,7 +276,7 @@
<c:forEach items="${_cfg.ntcSubscribeIdCfgList}" var="cfg">
<c:choose>
<c:when test="${region.configRegionValue eq cfg.cfgType and !isBreak}">
<div class="row boxSolid ${tabName}${status.index}">
<div class="row boxSolid subscribeId ${tabName}${status.index}">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="isBreak" value="true" ></c:set>
@@ -287,7 +292,7 @@
</c:if>
</c:when>
<c:otherwise>
<div class="row boxSolid ${tabName}${status.index} hidden disabled">
<div class="row boxSolid subscribeId ${tabName}${status.index} hidden disabled">
<%@include file="/WEB-INF/views/cfg/complexCfgForm.jsp"%>
</div>
<c:set var="strCfgIndex" value="${strCfgIndex+1 }"></c:set>