|  | @@ -3,6 +3,7 @@ package com.genersoft.iot.vmp.vmanager.gb28181.device;
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson2.JSONObject;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.conf.DynamicTask;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.conf.exception.ControllerException;
 | 
	
		
			
				|  |  | +import com.genersoft.iot.vmp.conf.security.JwtUtils;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.gb28181.bean.Device;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
 | 
	
		
			
				|  |  |  import com.genersoft.iot.vmp.gb28181.bean.SyncStatus;
 | 
	
	
		
			
				|  | @@ -23,6 +24,7 @@ import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
 | 
	
		
			
				|  |  |  import com.github.pagehelper.PageInfo;
 | 
	
		
			
				|  |  |  import io.swagger.v3.oas.annotations.Operation;
 | 
	
		
			
				|  |  |  import io.swagger.v3.oas.annotations.Parameter;
 | 
	
		
			
				|  |  | +import io.swagger.v3.oas.annotations.security.SecurityRequirement;
 | 
	
		
			
				|  |  |  import io.swagger.v3.oas.annotations.tags.Tag;
 | 
	
		
			
				|  |  |  import org.apache.commons.compress.utils.IOUtils;
 | 
	
		
			
				|  |  |  import org.apache.ibatis.annotations.Options;
 | 
	
	
		
			
				|  | @@ -85,7 +87,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * @param deviceId 国标ID
 | 
	
		
			
				|  |  |  	 * @return 国标设备
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	@Operation(summary = "查询国标设备")
 | 
	
		
			
				|  |  | +	@Operation(summary = "查询国标设备", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "deviceId", description = "设备国标编号", required = true)
 | 
	
		
			
				|  |  |  	@GetMapping("/devices/{deviceId}")
 | 
	
		
			
				|  |  |  	public Device devices(@PathVariable String deviceId){
 | 
	
	
		
			
				|  | @@ -99,7 +101,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * @param count 每页查询数量
 | 
	
		
			
				|  |  |  	 * @return 分页国标列表
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	@Operation(summary = "分页查询国标设备")
 | 
	
		
			
				|  |  | +	@Operation(summary = "分页查询国标设备", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "page", description = "当前页", required = true)
 | 
	
		
			
				|  |  |  	@Parameter(name = "count", description = "每页查询数量", required = true)
 | 
	
		
			
				|  |  |  	@GetMapping("/devices")
 | 
	
	
		
			
				|  | @@ -123,7 +125,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * @return 通道列表
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  |  	@GetMapping("/devices/{deviceId}/channels")
 | 
	
		
			
				|  |  | -	@Operation(summary = "分页查询通道")
 | 
	
		
			
				|  |  | +	@Operation(summary = "分页查询通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "deviceId", description = "设备国标编号", required = true)
 | 
	
		
			
				|  |  |  	@Parameter(name = "page", description = "当前页", required = true)
 | 
	
		
			
				|  |  |  	@Parameter(name = "count", description = "每页查询数量", required = true)
 | 
	
	
		
			
				|  | @@ -149,7 +151,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * @param deviceId 设备id
 | 
	
		
			
				|  |  |  	 * @return
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	@Operation(summary = "同步设备通道")
 | 
	
		
			
				|  |  | +	@Operation(summary = "同步设备通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "deviceId", description = "设备国标编号", required = true)
 | 
	
		
			
				|  |  |  	@GetMapping("/devices/{deviceId}/sync")
 | 
	
		
			
				|  |  |  	public WVPResult<SyncStatus> devicesSync(@PathVariable String deviceId){
 | 
	
	
		
			
				|  | @@ -177,7 +179,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * @param deviceId 设备id
 | 
	
		
			
				|  |  |  	 * @return
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	@Operation(summary = "移除设备")
 | 
	
		
			
				|  |  | +	@Operation(summary = "移除设备", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "deviceId", description = "设备国标编号", required = true)
 | 
	
		
			
				|  |  |  	@DeleteMapping("/devices/{deviceId}/delete")
 | 
	
		
			
				|  |  |  	public String delete(@PathVariable String deviceId){
 | 
	
	
		
			
				|  | @@ -222,7 +224,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * @param channelType 通道类型
 | 
	
		
			
				|  |  |  	 * @return 子通道列表
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	@Operation(summary = "分页查询子目录通道")
 | 
	
		
			
				|  |  | +	@Operation(summary = "分页查询子目录通道", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "deviceId", description = "设备国标编号", required = true)
 | 
	
		
			
				|  |  |  	@Parameter(name = "channelId", description = "通道国标编号", required = true)
 | 
	
		
			
				|  |  |  	@Parameter(name = "page", description = "当前页", required = true)
 | 
	
	
		
			
				|  | @@ -254,7 +256,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * @param channel 通道
 | 
	
		
			
				|  |  |  	 * @return
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	@Operation(summary = "更新通道信息")
 | 
	
		
			
				|  |  | +	@Operation(summary = "更新通道信息", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "deviceId", description = "设备国标编号", required = true)
 | 
	
		
			
				|  |  |  	@Parameter(name = "channel", description = "通道信息", required = true)
 | 
	
		
			
				|  |  |  	@PostMapping("/channel/update/{deviceId}")
 | 
	
	
		
			
				|  | @@ -268,7 +270,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * @param streamMode 数据流传输模式
 | 
	
		
			
				|  |  |  	 * @return
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	@Operation(summary = "修改数据流传输模式")
 | 
	
		
			
				|  |  | +	@Operation(summary = "修改数据流传输模式", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "deviceId", description = "设备国标编号", required = true)
 | 
	
		
			
				|  |  |  	@Parameter(name = "streamMode", description = "数据流传输模式, 取值:" +
 | 
	
		
			
				|  |  |  			"UDP(udp传输),TCP-ACTIVE(tcp主动模式,暂不支持),TCP-PASSIVE(tcp被动模式)", required = true)
 | 
	
	
		
			
				|  | @@ -284,7 +286,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * @param device 设备信息
 | 
	
		
			
				|  |  |  	 * @return
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	@Operation(summary = "添加设备信息")
 | 
	
		
			
				|  |  | +	@Operation(summary = "添加设备信息", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "device", description = "设备", required = true)
 | 
	
		
			
				|  |  |  	@PostMapping("/device/add/")
 | 
	
		
			
				|  |  |  	public void addDevice(Device device){
 | 
	
	
		
			
				|  | @@ -306,7 +308,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * @param device 设备信息
 | 
	
		
			
				|  |  |  	 * @return
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	@Operation(summary = "更新设备信息")
 | 
	
		
			
				|  |  | +	@Operation(summary = "更新设备信息", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "device", description = "设备", required = true)
 | 
	
		
			
				|  |  |  	@PostMapping("/device/update/")
 | 
	
		
			
				|  |  |  	public void updateDevice(Device device){
 | 
	
	
		
			
				|  | @@ -321,7 +323,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * 
 | 
	
		
			
				|  |  |  	 * @param deviceId 设备id
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	@Operation(summary = "设备状态查询")
 | 
	
		
			
				|  |  | +	@Operation(summary = "设备状态查询", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "deviceId", description = "设备国标编号", required = true)
 | 
	
		
			
				|  |  |  	@GetMapping("/devices/{deviceId}/status")
 | 
	
		
			
				|  |  |  	public DeferredResult<ResponseEntity<String>> deviceStatusApi(@PathVariable String deviceId) {
 | 
	
	
		
			
				|  | @@ -372,7 +374,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	 * @param endTime		报警发生终止时间(可选)
 | 
	
		
			
				|  |  |  	 * @return				true = 命令发送成功
 | 
	
		
			
				|  |  |  	 */
 | 
	
		
			
				|  |  | -	@Operation(summary = "设备状态查询")
 | 
	
		
			
				|  |  | +	@Operation(summary = "设备报警查询", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "deviceId", description = "设备国标编号", required = true)
 | 
	
		
			
				|  |  |  	@Parameter(name = "startPriority", description = "报警起始级别")
 | 
	
		
			
				|  |  |  	@Parameter(name = "endPriority", description = "报警终止级别")
 | 
	
	
		
			
				|  | @@ -422,7 +424,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@GetMapping("/{deviceId}/sync_status")
 | 
	
		
			
				|  |  | -	@Operation(summary = "获取通道同步进度")
 | 
	
		
			
				|  |  | +	@Operation(summary = "获取通道同步进度", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "deviceId", description = "设备国标编号", required = true)
 | 
	
		
			
				|  |  |  	public WVPResult<SyncStatus> getSyncStatus(@PathVariable String deviceId) {
 | 
	
		
			
				|  |  |  		SyncStatus channelSyncStatus = deviceService.getChannelSyncStatus(deviceId);
 | 
	
	
		
			
				|  | @@ -442,7 +444,7 @@ public class DeviceQuery {
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@GetMapping("/{deviceId}/subscribe_info")
 | 
	
		
			
				|  |  | -	@Operation(summary = "获取设备的订阅状态")
 | 
	
		
			
				|  |  | +	@Operation(summary = "获取设备的订阅状态", security = @SecurityRequirement(name = JwtUtils.HEADER))
 | 
	
		
			
				|  |  |  	@Parameter(name = "deviceId", description = "设备国标编号", required = true)
 | 
	
		
			
				|  |  |  	public WVPResult<Map<String, Integer>> getSubscribeInfo(@PathVariable String deviceId) {
 | 
	
		
			
				|  |  |  		Set<String> allKeys = dynamicTask.getAllKeys();
 |