2021与蓝度共同重构项目,服务端
liuhaonan
2022-11-04 2611d27616bdbea6331f75a0147bd67c95f2eb0e
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
@@ -1,5 +1,6 @@
package com.sandu.ximon.admin.controller;
import com.sandu.common.domain.CommonPage;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
@@ -8,14 +9,10 @@
import com.sandu.ximon.admin.param.MonitorParam;
import com.sandu.ximon.admin.security.PermissionConfig;
import com.sandu.ximon.admin.service.MonitorService;
import com.sandu.ximon.dao.bo.MonitorBo;
import com.sandu.ximon.dao.domain.Monitor;
import com.sandu.ximon.dao.enums.MenuEnum;
import com.sandu.ximon.dao.mapper.MonitorMapper;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * 摄像头
@@ -26,7 +23,6 @@
public class MonitorController {
    private final MonitorService monitorService;
    private final MonitorMapper monitorMapper;
    private PermissionConfig permissionConfig;
@@ -36,36 +32,23 @@
     * @return
     */
    @PostMapping("/listMonitor")
    public ResponseVO<Object> listMonitorByKeyword(BaseConditionVO baseConditionVO, @RequestBody(required = false) MonitorParam monitorParam) {
//        //查询数据库的摄像头信息列表
//        if (monitorParam == null) {
//            list = monitorService.listMonitorByKeyword(baseConditionVO, new MonitorParam());
//        } else {
//            list = monitorService.listMonitorByKeyword(baseConditionVO, monitorParam);
//        }
    public ResponseVO<Object> listMonitorByKeyword(BaseConditionVO baseConditionVO,
                                                   @RequestParam(value = "order", required = false) Integer order,
                                                   @RequestParam(value = "seq", required = false) Integer seq,
                                                   @RequestBody(required = false) MonitorParam monitorParam) {
        if (!permissionConfig.check(MenuEnum.MONITOR_LIST.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        List<String> list;
        list = monitorMapper.listMonitorDeviceSerial();
        MonitorParam monitorParam1;
        for (String devices_serial : list) {
            monitorParam1 = new MonitorParam();
            monitorParam1.setAccessToken(monitorService.getAccessToken());
            monitorParam1.setDeviceSerial(devices_serial);
            getYSYMonitorInfoAndaddMonitorToTable(monitorParam1);
        }
        //返回查询的摄像头信息列表
        List<MonitorBo> listresult;
        CommonPage commonPage;
        if (monitorParam == null) {
            listresult = monitorService.listMonitorByKeyword(baseConditionVO, new MonitorParam());
            commonPage = monitorService.listMonitorByKeyword(baseConditionVO,order,seq, new MonitorParam());
        } else {
            listresult = monitorService.listMonitorByKeyword(baseConditionVO, monitorParam);
            commonPage = monitorService.listMonitorByKeyword(baseConditionVO,order,seq, monitorParam);
        }
        return ResponseUtil.successPage(listresult);
        return ResponseUtil.success(commonPage);
    }
@@ -77,6 +60,9 @@
     */
    @PostMapping("/delete/{id}")
    public ResponseVO<Object> deleteMonitor(@PathVariable Long id) {
        if (!permissionConfig.check(MenuEnum.MONITOR_DELETE.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        boolean result = monitorService.deleteMonitor(id);
        if (result) {
            return ResponseUtil.success(null);
@@ -96,17 +82,6 @@
    }
    /**
     * 获取萤石云摄像头信息
     *
     * @param
     * @return
     */
    @GetMapping("/getYSYInfo/{deviceSerial}")
    public ResponseVO<Object> getMonitorInfo(@PathVariable String deviceSerial) {
        return ResponseUtil.success(monitorService.getMonitorInfo(deviceSerial));
    }
    /**
     * 添加萤石云摄像头
     *
     * @param monitorParam 添加摄像头结果
@@ -114,43 +89,19 @@
     */
    @PostMapping("/addYSYMonitor")
    public ResponseVO<Object> addYSYMonitor(@RequestBody MonitorParam monitorParam) {
        if (monitorParam == null || monitorParam.getAccessToken() == null || monitorParam.getDeviceSerial() == null) {
        if (!permissionConfig.check(MenuEnum.MONITOR_ADD.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        if (monitorParam == null || monitorParam.getDeviceSerial() == null) {
            throw new BusinessException("参数不正确!");
        }
        YSY_MonitorDto addMonitorDto = monitorService.addYSYMonitor(monitorParam.getAccessToken(), monitorParam.getDeviceSerial(), monitorParam.getValidateCode());
//        YSY_MonitorDto addMonitorDto = monitorService.addYSYMonitor(monitorParam.getAccessToken(), monitorParam.getDeviceSerial());
        boolean flag = monitorService.addYSYMonitor(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("添加摄像头失败!");
            }
        if (flag) {
            return ResponseUtil.success("添加摄像头成功!");
        } else {
            return ResponseUtil.fail(addMonitorDto.getMsg());
        }
    }
    /**
     * 删除萤石云摄像头
     *
     * @param monitorParam 添加摄像头结果
     * @return
     */
    @PostMapping("/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());
            return ResponseUtil.fail("添加摄像头失败!");
        }
    }
@@ -159,7 +110,10 @@
     */
    @PostMapping("/getYSYMonitorInfo")
    public ResponseVO<Object> getYSYMonitorInfo(@RequestBody MonitorParam monitorParam) {
        YSY_MonitorDto getMonitorDto = monitorService.getYSYMonitorInfo(monitorParam.getAccessToken(), monitorParam.getDeviceSerial());
        if (!permissionConfig.check(MenuEnum.MONITOR_INFO.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        YSY_MonitorDto getMonitorDto = monitorService.getYSYMonitorInfo(monitorService.getAccessToken(), monitorParam.getDeviceSerial());
        if ("200".equals(getMonitorDto.getCode())) {
            Monitor monitor = new Monitor();
@@ -179,63 +133,15 @@
        }
    }
    /**
     * 获取单个设备信息并且存储到数据库
     *
     * @param monitorParam
     * @return
     */
    @PostMapping("/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());
            if (monitorParam.getValidateCode() != null) {
                monitor.setDevicesCode(monitorParam.getValidateCode());
            }
            monitor.setDeviceName(getMonitorDto.getData().getDeviceName());
            monitor.setDeviceType(getMonitorDto.getData().getModel());
            monitor.setEquipmentState(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播放地址
     */
    @PostMapping("/getMonitorVideoUrl")
    public ResponseVO<Object> getMonitorVideoUrl(@RequestBody MonitorParam monitorParam) {
        String URL = monitorService.getMonitorVideoUrl(monitorParam.getAccessToken(),
        if (!permissionConfig.check(MenuEnum.MONITOR_VIDEO_URL.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        String URL = monitorService.getMonitorVideoUrl(monitorService.getAccessToken(),
                monitorParam.getDeviceSerial(), monitorParam.getProtocol(), monitorParam.getExpireTime());
        return ResponseUtil.success(URL);
@@ -250,6 +156,9 @@
     */
    @PostMapping("/updateNotes")
    public ResponseVO<Object> updateNotes(@RequestBody MonitorParam monitorParam) {
        if (!permissionConfig.check(MenuEnum.MONITOR_NOTES.getCode())) {
            return ResponseUtil.fail("缺少对应用户权限");
        }
        boolean flag = monitorService.updateNotes(monitorParam.getDeviceSerial(), monitorParam.getNotes());
        if (flag) {
            return ResponseUtil.success("修改备注成功!");