1、修复voip修改时,无法及时更新去信息bug
2、增加voip配置下发功能 3、修改区域信息选择,至少添加一条ip或isp信息
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -75,9 +75,6 @@
|
||||
</select>
|
||||
<!-- insert area_ip_cfg表信息 -->
|
||||
<insert id="saveAreaIpCfg" parameterType="com.nis.domain.configuration.AreaIpCfg" >
|
||||
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into area_ip_cfg (
|
||||
CFG_DESC,
|
||||
ACTION,
|
||||
@@ -146,9 +143,6 @@
|
||||
</insert>
|
||||
<!-- insert area_ip_cfg表信息 -->
|
||||
<insert id="saveAreaIpCfgFromCfgIndexInfo" parameterType="com.nis.domain.configuration.CfgIndexInfo" >
|
||||
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into area_ip_cfg (
|
||||
CFG_DESC,
|
||||
ACTION,
|
||||
|
||||
@@ -343,9 +343,6 @@
|
||||
</select>
|
||||
<!-- insert cfgIndexInfox -->
|
||||
<insert id="insertCfgIndexInfo" parameterType="com.nis.domain.configuration.CfgIndexInfo" >
|
||||
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into cfg_index_info(
|
||||
CFG_DESC,
|
||||
ACTION,
|
||||
@@ -390,9 +387,6 @@
|
||||
</insert>
|
||||
<!-- insert AV_VOIP_IP_CFG表信息 -->
|
||||
<insert id="insertAvVoipIp" parameterType="com.nis.domain.configuration.CfgIndexInfo" >
|
||||
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into av_voip_ip_cfg (
|
||||
CFG_DESC,
|
||||
ACTION,
|
||||
@@ -461,9 +455,6 @@
|
||||
</insert>
|
||||
<!-- insert AV_VOIP_ACCOUNT_CFG表信息 -->
|
||||
<insert id="insertAvVoipAccount" parameterType="com.nis.domain.configuration.CfgIndexInfo" >
|
||||
<selectKey resultType="java.lang.Long" order="AFTER" keyProperty="cfgId">
|
||||
SELECT LAST_INSERT_ID()
|
||||
</selectKey>
|
||||
insert into av_voip_account_cfg (
|
||||
CFG_DESC,
|
||||
ACTION,
|
||||
|
||||
@@ -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<Integer> compileIds = new ArrayList<Integer>();
|
||||
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<CfgIndexInfo> list = new ArrayList();
|
||||
List<AvVoipIpCfg> voipIpList = new ArrayList();
|
||||
List<AvVoipAccountCfg> voipAccountList = new ArrayList();
|
||||
List<AreaIpCfg> areaIpCfgList = new ArrayList();
|
||||
Map<String, Object> 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<MaatCfg> configCompileList = new ArrayList();
|
||||
List<GroupCfg> groupRelationList = new ArrayList();
|
||||
List<IpCfg> ipRegionList = new ArrayList();
|
||||
List<StringCfg> strRegionList = new ArrayList();
|
||||
List<NumBoundaryCfg> numRegionList = new ArrayList();
|
||||
List<DigestCfg> digestRegionList = new ArrayList();
|
||||
List<IpCfg> areaIpRegionList = new ArrayList();
|
||||
|
||||
if(isAudit==1){
|
||||
if(!StringUtil.isEmpty(voipIpList)){
|
||||
Map<String,List> 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<String,List> accountMap = cfgConvert(strRegionList,voipAccountList,2,entity,groupRelationList);
|
||||
groupRelationList=accountMap.get("groupList");
|
||||
strRegionList=accountMap.get("dstList");
|
||||
}
|
||||
if(!StringUtil.isEmpty(areaIpCfgList)){
|
||||
Map<String,List> 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("<spring:message code=\"request_service_failed\"/>:"+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("<spring:message code=\"request_service_failed\"/>:"+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<Integer> compileIds = new ArrayList<Integer>();
|
||||
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出错");
|
||||
|
||||
@@ -88,7 +88,7 @@ $(function(){
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="pull-right">
|
||||
<span class="glyphicon glyphicon-remove" title="remove" onClick="delAreaIsp(this);"/>
|
||||
<span class="glyphicon glyphicon-remove <c:if test="${status.index==0 }">hidden</c:if>" title="remove" onClick="delAreaIsp(this);"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@@ -142,13 +142,15 @@ $(function(){
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ip_type"/></label>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3"><font color="red">*</font><spring:message code="ip_pattern"/></label>
|
||||
<div class="col-md-6">
|
||||
<select name="_areaCfg.ipType" class="selectpicker show-tick form-control required">
|
||||
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="ipType">
|
||||
<option value="${ipType.itemCode}">${ipType.itemValue}</option>
|
||||
|
||||
<select id="_areaCfg.ipType" class="show-tick form-control required">
|
||||
<c:forEach items="${fns:getDictList('IP_TYPE')}" var="ipTypeC">
|
||||
<option value="${ipTypeC.itemCode}">${ipTypeC.itemValue}</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
@@ -263,7 +265,7 @@ $(function(){
|
||||
<input type="hidden" name="areaCfg[${status.index}].isAreaEffective" value="${areaCfg.isAreaEffective}">
|
||||
<input name="areaCfg[${status.index}].cfgId" type="hidden" value="${areaCfg.cfgId}">
|
||||
<div class="pull-right">
|
||||
<span class="glyphicon glyphicon-remove" title="remove" onClick="delAreaIp(this);"/>
|
||||
<span class="glyphicon glyphicon-remove <c:if test="${status.index==0 }">hidden</c:if>" title="remove" onClick="delAreaIp(this);"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
@@ -30,13 +30,6 @@ $(function(){
|
||||
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($("#areaIsp").hasClass("hidden")) $("#areaIp").find(".glyphicon-plus").click();
|
||||
if($("#areaIp").hasClass("hidden")) $("#areaIsp").find(".glyphicon-plus").click();
|
||||
top.$.jBox.tip("<spring:message code='one_more_area'/>", "<spring:message code='info'/>");
|
||||
return;
|
||||
}
|
||||
form.submit();
|
||||
},
|
||||
errorContainer: "#messageBox",
|
||||
|
||||
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user