From 3c52a16e5fcf9a1f20b3ef06220e021b712337b6 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 18 十月 2022 17:02:05 +0800
Subject: [PATCH] 支持手动添加,为设备设置单独的密码

---
 src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java |   51 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 32 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
index 37fb98e..d91b596 100644
--- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
+++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
@@ -76,9 +76,6 @@
 	@Autowired
 	private DynamicTask dynamicTask;
 
-	@Autowired
-	private SubscribeHolder subscribeHolder;
-
 	/**
 	 * 浣跨敤ID鏌ヨ鍥芥爣璁惧
 	 * @param deviceId 鍥芥爣ID
@@ -184,7 +181,7 @@
 		}
 
 		// 娓呴櫎redis璁板綍
-		boolean isSuccess = storager.delete(deviceId);
+		boolean isSuccess = deviceService.delete(deviceId);
 		if (isSuccess) {
 			redisCatchStorage.clearCatchByDeviceId(deviceId);
 			// 鍋滄姝よ澶囩殑璁㈤槄鏇存柊
@@ -228,7 +225,7 @@
 	@Parameter(name = "online", description = "鏄惁鍦ㄧ嚎")
 	@Parameter(name = "channelType", description = "璁惧/瀛愮洰褰�-> false/true")
 	@GetMapping("/sub_channels/{deviceId}/{channelId}/channels")
-	public ResponseEntity<PageInfo> subChannels(@PathVariable String deviceId,
+	public PageInfo subChannels(@PathVariable String deviceId,
 												  @PathVariable String channelId,
 												  int page,
 												  int count,
@@ -239,11 +236,11 @@
 		DeviceChannel deviceChannel = storager.queryChannel(deviceId,channelId);
 		if (deviceChannel == null) {
 			PageInfo<DeviceChannel> deviceChannelPageResult = new PageInfo<>();
-			return new ResponseEntity<>(deviceChannelPageResult,HttpStatus.OK);
+			return deviceChannelPageResult;
 		}
 
 		PageInfo pageResult = storager.querySubChannels(deviceId, channelId, query, channelType, online, page, count);
-		return new ResponseEntity<>(pageResult,HttpStatus.OK);
+		return pageResult;
 	}
 
 	/**
@@ -256,9 +253,8 @@
 	@Parameter(name = "deviceId", description = "璁惧鍥芥爣缂栧彿", required = true)
 	@Parameter(name = "channel", description = "閫氶亾淇℃伅", required = true)
 	@PostMapping("/channel/update/{deviceId}")
-	public ResponseEntity updateChannel(@PathVariable String deviceId,DeviceChannel channel){
+	public void updateChannel(@PathVariable String deviceId,DeviceChannel channel){
 		deviceChannelService.updateChannel(deviceId, channel);
-		return new ResponseEntity<>(null,HttpStatus.OK);
 	}
 
 	/**
@@ -272,11 +268,32 @@
 	@Parameter(name = "streamMode", description = "鏁版嵁娴佷紶杈撴ā寮�, 鍙栧�硷細" +
 			"UDP锛坲dp浼犺緭锛夛紝TCP-ACTIVE锛坱cp涓诲姩妯″紡,鏆備笉鏀寔锛夛紝TCP-PASSIVE锛坱cp琚姩妯″紡锛�", required = true)
 	@PostMapping("/transport/{deviceId}/{streamMode}")
-	public ResponseEntity updateTransport(@PathVariable String deviceId, @PathVariable String streamMode){
-		Device device = storager.queryVideoDevice(deviceId);
+	public void updateTransport(@PathVariable String deviceId, @PathVariable String streamMode){
+		Device device = deviceService.getDevice(deviceId);
 		device.setStreamMode(streamMode);
-		deviceService.updateDevice(device);
-		return new ResponseEntity<>(null,HttpStatus.OK);
+		deviceService.updateCustomDevice(device);
+	}
+
+	/**
+	 * 娣诲姞璁惧淇℃伅
+	 * @param device 璁惧淇℃伅
+	 * @return
+	 */
+	@Operation(summary = "娣诲姞璁惧淇℃伅")
+	@Parameter(name = "device", description = "璁惧", required = true)
+	@PostMapping("/device/add/")
+	public void addDevice(Device device){
+
+		if (device == null || device.getDeviceId() == null) {
+			throw new ControllerException(ErrorCode.ERROR400);
+		}
+
+		// 鏌ョ湅deviceId鏄惁瀛樺湪
+		boolean exist = deviceService.isExist(device.getDeviceId());
+		if (exist) {
+			throw new ControllerException(ErrorCode.ERROR100.getCode(), "璁惧缂栧彿宸插瓨鍦�");
+		}
+		deviceService.addDevice(device);
 	}
 
 	/**
@@ -287,15 +304,11 @@
 	@Operation(summary = "鏇存柊璁惧淇℃伅")
 	@Parameter(name = "device", description = "璁惧", required = true)
 	@PostMapping("/device/update/")
-	public ResponseEntity<WVPResult<String>> updateDevice(Device device){
+	public void updateDevice(Device device){
 
 		if (device != null && device.getDeviceId() != null) {
-			deviceService.updateDevice(device);
+			deviceService.updateCustomDevice(device);
 		}
-		WVPResult<String> result = new WVPResult<>();
-		result.setCode(0);
-		result.setMsg("success");
-		return new ResponseEntity<>(result,HttpStatus.OK);
 	}
 
 	/**

--
Gitblit v1.8.0