ExtendDeviceController.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. package com.genersoft.iot.vmp.extend.controller;
  2. import com.genersoft.iot.vmp.extend.dto.ExtendDevicePageDto;
  3. import com.genersoft.iot.vmp.extend.dto.ExtendRecordPageDto;
  4. import com.genersoft.iot.vmp.extend.entity.ExtendDevice;
  5. import com.genersoft.iot.vmp.extend.entity.ExtendDeviceChannel;
  6. import com.genersoft.iot.vmp.extend.entity.ExtendRecord;
  7. import com.genersoft.iot.vmp.extend.service.ExtendDeviceChannelService;
  8. import com.genersoft.iot.vmp.extend.service.ExtendDeviceService;
  9. import com.genersoft.iot.vmp.extend.service.ExtendRecordService;
  10. import com.genersoft.iot.vmp.vmanager.bean.StreamContent;
  11. import com.genersoft.iot.vmp.vmanager.bean.WVPResult;
  12. import com.genersoft.iot.vmp.vmanager.gb28181.play.PlayController;
  13. import com.genersoft.iot.vmp.vmanager.gb28181.ptz.PtzController;
  14. import com.github.pagehelper.PageInfo;
  15. import org.springframework.web.bind.annotation.*;
  16. import org.springframework.web.context.request.async.DeferredResult;
  17. import javax.annotation.Resource;
  18. import javax.servlet.http.HttpServletRequest;
  19. import java.util.List;
  20. import java.util.Map;
  21. @RestController
  22. @RequestMapping(value = "/internal/device")
  23. public class ExtendDeviceController {
  24. @Resource
  25. private ExtendDeviceService deviceService;
  26. @Resource
  27. private ExtendDeviceChannelService deviceChannelService;
  28. @Resource
  29. private ExtendRecordService recordService;
  30. @Resource
  31. private PlayController playController;
  32. @Resource
  33. private PtzController ptzController;
  34. /**
  35. * 分页查询设备
  36. * @param dto
  37. * @return
  38. */
  39. @PostMapping("/page")
  40. public PageInfo<ExtendDevice> page(@RequestBody ExtendDevicePageDto dto) {
  41. if (dto.getPageNum() == 0) {
  42. dto.setPageNum(1);
  43. }
  44. if (dto.getPageSize() == 0) {
  45. dto.setPageSize(10);
  46. }
  47. return deviceService.page(dto);
  48. }
  49. /**
  50. * 根据deviceId获取设备
  51. * @param deviceIds
  52. * @return
  53. */
  54. @RequestMapping("/getDevices")
  55. public Map<String,ExtendDevice> getDevices(@RequestParam List<String> deviceIds) {
  56. return deviceService.getDevices(deviceIds);
  57. }
  58. /**
  59. * 查询设备通道
  60. * @param deviceId
  61. * @return
  62. */
  63. @RequestMapping("/deviceChannel")
  64. public List<ExtendDeviceChannel> deviceChannel(@RequestParam String deviceId) {
  65. return deviceChannelService.deviceChannel(deviceId);
  66. }
  67. /**
  68. * 播放实时视频
  69. * @param request
  70. * @param deviceId
  71. * @param channelId
  72. * @return
  73. */
  74. @RequestMapping("/start")
  75. public DeferredResult<WVPResult<StreamContent>> start(HttpServletRequest request, @RequestParam String deviceId,
  76. @RequestParam String channelId) {
  77. return playController.play(request,deviceId,channelId);
  78. }
  79. /**
  80. * 设备控制
  81. * @param deviceId
  82. */
  83. @RequestMapping("/control")
  84. public void control(@RequestParam String deviceId
  85. ,@RequestParam String channelId
  86. ,@RequestParam String command
  87. ,@RequestParam int horizonSpeed
  88. ,@RequestParam int verticalSpeed
  89. ,@RequestParam int zoomSpeed) {
  90. ptzController.ptz(deviceId,channelId,command,horizonSpeed,verticalSpeed,zoomSpeed);
  91. }
  92. /**
  93. * 历史视频分页查询
  94. * @param dto
  95. * @return
  96. */
  97. @PostMapping("/recordPage")
  98. public PageInfo<ExtendRecord> recordPage(@RequestBody ExtendRecordPageDto dto) {
  99. if (dto.getPageNum() == 0) {
  100. dto.setPageNum(1);
  101. }
  102. if (dto.getPageSize() == 0) {
  103. dto.setPageSize(10);
  104. }
  105. return recordService.page(dto);
  106. }
  107. }