From fd091e545ba174adc36a9d3370e6d4c040ad33fd Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 28 七月 2022 16:18:41 +0800 Subject: [PATCH] 优化hook订阅机制 --- src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java | 79 ++++++++++++++++++++++++++++++++++----- 1 files changed, 69 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java index 8445c7e..2311d4b 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java @@ -4,9 +4,12 @@ import com.alibaba.fastjson.JSONObject; import com.genersoft.iot.vmp.VManageBootstrap; import com.genersoft.iot.vmp.common.VersionPo; +import com.genersoft.iot.vmp.conf.DynamicTask; import com.genersoft.iot.vmp.conf.SipConfig; -import com.genersoft.iot.vmp.conf.UserSetup; +import com.genersoft.iot.vmp.conf.UserSetting; import com.genersoft.iot.vmp.conf.VersionInfo; +import com.genersoft.iot.vmp.media.zlm.ZLMHttpHookSubscribe; +import com.genersoft.iot.vmp.media.zlm.dto.IHookSubscribe; import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.service.IMediaServerService; import com.genersoft.iot.vmp.utils.SpringBeanFactory; @@ -27,6 +30,7 @@ import javax.sip.SipProvider; import java.util.Iterator; import java.util.List; +import java.util.Set; @SuppressWarnings("rawtypes") @Api(tags = "鏈嶅姟鎺у埗") @@ -36,19 +40,22 @@ public class ServerController { @Autowired - private ConfigurableApplicationContext context; + private ZLMHttpHookSubscribe zlmHttpHookSubscribe; @Autowired private IMediaServerService mediaServerService; @Autowired - VersionInfo versionInfo; + private VersionInfo versionInfo; @Autowired - SipConfig sipConfig; + private SipConfig sipConfig; @Autowired - UserSetup userSetup; + private UserSetting userSetting; + + @Autowired + private DynamicTask dynamicTask; @Value("${server.port}") private int serverPort; @@ -58,8 +65,6 @@ @GetMapping(value = "/media_server/list") @ResponseBody public WVPResult<List<MediaServerItem>> getMediaServerList(boolean detail){ - List<MediaServerItem> all = mediaServerService.getAll(); - WVPResult<List<MediaServerItem>> result = new WVPResult<>(); result.setCode(0); result.setMsg("success"); @@ -130,11 +135,21 @@ @PostMapping(value = "/media_server/save") @ResponseBody public WVPResult<String> saveMediaServer(@RequestBody MediaServerItem mediaServerItem){ - if (mediaServerService.getOne(mediaServerItem.getId()) != null) { + MediaServerItem mediaServerItemInDatabase = mediaServerService.getOne(mediaServerItem.getId()); + + if (mediaServerItemInDatabase != null) { + if (StringUtils.isEmpty(mediaServerItemInDatabase.getSendRtpPortRange()) + && StringUtils.isEmpty(mediaServerItem.getSendRtpPortRange())){ + mediaServerItem.setSendRtpPortRange("30000,30500"); + } mediaServerService.update(mediaServerItem); }else { + if (StringUtils.isEmpty(mediaServerItem.getSendRtpPortRange())){ + mediaServerItem.setSendRtpPortRange("30000,30500"); + } return mediaServerService.add(mediaServerItem); } + WVPResult<String> result = new WVPResult<>(); result.setCode(0); result.setMsg("success"); @@ -150,6 +165,7 @@ public WVPResult<String> deleteMediaServer(@RequestParam String id){ if (mediaServerService.getOne(id) != null) { mediaServerService.delete(id); + mediaServerService.deleteDb(id); }else { WVPResult<String> result = new WVPResult<>(); result.setCode(-1); @@ -223,14 +239,14 @@ jsonObject.put("server.port", serverPort); if (StringUtils.isEmpty(type)) { jsonObject.put("sip", JSON.toJSON(sipConfig)); - jsonObject.put("base", JSON.toJSON(userSetup)); + jsonObject.put("base", JSON.toJSON(userSetting)); }else { switch (type){ case "sip": jsonObject.put("sip", sipConfig); break; case "base": - jsonObject.put("base", userSetup); + jsonObject.put("base", userSetting); break; default: break; @@ -239,4 +255,47 @@ result.setData(jsonObject); return result; } + + @ApiOperation("鑾峰彇褰撳墠鎵�鏈塰ook") + @GetMapping(value = "/hooks") + @ResponseBody + public WVPResult<List<IHookSubscribe>> getHooks(){ + WVPResult<List<IHookSubscribe>> result = new WVPResult<>(); + result.setCode(0); + result.setMsg("success"); + List<IHookSubscribe> all = zlmHttpHookSubscribe.getAll(); + result.setData(all); + return result; + } + +// @ApiOperation("褰撳墠杩涜涓殑鍔ㄦ�佷换鍔�") +// @GetMapping(value = "/dynamicTask") +// @ResponseBody +// public WVPResult<JSONObject> getDynamicTask(){ +// WVPResult<JSONObject> result = new WVPResult<>(); +// result.setCode(0); +// result.setMsg("success"); +// +// JSONObject jsonObject = new JSONObject(); +// +// Set<String> allKeys = dynamicTask.getAllKeys(); +// jsonObject.put("server.port", serverPort); +// if (StringUtils.isEmpty(type)) { +// jsonObject.put("sip", JSON.toJSON(sipConfig)); +// jsonObject.put("base", JSON.toJSON(userSetting)); +// }else { +// switch (type){ +// case "sip": +// jsonObject.put("sip", sipConfig); +// break; +// case "base": +// jsonObject.put("base", userSetting); +// break; +// default: +// break; +// } +// } +// result.setData(jsonObject); +// return result; +// } } -- Gitblit v1.8.0