diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java b/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java index 5936f7a70..1e638a916 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/AvContentController.java @@ -1,6 +1,7 @@ package com.nis.web.controller.configuration.ntc; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -15,12 +16,14 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.nis.domain.Page; +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.AvVoipIpCfg; import com.nis.util.StringUtil; import com.nis.web.controller.BaseController; +import com.nis.web.security.UserUtils; /** * 处理音视频文本业务 @@ -97,7 +100,14 @@ public class AvContentController extends BaseController { //修改VOIP配置审核状态 @RequestMapping(value = {"/auditAvVoip"}) public String auditVoip(Integer isAudit,Integer isValid,String ids,Integer functionId){ - avContentCfgService.auditAvVoip(isAudit,isValid,ids,functionId); + if(!StringUtil.isEmpty(ids)){ + String[] idArray = ids.split(","); + Date auditTime=new Date(); + for(String id :idArray){ + avContentCfgService.auditAvVoip(isAudit,isValid,functionId,id,auditTime); + } + + } return "redirect:" + adminPath +"/ntc/av/voipList?functionId="+functionId; } diff --git a/src/main/java/com/nis/web/dao/configuration/AreaIpCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/AreaIpCfgDao.xml index ef8437aa7..cb8404011 100644 --- a/src/main/java/com/nis/web/dao/configuration/AreaIpCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/AreaIpCfgDao.xml @@ -75,9 +75,6 @@ - - SELECT LAST_INSERT_ID() - insert into area_ip_cfg ( CFG_DESC, ACTION, @@ -146,9 +143,6 @@ - - SELECT LAST_INSERT_ID() - insert into area_ip_cfg ( CFG_DESC, ACTION, diff --git a/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml index 8f837e31c..2b771a296 100644 --- a/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/AvContentCfgDao.xml @@ -343,9 +343,6 @@ - - SELECT LAST_INSERT_ID() - insert into cfg_index_info( CFG_DESC, ACTION, @@ -390,9 +387,6 @@ - - SELECT LAST_INSERT_ID() - insert into av_voip_ip_cfg ( CFG_DESC, ACTION, @@ -461,9 +455,6 @@ - - SELECT LAST_INSERT_ID() - insert into av_voip_account_cfg ( CFG_DESC, ACTION, diff --git a/src/main/java/com/nis/web/service/configuration/AvContentCfgService.java b/src/main/java/com/nis/web/service/configuration/AvContentCfgService.java index 36a1c8c6a..8d6ab4c2e 100644 --- a/src/main/java/com/nis/web/service/configuration/AvContentCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/AvContentCfgService.java @@ -8,6 +8,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -23,6 +24,19 @@ import com.nis.domain.configuration.AvSignSampleCfg; import com.nis.domain.configuration.AvVoipAccountCfg; import com.nis.domain.configuration.AvVoipIpCfg; import com.nis.domain.configuration.CfgIndexInfo; +import com.nis.domain.configuration.HttpBodyCfg; +import com.nis.domain.configuration.HttpReqHeadCfg; +import com.nis.domain.configuration.HttpResHeadCfg; +import com.nis.domain.configuration.HttpUrlCfg; +import com.nis.domain.configuration.IpPortCfg; +import com.nis.domain.maat.MaatCfg; +import com.nis.domain.maat.ToMaatBean; +import com.nis.domain.maat.ToMaatResult; +import com.nis.domain.maat.MaatCfg.DigestCfg; +import com.nis.domain.maat.MaatCfg.GroupCfg; +import com.nis.domain.maat.MaatCfg.IpCfg; +import com.nis.domain.maat.MaatCfg.NumBoundaryCfg; +import com.nis.domain.maat.MaatCfg.StringCfg; import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; import com.nis.util.Constants; @@ -137,9 +151,8 @@ public class AvContentCfgService extends BaseService{ //调用服务接口获取compileId List compileIds = new ArrayList(); try { - //TODO - //compileIds = ConfigServiceUtil.getId(1,1); - compileIds.add((int)Math.floor(Math.random()*1000000+1)); + compileIds = ConfigServiceUtil.getId(1,1); + //compileIds.add((int)Math.floor(Math.random()*1000000+1)); } catch (Exception e) { e.printStackTrace(); logger.info("获取编译ID出错"); @@ -316,63 +329,108 @@ public class AvContentCfgService extends BaseService{ * @param ids 编译Id * @param functionId */ - public void auditAvVoip(Integer isAudit,Integer isValid,String ids,Integer functionId){ + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void auditAvVoip(Integer isAudit,Integer isValid,Integer functionId,String compileId,Date auditTime){ CfgIndexInfo entity = new CfgIndexInfo(); - String[] idArray = ids.split(","); + List list = new ArrayList(); List voipIpList = new ArrayList(); List voipAccountList = new ArrayList(); List areaIpCfgList = new ArrayList(); - Map childMap=new HashMap<>(); + CfgIndexInfo searchCfg=new CfgIndexInfo(); - Date auditTime=new Date(); - for(String id :idArray){ - searchCfg.setCompileId(Integer.parseInt(id)); - entity = avContentCfgDao.getCfgIndexInfo(searchCfg); - entity.setIsAudit(isAudit); - entity.setIsValid(isValid); - entity.setAuditorId(UserUtils.getUser().getId()); - entity.setAuditTime(auditTime); - voipIpList=avContentCfgDao.findVoipIpCfgList(entity); - voipAccountList=avContentCfgDao.findVoipAccountCfgList(entity); - areaIpCfgList=areaIpCfgDao.findAreaIpCfgList(entity); + searchCfg.setCompileId(Integer.parseInt(compileId)); + + entity = avContentCfgDao.getCfgIndexInfo(searchCfg); + entity.setIsAudit(isAudit); + entity.setIsValid(isValid); + entity.setAuditorId(UserUtils.getUser().getId()); + entity.setAuditTime(auditTime); + + + avContentCfgDao.updateAvVoipIp(entity); + avContentCfgDao.updateAvVoipAccount(entity); + avContentCfgDao.updateCfgIndexInfo(entity); + areaIpCfgDao.updateAreaIpCfgFromCfgIndexInfo(entity); + + voipIpList=avContentCfgDao.findVoipIpCfgList(entity); + voipAccountList=avContentCfgDao.findVoipAccountCfgList(entity); + areaIpCfgList=areaIpCfgDao.findAreaIpCfgList(entity); + + ToMaatBean maatBean = new ToMaatBean(); + MaatCfg maatCfg = new MaatCfg(); + List configCompileList = new ArrayList(); + List groupRelationList = new ArrayList(); + List ipRegionList = new ArrayList(); + List strRegionList = new ArrayList(); + List numRegionList = new ArrayList(); + List digestRegionList = new ArrayList(); + List areaIpRegionList = new ArrayList(); + + if(isAudit==1){ + if(!StringUtil.isEmpty(voipIpList)){ + Map ipMap = cfgConvert(ipRegionList,voipIpList,1,entity,groupRelationList); + groupRelationList=ipMap.get("groupList"); + ipRegionList=ipMap.get("dstList"); + } - avContentCfgDao.updateAvVoipIp(entity); - avContentCfgDao.updateAvVoipAccount(entity); - avContentCfgDao.updateCfgIndexInfo(entity); - areaIpCfgDao.updateAreaIpCfgFromCfgIndexInfo(entity); - childMap.put("voipIps", voipIpList); - childMap.put("voipAccounts", voipAccountList); - childMap.put("areaIpCfgs", areaIpCfgList); - list.add(entity); + if(!StringUtil.isEmpty(voipAccountList)){ + Map accountMap = cfgConvert(strRegionList,voipAccountList,2,entity,groupRelationList); + groupRelationList=accountMap.get("groupList"); + strRegionList=accountMap.get("dstList"); + } + if(!StringUtil.isEmpty(areaIpCfgList)){ + Map areaMap = cfgConvert(areaIpRegionList,areaIpCfgList,1,entity,groupRelationList); + groupRelationList=areaMap.get("groupList"); + areaIpRegionList=areaMap.get("dstList"); + } } - /*if(isAudit==1){ + + //构造提交综合服务参数格式,一条配置提交一次综合服务 + if(isAudit==1){ + maatCfg.initDefaultValue(); + BeanUtils.copyProperties(entity, maatCfg); + maatCfg.setAction(entity.getAction()); + maatCfg.setAuditTime(entity.getAuditTime()); + maatCfg.setIpRegionList(ipRegionList); + maatCfg.setStrRegionList(strRegionList); + maatCfg.setNumRegionList(numRegionList); + maatCfg.setDigestRegionList(digestRegionList); + maatCfg.setGroupRelationList(groupRelationList); + maatCfg.setGroupNum(groupRelationList.size()); + maatCfg.setAreaIpRegionList(areaIpRegionList); + maatCfg.setIsValid(entity.getIsValid()); + configCompileList.add(maatCfg); + maatBean.setConfigCompileList(configCompileList); + maatBean.setAuditTime(entity.getAuditTime()); + maatBean.setCreatorName(entity.getCurrentUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); + maatBean.setOpAction(Constants.INSERT_ACTION); //调用服务接口下发配置数据 - String json=gsonToJson(list); - logger.info("文件样例下发配置参数:"+json); + String json=gsonToJson(maatBean); + logger.info("voip配置下发配置参数:"+json); //调用服务接口下发配置 - try { - ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json); - logger.info("音视频VOIP配置下发响应信息:"+result.getMsg()); - } catch (Exception e) { - e.printStackTrace(); - logger.info("音视频VOIP配置下发失败"); - throw new MaatConvertException(":"+e.getMessage()); - } + ToMaatResult result = ConfigServiceUtil.postMaatCfg(json); + logger.info("voip配置下发响应信息:"+result.getMsg()); + }else if(isAudit==3){ + maatCfg.setCompileId(entity.getCompileId()); + maatCfg.setServiceId(entity.getServiceId()); + maatCfg.setIsValid(0);//无效 + configCompileList.add(maatCfg); + maatBean.setConfigCompileList(configCompileList); + maatBean.setAuditTime(entity.getAuditTime()); + maatBean.setCreatorName(entity.getCurrentUser().getName()); + maatBean.setVersion(Constants.MAAT_VERSION); + maatBean.setOpAction(Constants.UPDATE_ACTION); //调用服务接口取消配置 - String json=gsonToJson(list); - logger.info("音视频VOIP配置参数:"+json); - //调用服务接口取消配置 - try { - ToMaatResult result = ConfigServiceUtil.put(json, 2); - logger.info("音视频VOIP取消配置响应信息:"+result.getMsg()); - } catch (Exception e) { - e.printStackTrace(); - logger.info("音视频VOIP消配置失败"); - throw new MaatConvertException(":"+e.getMessage()); - } - }*/ + String json=gsonToJson(maatBean); + logger.info("http配置下发配置参数:"+json); + //调用服务接口下发配置 + ToMaatResult result = ConfigServiceUtil.put(json,1); + logger.info("http配置取消配置响应信息:"+result.getMsg()); + } + } @@ -411,9 +469,8 @@ public class AvContentCfgService extends BaseService{ //调用服务接口获取compileId List compileIds = new ArrayList(); try { - //TODO - //compileIds = ConfigServiceUtil.getId(1,1); - compileIds.add((int)Math.floor(Math.random()*1000000+1)); + compileIds = ConfigServiceUtil.getId(1,1); + //compileIds.add((int)Math.floor(Math.random()*1000000+1)); } catch (Exception e) { e.printStackTrace(); logger.info("获取编译ID出错"); diff --git a/src/main/webapp/WEB-INF/include/form/areaInfo.jsp b/src/main/webapp/WEB-INF/include/form/areaInfo.jsp index c57f03bc6..30a1f87d0 100644 --- a/src/main/webapp/WEB-INF/include/form/areaInfo.jsp +++ b/src/main/webapp/WEB-INF/include/form/areaInfo.jsp @@ -88,7 +88,7 @@ $(function(){
- + hidden" title="remove" onClick="delAreaIsp(this);"/>
@@ -142,13 +142,15 @@ $(function(){
+
-
- +
+
- + +
@@ -263,7 +265,7 @@ $(function(){
- + hidden" title="remove" onClick="delAreaIp(this);"/>
diff --git a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipForm.jsp b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipForm.jsp index 3256777d1..62af14cb4 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/voip/voipForm.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/voip/voipForm.jsp @@ -30,13 +30,6 @@ $(function(){ top.$.jBox.tip("", ""); return; } - //代表所有区域都隐藏了,提示必须增加个区域信息 - if($("input[name='isAreaEffective']:checked").val()==1 && $(".container-fluid:visible").size()==0){ - if($("#areaIsp").hasClass("hidden")) $("#areaIp").find(".glyphicon-plus").click(); - if($("#areaIp").hasClass("hidden")) $("#areaIsp").find(".glyphicon-plus").click(); - top.$.jBox.tip("", ""); - return; - } form.submit(); }, errorContainer: "#messageBox", diff --git a/src/main/webapp/static/global/scripts/common.js b/src/main/webapp/static/global/scripts/common.js index 712a2034b..0749d2961 100644 --- a/src/main/webapp/static/global/scripts/common.js +++ b/src/main/webapp/static/global/scripts/common.js @@ -43,6 +43,9 @@ $(function(){ $("#areaIsp").find(".container-fluid").each(function(){ if(!$(this).hasClass("hidden")) $(this).remove(); }); + if(len==0){ + $("#areaIp").find(".container-fluid:visible").eq(0).find("span[title=remove]").addClass("hidden"); + } }else if($(this).parent().parent().parent().attr("id")=="areaIsp"){ obj.find("[name^='areaCode']").each(function(){ $(this).attr("name","areaIsp["+len+"].area"); @@ -58,6 +61,9 @@ $(function(){ $("#areaIp").find(".container-fluid").each(function(){ if(!$(this).hasClass("hidden")) $(this).remove(); }); + if(len==0){ + $("#areaIsp").find(".container-fluid:visible").eq(0).find("span[title=remove]").addClass("hidden"); + } } }); $("input[name='areaType']").on('change',function(){ @@ -65,16 +71,28 @@ $(function(){ if($(this).is(":visible")){ if(val==0){ $("#areaIp").removeClass("hidden"); + /*$("#areaIsp").find(".container-fluid:visible").find("input,select,div,button").each(function(){ + $(this).attr("disabled","true"); + });*/ $("#areaIsp").addClass("hidden"); if($("#areaIp").find(".container-fluid:visible").size() <1){ $("#areaIp").find(".glyphicon-plus").click(); } + /*$("#areaIp").find(".container-fluid:visible").find("input,select,div,button").each(function(){ + $(this).removeAttr("disabled"); + });*/ }else{ $("#areaIsp").removeClass("hidden"); + /*$("#areaIp").find(".container-fluid:visible").find("input,select,div,button").each(function(){ + $(this).attr("disabled","true"); + });*/ $("#areaIp").addClass("hidden"); if($("#areaIsp").find(".container-fluid:visible").size() <1){ $("#areaIsp").find(".glyphicon-plus").click(); } + /*$("#areaIsp").find(".container-fluid:visible").find("input,select,div,button").each(function(){ + $(this).removeAttr("disabled"); + });*/ } }else{ $("#areaIsp").addClass("hidden");