IotDeviceVideoController.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package com.mrxu.admin.controller.iot;
  2. import com.mrxu.admin.controller.AdminBaseController;
  3. import com.mrxu.framework.boot.bean.ResponseObj;
  4. import com.mrxu.iot.model.IotDeviceVideoNode;
  5. import com.mrxu.iot.service.IotDeviceChannelService;
  6. import com.mrxu.iot.service.IotDeviceClassService;
  7. import com.mrxu.iot.third.WvpFeignClient;
  8. import com.mrxu.iot.third.response.StreamContent;
  9. import io.swagger.annotations.Api;
  10. import lombok.RequiredArgsConstructor;
  11. import org.apache.shiro.authz.annotation.RequiresPermissions;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Controller;
  14. import org.springframework.ui.Model;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RequestParam;
  17. import org.springframework.web.bind.annotation.ResponseBody;
  18. import java.util.List;
  19. @Api(tags = "设备视频")
  20. @Controller
  21. @RequestMapping("/iot/iotDeviceVideo")
  22. @RequiredArgsConstructor(onConstructor = @__(@Autowired))
  23. public class IotDeviceVideoController extends AdminBaseController {
  24. private final WvpFeignClient wvpClient;
  25. private final IotDeviceClassService classService;
  26. private final IotDeviceChannelService channelService;
  27. @RequiresPermissions("iot:iotDeviceVideo:read")
  28. @RequestMapping("index.html")
  29. public String index(Model model) {
  30. return "iot/iotDeviceVideo.html";
  31. }
  32. @RequiresPermissions("iot:iotDeviceVideo:read")
  33. @ResponseBody
  34. @RequestMapping("/classList.json")
  35. public ResponseObj<List<IotDeviceVideoNode>> classList() {
  36. return success(classService.deviceVideoNodeList(getTenantId()));
  37. }
  38. @RequiresPermissions("iot:iotDeviceVideo:read")
  39. @ResponseBody
  40. @RequestMapping("/play.json")
  41. public ResponseObj<StreamContent> play(Integer channelId) {
  42. return success(classService.play(getTenantId(),channelId,getUsername()));
  43. }
  44. @RequiresPermissions("iot:iotDeviceVideo:read")
  45. @ResponseBody
  46. @RequestMapping("/getChannelConfig.json")
  47. public ResponseObj<String> getChannelConfig(Integer channelId) {
  48. return success(channelService.getById(getTenantId(),channelId).getConfig());
  49. }
  50. @RequiresPermissions("iot:iotDeviceVideo:read")
  51. @ResponseBody
  52. @RequestMapping("/control.json")
  53. public ResponseObj<Object> control(String deviceId
  54. , String channelId
  55. , String command
  56. , int horizonSpeed
  57. , int verticalSpeed
  58. , int zoomSpeed) {
  59. wvpClient.control(deviceId, channelId, command, horizonSpeed, verticalSpeed, zoomSpeed);
  60. return success();
  61. }
  62. @RequiresPermissions("iot:iotDeviceVideo:update")
  63. @ResponseBody
  64. @RequestMapping("/saveAndCommand.json")
  65. public ResponseObj<Object> saveAndCommand(String deviceId
  66. ,String channelId
  67. ,@RequestParam(required = false) Integer cmdCode
  68. ,int parameter1
  69. ,int parameter2
  70. ,int bindCode2,String config) {
  71. channelService.saveAndCommand(getTenantId(),deviceId,channelId,
  72. cmdCode,parameter1, parameter2, bindCode2,config,getUsername());
  73. return success();
  74. }
  75. }