浏览代码

修复zlm离线状态下无法修改与移除zlm的bug

kindring 2 年之前
父节点
当前提交
d838746475

+ 1 - 0
src/main/java/com/genersoft/iot/vmp/service/IMediaServerService.java

@@ -21,6 +21,7 @@ public interface IMediaServerService {
 
     MediaServerItem getOne(String generalMediaServerId);
 
+    MediaServerItem getDbZLm(String generalMediaServerId);
     void syncCatchFromDatabase();
 
     /**

+ 4 - 0
src/main/java/com/genersoft/iot/vmp/service/impl/MediaServerServiceImpl.java

@@ -374,6 +374,10 @@ public class MediaServerServiceImpl implements IMediaServerService {
         return JsonUtil.redisJsonToObject(key, MediaServerItem.class);
     }
 
+    public MediaServerItem getDbZLm(String generalMediaServerId){
+        return mediaServerMapper.queryOne(generalMediaServerId);
+    }
+
     @Override
     public MediaServerItem getDefaultMediaServer() {
 

+ 6 - 4
src/main/java/com/genersoft/iot/vmp/vmanager/server/ServerController.java

@@ -142,9 +142,9 @@ public class ServerController {
     @PostMapping(value = "/media_server/save")
     @ResponseBody
     public void saveMediaServer(@RequestBody MediaServerItem mediaServerItem) {
-        MediaServerItem mediaServerItemInDatabase = mediaServerService.getOne(mediaServerItem.getId());
-
-        if (mediaServerItemInDatabase != null) {
+        MediaServerItem mediaServerItemInRedis = mediaServerService.getOne(mediaServerItem.getId());
+        MediaServerItem mediaServerItemInDB = mediaServerService.getDbZLm(mediaServerItem.getId());
+        if (mediaServerItemInRedis != null || mediaServerItemInDB != null ) {
             mediaServerService.update(mediaServerItem);
         } else {
             mediaServerService.add(mediaServerItem);
@@ -156,7 +156,9 @@ public class ServerController {
     @DeleteMapping(value = "/media_server/delete")
     @ResponseBody
     public void deleteMediaServer(@RequestParam String id) {
-        if (mediaServerService.getOne(id) == null) {
+        MediaServerItem mediaServerItemInDB = mediaServerService.getDbZLm(id);
+        MediaServerItem mediaServerItemInRedis = mediaServerService.getOne(id);
+        if (mediaServerItemInDB == null && mediaServerItemInRedis == null) {
             throw new ControllerException(ErrorCode.ERROR100.getCode(), "未找到此节点");
         }
         mediaServerService.delete(id);