diff --git a/src/main/java/com/nis/domain/configuration/AvSignSampleCfg.java b/src/main/java/com/nis/domain/configuration/AvSignSampleCfg.java index 70c51ef4e..30e8c7490 100644 --- a/src/main/java/com/nis/domain/configuration/AvSignSampleCfg.java +++ b/src/main/java/com/nis/domain/configuration/AvSignSampleCfg.java @@ -18,7 +18,14 @@ public class AvSignSampleCfg extends BaseCfg { private Integer compileId; private Integer isValidOld; + private Integer actionOld;//判断动作是否变更 + public Integer getActionOld() { + return actionOld; + } + public void setActionOld(Integer actionOld) { + this.actionOld = actionOld; + } public Integer getIsValidOld() { return isValidOld; } diff --git a/src/main/java/com/nis/util/ConfigServiceUtil.java b/src/main/java/com/nis/util/ConfigServiceUtil.java index 62ef868dc..e1b9d9369 100644 --- a/src/main/java/com/nis/util/ConfigServiceUtil.java +++ b/src/main/java/com/nis/util/ConfigServiceUtil.java @@ -1,6 +1,7 @@ package com.nis.util; import java.io.File; +import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URI; import java.util.ArrayList; @@ -15,6 +16,8 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriBuilder; +import org.apache.http.client.ClientProtocolException; +import org.apache.http.client.utils.HttpClientUtils; import org.glassfish.jersey.media.multipart.FormDataMultiPart; import org.glassfish.jersey.media.multipart.file.FileDataBodyPart; import org.slf4j.Logger; @@ -28,6 +31,7 @@ import com.nis.domain.maat.ToMaatResult; import com.nis.domain.maat.MaatCfg.IpCfg; import com.nis.exceptions.MaatConvertException; import com.nis.util.httpclient.ClientUtil; +import com.nis.util.httpclient.HttpClientUtil; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; @@ -281,6 +285,39 @@ public class ConfigServiceUtil { } return bean; } + /** + * 配置状态修改patch + * @param params + * @param type,1表示maat配置取消,2表示回调配置取消,3,分组复用删除域 + * @return + */ + public static String patch(String params,Integer type) throws MaatConvertException{ + String result = null; + ToMaatResult bean = null; + String url = Constants.SERVICE_URL; + if(type==1){ + url = url+Constants.MAAT_CFG; + }else if(type==2){ + url = url+Constants.CALLBACK_CFG; + }else if(type==3) { + url = url+Constants.GROUP_REUSE_SOURCES; + } + logger.info("put url:"+url); + //创建连接 + try { + ClientUtil.initClient(); + Client client=ClientUtil.getClient(); + result = HttpClientUtil.patch(url, params); +// JSONObject resObject = JSONObject.fromObject(result); +// bean = (ToMaatResult) JSONObject.toBean(resObject,ToMaatResult.class); + //获取响应结果 + } catch (Exception e) { + e.printStackTrace(); + throw new MaatConvertException(":"+result); + } + + return result; + } /** * 信息获取 * @param params diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java b/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java index 3b08b6883..8db2cf79a 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/AvController.java @@ -15,10 +15,12 @@ import org.springframework.ui.Model; import org.springframework.util.FileCopyUtils; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.FunctionRegionDict; +import com.nis.domain.FunctionServiceDict; import com.nis.domain.Page; import com.nis.domain.configuration.AvFileSampleCfg; import com.nis.domain.configuration.AvSignSampleCfg; @@ -83,6 +85,8 @@ public class AvController extends BaseController { model.addAttribute("regionValue",region.getConfigRegionValue()); break; }*/ + List serviceList = DictUtils.getFunctionServiceDictList(entity.getFunctionId()); + model.addAttribute("serviceList", serviceList); //return "/cfg/av/signSampleList"; return "/cfg/av/switchSignSample"; } @@ -330,21 +334,43 @@ public class AvController extends BaseController { * @return */ @RequestMapping(value = {"/sample/auditAvSignSample"}) - public String auditAvSignSample(AvSignSampleCfgModel cfg,Integer functionId,RedirectAttributes redirectAttributes){ + public String auditAvSignSample(Integer preset,AvSignSampleCfgModel cfg,Integer functionId,RedirectAttributes redirectAttributes){ + //预置配置 + try { + if(preset!=null&&1==preset){ + avCfgService.auditAvSignSample(); + addMessage(redirectAttributes,"audit_success"); + return "redirect:" + adminPath +"/ntc/av/sample/signSampleList?functionId="+functionId; + } + } catch (Exception e1) { + e1.printStackTrace(); + if(e1 instanceof MaatConvertException) { + logger.error("预置失败",e1); + addMessage(redirectAttributes,"request_service_failed"); + }else { + logger.error("auditAvSignSample failed",e1); + addMessage(redirectAttributes,"audit_failed"); + } + } + //修改下发配置 if(cfg != null && cfg.getCfgs() != null ){ for (AvSignSampleCfg avSignSampleCfg : cfg.getCfgs()) { if(StringUtil.isEmpty(avSignSampleCfg.getIsValid())){ avSignSampleCfg.setIsValid(0); } + if(cfg.getAction()!=null){ + avSignSampleCfg.setAction(cfg.getAction()); + } //isValid值变更才下发 - if(!avSignSampleCfg.getIsValid().equals(avSignSampleCfg.getIsValidOld())){ +// if(!avSignSampleCfg.getAction().equals(avSignSampleCfg.getActionOld())||!avSignSampleCfg.getIsValid().equals(avSignSampleCfg.getIsValidOld())){ try { avCfgService.auditAvSignSample(avSignSampleCfg); + addMessage(redirectAttributes,"audit_success"); }catch(Exception e){ e.printStackTrace(); if(e instanceof MaatConvertException) { logger.error("下发失败",e); - addMessage(redirectAttributes,e.getMessage()); + addMessage(redirectAttributes,"request_service_failed"); }else { logger.error("auditAvSignSample failed",e); addMessage(redirectAttributes,"audit_failed"); @@ -352,7 +378,7 @@ public class AvController extends BaseController { } } - } +// } } return "redirect:" + adminPath +"/ntc/av/sample/signSampleList?functionId="+functionId; } diff --git a/src/main/java/com/nis/web/dao/configuration/AvCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/AvCfgDao.xml index d12cff04a..8ab908b38 100644 --- a/src/main/java/com/nis/web/dao/configuration/AvCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/AvCfgDao.xml @@ -513,9 +513,32 @@ - update av_sign_sample_cfg set is_valid = #{isValid,jdbcType=INTEGER}, - editor_id = #{editorId,jdbcType=INTEGER} , - edit_time = #{editTime,jdbcType=TIMESTAMP} where cfg_id = #{cfgId,jdbcType=BIGINT} + update av_sign_sample_cfg + + is_valid = #{isValid,jdbcType=INTEGER}, + + service_id=#{serviceId,jdbcType=INTEGER}, + + + action=#{action,jdbcType=INTEGER}, + + + level=#{level,jdbcType=INTEGER}, + + + editor_id = #{editorId,jdbcType=INTEGER}, + + + edit_time = #{editTime,jdbcType=TIMESTAMP}, + + + audit_time = #{auditTime,jdbcType=TIMESTAMP}, + + + auditor_id = #{auditorId,jdbcType=INTEGER} + + + where cfg_id = #{cfgId,jdbcType=BIGINT} update av_sign_sample_cfg set is_audit = #{isAudit,jdbcType=INTEGER}, diff --git a/src/main/java/com/nis/web/service/configuration/AvCfgService.java b/src/main/java/com/nis/web/service/configuration/AvCfgService.java index 90bc870f6..0ffb579ac 100644 --- a/src/main/java/com/nis/web/service/configuration/AvCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/AvCfgService.java @@ -15,6 +15,7 @@ import java.util.Map; import org.apache.commons.lang.StringEscapeUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.nis.domain.Page; import com.nis.domain.configuration.AvFileSampleCfg; @@ -376,21 +377,75 @@ public class AvCfgService extends BaseService{ } } - public void auditAvSignSample(AvSignSampleCfg entity) throws MaatConvertException{ - - avCfgDao.updateAvSignSampleValid(entity); - - avCfgDao.auditAvSignSample(entity); - List list = new ArrayList(); - list.add(entity); - //调用服务接口取消配置 - String json=gsonToJson(list); - logger.info("标志状态变更:"+json); - //调用服务接口取消配置 - ToMaatResult result = ConfigServiceUtil.put(json, 2); - logger.info("音视频标志样状态变更响应信息:"+result.getMsg()); - - } + //预置配置下发 + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void auditAvSignSample() throws MaatConvertException{ + try { + AvSignSampleCfg entity = new AvSignSampleCfg(); + List avSignSampleList = avCfgDao.getAvSignSampleList(entity); + if(avSignSampleList!=null&&avSignSampleList.size()>0){ +// avCfgDao.updateAvSignSampleValid(entity); +// avCfgDao.auditAvSignSample(entity); +// List list = new ArrayList(); +// avSignSampleList.add(entity); + for (AvSignSampleCfg av : avSignSampleList) { + av.setAuditTime(new Date()); + av.setAuditorId(UserUtils.getUser().getId()); + if(av.getIsValid()!=null&&av.getIsValid()!=1){ + av.setIsValid(1); + } + avCfgDao.updateAvSignSampleValid(av); + } + //调用服务接口取消配置 + String json=gsonToJson(avSignSampleList); + logger.info("标志状态变更:"+json); + //调用服务接口取消配置 + ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json); + logger.info("音视频标志样状态变更响应信息:"+result.getMsg()); + }else{ + logger.info("视频场景预置失败,数据为空"); + throw new MaatConvertException(""); + } + } catch (Exception e) { + e.printStackTrace(); + logger.info("视频场景预置失败,数据为空"); + throw new MaatConvertException(""); + } + + } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void auditAvSignSample(AvSignSampleCfg entity) throws Exception{ + List list = new ArrayList(); + entity.setAuditTime(new Date()); + entity.setDescription("0"); + list.add(entity); + try { + avCfgDao.updateAvSignSampleValid(entity); + +// avCfgDao.auditAvSignSample(entity); + //更新配置 + + if(entity.getIsValid()!=null&&entity.getIsValid()==Constants.VALID_YES){ + //调用服务接口取消配置 + String json=gsonToJson(list); + logger.info("标志状态变更:"+json); + //调用服务接口取消配置 + String result = ConfigServiceUtil.patch(json, 2); + logger.info("视频标志样状态变更响应信息:"+result); + } + if(entity.getIsValid()!=null&&entity.getIsValid()==Constants.VALID_NO){ + //调用服务接口取消配置 + String json=gsonToJson(list); + logger.info("标志状态变更:"+json); + //调用服务接口取消配置 + ToMaatResult result = ConfigServiceUtil.put(json, 2); + logger.info("视频标志样状态变更响应信息:"+result.getMsg()); + } + } catch (Exception e) { + e.printStackTrace(); + } + + } /*public void auditAvSignSample(AvSignSampleCfg entity,Integer isAudit) throws MaatConvertException{ avCfgDao.auditAvSignSample(entity); List list = new ArrayList(); diff --git a/src/main/webapp/WEB-INF/views/cfg/av/switchSignSample.jsp b/src/main/webapp/WEB-INF/views/cfg/av/switchSignSample.jsp index 6f06d1f13..7447e5022 100644 --- a/src/main/webapp/WEB-INF/views/cfg/av/switchSignSample.jsp +++ b/src/main/webapp/WEB-INF/views/cfg/av/switchSignSample.jsp @@ -5,7 +5,7 @@ <spring:message code="${cfgName}"></spring:message>