package com.xunmei.iot.controller; import com.xunmei.common.core.web.domain.AjaxResult; import com.xunmei.common.core.web.page.TableDataInfo; import com.xunmei.iot.dto.deviceInfo.EditAlarmHostDeviceDto; import com.xunmei.iot.dto.deviceInfo.EditDvrHostDeviceDto; import com.xunmei.iot.dto.deviceInfo.EditNetHostDeviceDto; import com.xunmei.iot.dto.deviceInfo.IotDeviceInfoPageDto; import com.xunmei.iot.service.IIotDeviceInfoService; import com.xunmei.iot.vo.deviceInfo.IotDeviceInfoPageVo; import com.xunmei.system.api.RemoteHostService; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.io.Serializable; @RestController @RequestMapping("/deviceInfo") public class IotDeviceInfoController { @Resource private IIotDeviceInfoService deviceInfoService; @Resource private RemoteHostService remoteHostService; @ApiOperation("iot设备列表") @GetMapping({"/page"}) TableDataInfo webPage(IotDeviceInfoPageDto req) { return deviceInfoService.deviceInfoPage(req); } @ApiOperation("iot设备详情") @GetMapping({"/detail/{id}"}) AjaxResult detail(@PathVariable Serializable id) { return AjaxResult.success(deviceInfoService.getDetail(id)); } @ApiOperation("iot报警主机设备详情") @GetMapping({"/alarmHost/{id}"}) AjaxResult alarmHostDetail(@PathVariable Serializable id) { return AjaxResult.success(deviceInfoService.getAlarmHostDetail(id)); } @ApiOperation("根据设备类型获取产品名称") @GetMapping({"/getProductDisplayName/{type}"}) AjaxResult getProductDisplayName(@PathVariable String type) { return AjaxResult.success(deviceInfoService.getProductDisplayName(type)); } @ApiOperation("新增/编辑监控主机") @PostMapping({"/editDvrHostDevice"}) AjaxResult addDvrHostDevice(@RequestBody EditDvrHostDeviceDto req) { return AjaxResult.success(deviceInfoService.editDvrHostDevice(req)); } @ApiOperation("监控主机详情") @GetMapping({"/dvrHostDeviceInfo/{id}"}) AjaxResult addDvrHostDevice(@PathVariable Long id) { return AjaxResult.success(deviceInfoService.dvrHostDeviceInfo(id)); } @ApiOperation("新增/编辑报警主机") @PostMapping({"/editAlarmHostDevice"}) AjaxResult editAlarmHostDevice(@RequestBody EditAlarmHostDeviceDto req) { return AjaxResult.success(deviceInfoService.editAlarmHostDevice(req)); } @ApiOperation("报警主机详情") @GetMapping({"/alarmHostDeviceInfo/{id}"}) AjaxResult alarmHostDeviceInfo(@PathVariable Long id) { return AjaxResult.success(deviceInfoService.alarmHostDeviceInfo(id)); } @ApiOperation("新增/编辑 对讲主机/门禁主机") @PostMapping({"/editNetHostDevice"}) AjaxResult editNetHostDevice(@RequestBody EditNetHostDeviceDto req) { return AjaxResult.success(deviceInfoService.editNetHostDevice(req)); } @ApiOperation("对讲主机/门禁主机详情") @GetMapping({"/netHostDeviceInfo/{id}"}) AjaxResult netHostDeviceInfo(@PathVariable Long id) { return AjaxResult.success(deviceInfoService.netHostDeviceInfo(id)); } @ApiOperation("从主机拉取基础设备") @GetMapping({"/baseDeviceGet"}) AjaxResult baseDeviceGet() { return AjaxResult.success(remoteHostService.getDevices()); } @ApiOperation("同步设备") @GetMapping({"/syncDevice/{id}"}) AjaxResult syncDevice(@PathVariable Long id) { deviceInfoService.syncDevice(id); return AjaxResult.success(); } @ApiOperation("删除设备") @GetMapping({"/deletedDevice/{id}"}) AjaxResult deletedDevice(@PathVariable Long id) { deviceInfoService.deletedDevice(id); return AjaxResult.success(); } }