From 83326b4b2a8a10d11ae18dcedd2e6904dd69d2b2 Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期五, 11 二月 2022 12:32:11 +0800
Subject: [PATCH] 功能完善

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java |  129 +++++++++++++++++++++++++++++++-----------
 1 files changed, 95 insertions(+), 34 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
index c01ff5e..7e9cbd8 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/MonitorService.java
@@ -1,16 +1,22 @@
 package com.sandu.ximon.admin.service;
 
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.PageHelper;
 import com.sandu.common.execption.BusinessException;
+import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.service.impl.BaseServiceImpl;
 import com.sandu.ximon.admin.param.MonitorParam;
+import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.dao.bo.AirEquipmentBo;
+import com.sandu.ximon.dao.bo.MonitorBo;
 import com.sandu.ximon.dao.domain.Monitor;
-import com.sandu.ximon.dao.domain.YSY_AccessTokenDto;
-import com.sandu.ximon.dao.domain.YSY_MonitorDto;
+import com.sandu.ximon.admin.dto.YSY_AccessTokenDto;
+import com.sandu.ximon.admin.dto.YSY_MonitorDto;
 import com.sandu.ximon.dao.mapper.MonitorMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -38,48 +44,73 @@
     private static final String DELETE_DEVICE_URL = "/device/delete";
     //鑾峰彇钀ょ煶浜戝崟涓澶囦俊鎭�
     private static final String GET_DEVICE_URL = "/device/info";
+    //鑾峰彇钀ょ煶浜戞憚鍍忓ご鎾斁鍦板潃URL
+    private static final String GET_VEDIO_URL = "/v2/live/address/get";
 
-    /**
-     * 鏌ヨ鍏ㄩ儴鎽勫儚澶�
-     */
-    public List<Monitor> listMonitor() {
-        LambdaQueryWrapper<Monitor> wrapper = Wrappers.lambdaQuery(Monitor.class);
-        List<Monitor> list = list(wrapper);
 
-        return list;
-    }
+    private final PoleBindingService poleBindingService;
 
     /**
      * 妯$硦鏌ヨ
      */
-    public List<Monitor> listMonitorByKeyword(MonitorParam monitorParam) {
-        //璁惧鐘舵��:鍦ㄧ嚎/绂荤嚎/鍏ㄩ儴
-        int equipmentState1;
-        int equipmentState2;
-        if (2 == monitorParam.getEquipmentState()) {
-            //鍦ㄧ嚎
-            equipmentState1 = 1;
-            //绂荤嚎
-            equipmentState2 = 0;
-        } else {
-            equipmentState1 = monitorParam.getEquipmentState();
-            equipmentState2 = monitorParam.getEquipmentState();
-        }
-
+    public List<MonitorBo> listMonitorByKeyword(BaseConditionVO baseConditionVO, MonitorParam monitorParam) {
+        Long clientId = SecurityUtils.getClientId();
+        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        List<MonitorBo> monitorList;
         //缁戝畾鐘舵�侊細宸茬粦瀹�/鏈粦瀹�/鍏ㄩ儴
-        int bindingState1;
-        int bindingState2;
-        if (2 == monitorParam.getBindingState()) {
-            //宸茬粦瀹�
-            bindingState1 = 1;
-            //鏈粦瀹�
-            bindingState2 = 0;
+        if (monitorParam.getBindingState() == null || 2 == monitorParam.getBindingState()) {
+            //鍏ㄩ儴
+            int bindingState = 2;
+            monitorList = monitorMapper.listMonitorByIds(monitorParam.getKeyword(), clientId, bindingState);
         } else {
-            bindingState1 = monitorParam.getBindingState();
-            bindingState2 = monitorParam.getBindingState();
+            monitorList = monitorMapper.listMonitorByIds(monitorParam.getKeyword(), clientId, monitorParam.getBindingState());
         }
-        return monitorMapper.listMonitorByKeyword(monitorParam.getKeyword(), equipmentState1, equipmentState2, bindingState1, bindingState2);
+        return monitorList;
     }
+
+
+//    /**
+//     * 鏌ヨ鍏ㄩ儴鎽勫儚澶�
+//     */
+//    public List<Monitor> listMonitor() {
+//        LambdaQueryWrapper<Monitor> wrapper = Wrappers.lambdaQuery(Monitor.class);
+//        List<Monitor> list = list(wrapper);
+//
+//        return list;
+//    }
+//
+//    /**
+//     * 妯$硦鏌ヨ
+//     */
+//    public List<Monitor> listMonitorByKeyword(MonitorParam monitorParam) {
+//        //璁惧鐘舵��:鍦ㄧ嚎/绂荤嚎/鍏ㄩ儴
+//        int equipmentState1;
+//        int equipmentState2;
+//        if (2 == monitorParam.getEquipmentState()) {
+//            //鍦ㄧ嚎
+//            equipmentState1 = 1;
+//            //绂荤嚎
+//            equipmentState2 = 0;
+//        } else {
+//            equipmentState1 = monitorParam.getEquipmentState();
+//            equipmentState2 = monitorParam.getEquipmentState();
+//        }
+//
+//        //缁戝畾鐘舵�侊細宸茬粦瀹�/鏈粦瀹�/鍏ㄩ儴
+//        int bindingState1;
+//        int bindingState2;
+//        if (2 == monitorParam.getBindingState()) {
+//            //宸茬粦瀹�
+//            bindingState1 = 1;
+//            //鏈粦瀹�
+//            bindingState2 = 0;
+//        } else {
+//            bindingState1 = monitorParam.getBindingState();
+//            bindingState2 = monitorParam.getBindingState();
+//        }
+////        return monitorMapper.listMonitorByKeyword(monitorParam.getKeyword(), equipmentState1, equipmentState2, bindingState1, bindingState2);
+//        return monitorMapper.listMonitorByKeyword1(baseConditionVO, monitorParam.getKeyword(), bindingState1, bindingState2);
+//    }
 
     /**
      * 鍒犻櫎鎽勫儚澶�
@@ -92,6 +123,9 @@
         if (monitor == null) {
             throw new BusinessException("鎵句笉鍒版憚鍍忓ご");
         }
+
+        //鍒犻櫎鎽勫儚澶磋澶囧墠闇�瑕佸厛瑙g粦
+        poleBindingService.unBindPole(monitor.getDeviceSerial());
         return removeById(Id);
     }
 
@@ -173,6 +207,7 @@
         if (one == null) {
             return save(monitor);
         } else {
+            monitor.setId(one.getId());
             return updateById(monitor);
         }
     }
@@ -200,5 +235,31 @@
         return updateById(monitor);
     }
 
+    /**
+     * 杩斿洖鎽勫儚澶村疄鏃剁敾闈㈡挱鏀惧湴鍧�
+     *
+     * @param accessToken
+     * @param deviceSerial
+     * @return
+     */
+    public String getMonitorVideoUrl(String accessToken, String deviceSerial, int protocol, int expireTime) {
+        if (expireTime < 30 || expireTime > 62208000) {
+            throw new BusinessException("璁剧疆鐨刄RL鎾斁鍦板潃杩囨湡鏃堕暱鏁版嵁閿欒");
+        }
+        Map<String, Object> paramMap = new HashMap<>();
+        paramMap.put("accessToken", accessToken);
+        paramMap.put("deviceSerial", deviceSerial);
+        paramMap.put("protocol", protocol);
+        paramMap.put("expireTime", expireTime);
+        String s = HttpUtil.post(YSY_URL + GET_VEDIO_URL, paramMap);
+        System.out.println(s);
+        YSY_MonitorDto monitor = JSON.parseObject(s, YSY_MonitorDto.class);
+        if ("200".equals(monitor.getCode())) {
+            return monitor.getData().getUrl();
+        } else {
+            throw new BusinessException(monitor.getMsg());
+        }
+    }
+
 
 }

--
Gitblit v1.9.3