From fede660d2145a88d0a031ee3526c30f6df9c1ce5 Mon Sep 17 00:00:00 2001 From: songww <songww@inspur.com> Date: 星期四, 14 五月 2020 14:41:49 +0800 Subject: [PATCH] 规范API格式 --- src/main/java/com/genersoft/iot/vmp/vmanager/device/DeviceController.java | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/device/DeviceController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/device/DeviceController.java index ce86910..60b48b1 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/device/DeviceController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/device/DeviceController.java @@ -1,8 +1,6 @@ package com.genersoft.iot.vmp.vmanager.device; import java.util.List; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -16,7 +14,9 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.context.request.async.DeferredResult; +import com.alibaba.fastjson.JSONObject; import com.genersoft.iot.vmp.gb28181.bean.Device; +import com.genersoft.iot.vmp.gb28181.event.DeviceOffLineDetector; import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder; import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; @@ -35,6 +35,9 @@ @Autowired private DeferredResultHolder resultHolder; + + @Autowired + private DeviceOffLineDetector offLineDetector; @GetMapping("/devices/{deviceId}") public ResponseEntity<Device> devices(@PathVariable String deviceId){ @@ -71,4 +74,25 @@ resultHolder.put(DeferredResultHolder.CALLBACK_CMD_CATALOG+deviceId, result); return result; } + + @PostMapping("/devices/{deviceId}/delete") + public ResponseEntity<String> delete(@PathVariable String deviceId){ + + if (logger.isDebugEnabled()) { + logger.debug("璁惧淇℃伅鍒犻櫎API璋冪敤锛宒eviceId锛�" + deviceId); + } + + if (offLineDetector.isOnline(deviceId)) { + return new ResponseEntity<String>("涓嶅厑璁稿垹闄ゅ湪绾胯澶囷紒", HttpStatus.NOT_ACCEPTABLE); + } + boolean isSuccess = storager.delete(deviceId); + if (isSuccess) { + JSONObject json = new JSONObject(); + json.put("deviceId", deviceId); + return new ResponseEntity<>(json.toString(),HttpStatus.OK); + } else { + logger.warn("璁惧棰勮API璋冪敤澶辫触锛�"); + return new ResponseEntity<String>("璁惧棰勮API璋冪敤澶辫触锛�", HttpStatus.INTERNAL_SERVER_ERROR); + } + } } -- Gitblit v1.8.0