package com.sandu.ximon.admin.controller;
|
|
import com.sandu.common.domain.ResponseVO;
|
import com.sandu.common.execption.BusinessException;
|
import com.sandu.common.util.ResponseUtil;
|
import com.sandu.ximon.admin.param.MonitorParam;
|
import com.sandu.ximon.admin.service.MonitorService;
|
import com.sandu.ximon.dao.domain.Monitor;
|
import com.sandu.ximon.admin.dto.YSY_MonitorDto;
|
import lombok.AllArgsConstructor;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
|
/**
|
* 摄像头
|
*/
|
@RestController
|
@AllArgsConstructor
|
@RequestMapping("/v1/admin/monitor")
|
public class MonitorController {
|
private final MonitorService monitorService;
|
|
@GetMapping
|
public ResponseVO<Object> listMonitor() {
|
List<Monitor> list = monitorService.listMonitor();
|
return ResponseUtil.successPage(list);
|
}
|
|
/**
|
* 模糊查询
|
*
|
* @return
|
*/
|
@GetMapping("/listMonitorByKeyword")
|
public ResponseVO<Object> listMonitorByKeyword(@RequestBody MonitorParam monitorParam) {
|
List<Monitor> list = monitorService.listMonitorByKeyword(monitorParam);
|
return ResponseUtil.successPage(list);
|
}
|
|
|
/**
|
* 删除数据库中萤石云摄像头
|
*
|
* @param id
|
* @return
|
*/
|
@PostMapping("/delete/{id}")
|
public ResponseVO<Object> deleteMonitor(@PathVariable Long id) {
|
boolean result = monitorService.deleteMonitor(id);
|
if (result) {
|
return ResponseUtil.success(null);
|
} else {
|
return ResponseUtil.fail("操作失败");
|
}
|
}
|
|
/**
|
* 获取萤石云AccessToken
|
*
|
* @return AccessToken
|
*/
|
@GetMapping("/getAccessToken")
|
public ResponseVO<Object> getAccessToken() {
|
return ResponseUtil.success(monitorService.getAccessToken());
|
}
|
|
/**
|
* 添加萤石云摄像头
|
*
|
* @param monitorParam 添加摄像头结果
|
* @return
|
*/
|
@GetMapping("/addYSYMonitor")
|
public ResponseVO<Object> addYSYMonitor(@RequestBody MonitorParam monitorParam) {
|
YSY_MonitorDto addMonitorDto = monitorService.addYSYMonitor(monitorParam.getAccessToken(), monitorParam.getDeviceSerial(), monitorParam.getValidateCode());
|
|
if ("200".equals(addMonitorDto.getCode())) {
|
return ResponseUtil.success(addMonitorDto);
|
} else if ("20017".equals(addMonitorDto.getCode())) {
|
//已经被自己添加的摄像头需要添加到数据库
|
boolean falg = getYSYMonitorInfoAndaddMonitorToTable(monitorParam);
|
if (falg) {
|
return ResponseUtil.success("添加摄像头成功!");
|
|
} else {
|
return ResponseUtil.fail("添加摄像头失败!");
|
}
|
|
} else {
|
return ResponseUtil.fail(addMonitorDto.getMsg());
|
}
|
}
|
|
/**
|
* 删除萤石云摄像头
|
*
|
* @param monitorParam 添加摄像头结果
|
* @return
|
*/
|
@GetMapping("/deleteYSYMonitor")
|
public ResponseVO<Object> deleteYSYMonitor(@RequestBody MonitorParam monitorParam) {
|
YSY_MonitorDto addMonitorDto = monitorService.deleteYSYMonitor(monitorParam.getAccessToken(), monitorParam.getDeviceSerial());
|
|
if ("200".equals(addMonitorDto.getCode())) {
|
return ResponseUtil.success(addMonitorDto);
|
} else {
|
return ResponseUtil.fail(addMonitorDto.getMsg());
|
}
|
}
|
|
/**
|
* 获取单个设备信息 getYSYMonitorInfo
|
*/
|
@GetMapping("/getYSYMonitorInfo")
|
public ResponseVO<Object> getYSYMonitorInfo(@RequestBody MonitorParam monitorParam) {
|
YSY_MonitorDto getMonitorDto = monitorService.getYSYMonitorInfo(monitorParam.getAccessToken(), monitorParam.getDeviceSerial());
|
|
if ("200".equals(getMonitorDto.getCode())) {
|
return ResponseUtil.success(getMonitorDto.getData());
|
} else {
|
return ResponseUtil.fail(getMonitorDto.getMsg());
|
}
|
}
|
|
|
/**
|
* 获取单个设备信息并且存储到数据库
|
*
|
* @param monitorParam
|
* @return
|
*/
|
@GetMapping("/getYSYMonitorInfoAndaddMonitorToTable")
|
public boolean getYSYMonitorInfoAndaddMonitorToTable(@RequestBody MonitorParam monitorParam) {
|
YSY_MonitorDto getMonitorDto = monitorService.getYSYMonitorInfo(monitorParam.getAccessToken(), monitorParam.getDeviceSerial());
|
|
if ("200".equals(getMonitorDto.getCode())) {
|
Monitor monitor = new Monitor();
|
monitor.setDeviceSerial(getMonitorDto.getData().getDeviceSerial());
|
monitor.setDevicesCode(monitorParam.getValidateCode());
|
monitor.setDeviceName(getMonitorDto.getData().getDeviceName());
|
monitor.setDeviceType(getMonitorDto.getData().getModel());
|
monitor.setEquipmentStatus(getMonitorDto.getData().getStatus());
|
monitor.setIsEncrypt(getMonitorDto.getData().getIsEncrypt());
|
monitor.setAddTime(getMonitorDto.getData().getUpdateTime());
|
monitor.setNetAddress(getMonitorDto.getData().getNetAddress());
|
|
return monitorService.addMonitorInfoToTable(monitor);
|
} else {
|
throw new BusinessException(getMonitorDto.getMsg());
|
}
|
}
|
|
/**
|
* 编辑摄像头设备信息
|
*/
|
@PostMapping("/UpDateMonitorInfo")
|
public ResponseVO<Object> UpDateMonitorInfo(@RequestBody MonitorParam monitorParam) {
|
Monitor monitor = new Monitor();
|
monitor.setId(monitorParam.getId());
|
monitor.setDeviceSerial(monitorParam.getDeviceSerial());
|
monitor.setDevicesCode(monitorParam.getDevicesCode());
|
monitor.setWorkState(monitorParam.getWorkState());
|
monitor.setNote(monitorParam.getNote());
|
|
boolean falg = monitorService.upDateMonitorInfo(monitorParam);
|
|
if (falg) {
|
return ResponseUtil.success("更新数据成功");
|
} else {
|
return ResponseUtil.fail("更新数据失败");
|
}
|
}
|
|
/**
|
* 获取摄像头URL播放地址
|
*/
|
@GetMapping("/getMonitorVideoUrl")
|
public ResponseVO<Object> getMonitorVideoUrl(@RequestBody MonitorParam monitorParam) {
|
String URL = monitorService.getMonitorVideoUrl(monitorParam.getAccessToken(), monitorParam.getDeviceSerial(), monitorParam.getProtocol());
|
|
return ResponseUtil.success(URL);
|
}
|
|
}
|