From 6a582d3819e27e9b0866489196046499c8a51ea8 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期三, 31 五月 2023 10:37:17 +0800
Subject: [PATCH] 提交

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java |   92 ++++++++++++++++++++++++++--------------------
 1 files changed, 52 insertions(+), 40 deletions(-)

diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java
index 447bc7b..868981f 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/SdkOperateAspect.java
@@ -9,6 +9,7 @@
 import com.ruoyi.device.camera.domain.CameraCmd;
 import com.ruoyi.device.camera.service.IArdCamerasService;
 import com.ruoyi.system.service.ISysUserService;
+import org.apache.ibatis.jdbc.Null;
 import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.annotation.Around;
 import org.aspectj.lang.annotation.Aspect;
@@ -63,64 +64,75 @@
         }
         Date currentExpired = ardCameras.getOperatorExpired();//褰撳墠鐩告満鐨勮繃鏈熸椂闂�
         String currentOperator = ardCameras.getOperatorId();//褰撳墠鐩告満鐨勬搷浣滆��
-
-        if (StringUtils.isEmpty(currentOperator)) {
-            /*褰撳墠鐩告満鎺у埗鑰呬负绌烘椂锛岀洿鎺ユ洿鏂版帶鍒惰�咃紝骞跺厑璁�*/
+        /*鍏堝垽鏂攣瀹氭椂闂�*/
+        if (currentExpired == null) {
+            /*濡傛灉鏈厤缃攣瀹氭椂闂达紝浠讳綍浜哄彲鎺у埗*/
             ardCameras.setOperatorId(operator);
             ardCamerasService.updateArdCameras(ardCameras);//鏇存柊鐩告満褰撳墠鎺у埗鑰�
             return true;
         } else {
-            if (operator.equals(currentOperator)) {
-                /*鍒ゆ柇鐢宠鑰呭凡缁忓湪鎺э紝鐩存帴鍏佽*/
+            /*閿佸畾鏃堕棿閰嶇疆浜嗭紝鍒ゆ柇褰撳墠鎿嶄綔鑰�*/
+            if (StringUtils.isEmpty(currentOperator)) {
+                /*褰撳墠鐩告満鎺у埗鑰呬负绌烘椂锛屼换浣曚汉鍙帶*/
+                ardCameras.setOperatorId(operator);
+                ardCamerasService.updateArdCameras(ardCameras);//鏇存柊鐩告満褰撳墠鎺у埗鑰�
                 return true;
             } else {
-                Integer currentLevel = 0;//褰撳墠鐩告満鐨勬搷浣滆�呯殑浼樺厛绾�
-                if (sdkPriority.priorityMap.containsKey(currentOperator)) {
-                    /*褰撳墠鎺у埗鑰呬负绯荤粺鎶ヨ鐢ㄦ埛*/
-                    currentLevel = (Integer) sdkPriority.priorityMap.get(currentOperator);
-                } else {
-                    /*褰撳墠鎺у埗鑰呬负鏅�氱敤鎴�*/
-                    SysUser sysUser = sysUserService.selectUserById(currentOperator);
-                    currentLevel = sysUser.getCameraPriority();
-                }
-                Integer operatorLevel = 0;//鑾峰彇鐢宠鑰呯殑浼樺厛绾�
-                if (sdkPriority.priorityMap.containsKey(operator)) {
-                    /*鍖呭惈璇存槑褰撳墠鐢宠鎺у埗鑰呬负绯荤粺鎶ヨ鐢ㄦ埛*/
-                    operatorLevel = (Integer) sdkPriority.priorityMap.get(operator);
-                } else {
-                    /*鍚﹀垯鐢宠鎺у埗鑰呬负褰撳墠鐧诲綍鐢ㄦ埛*/
-                    LoginUser loginUser = SecurityUtils.getLoginUser();
-                    SysUser user = loginUser.getUser();//鑾峰彇鐧诲綍鐢ㄦ埛鐨勪俊鎭�
-                    operatorLevel = user.getCameraPriority();
-                }
-                /*鐢宠鑰呮湭鎺у垯鍒ゆ柇浼樺厛绾�*/
-                if (operatorLevel > currentLevel) {
-                    /*濡傛灉鐢宠鑰呬紭鍏堢骇楂橈紝鍏佽鎺у埗*/
-                    ardCameras.setOperatorId(operator);
-                    ardCamerasService.updateArdCameras(ardCameras);//鏇存柊鐩告満褰撳墠鎺у埗鑰�
+                /*鍒ゆ柇鏄惁鏈汉缁х画鎺у埗*/
+                if (currentOperator.equals(operator)) {
                     return true;
                 } else {
-                    /*濡傛灉鐢宠鑰呬紭鍏堢骇浣庯紝鍒欏垽鏂繃鏈熸椂闂�*/
-                    Date now = new Date();
-                    if (currentExpired == null) {
-                        /*褰撳墠鐩告満鏈厤缃繃鏈熸椂闂达紝鍙帶*/
+                    /*褰撳墠鐩告満鏈変汉鎺у埗骞朵笖閰嶇疆浜嗚繃鏈熸椂闂达紝鍏堝垽鏂紭鍏堢骇锛屼紭鍏堢骇楂樺厑璁告帶鍒�*/
+                    Integer currentLevel = 0;//褰撳墠鐩告満鐨勬搷浣滆�呯殑浼樺厛绾�
+                    if (sdkPriority.priorityMap.containsKey(currentOperator)) {
+                        /*褰撳墠鎺у埗鑰呬负绯荤粺鎶ヨ鐢ㄦ埛*/
+                        currentLevel = (Integer) sdkPriority.priorityMap.get(currentOperator);
+                    } else {
+                        /*褰撳墠鎺у埗鑰呬负鏅�氱敤鎴�*/
+                        SysUser sysUser = sysUserService.selectUserById(currentOperator);
+                        currentLevel = sysUser.getCameraPriority();
+                    }
+                    Integer operatorLevel = 0;//鑾峰彇鐢宠鑰呯殑浼樺厛绾�
+                    if (sdkPriority.priorityMap.containsKey(operator)) {
+                        /*鍖呭惈璇存槑褰撳墠鐢宠鎺у埗鑰呬负绯荤粺鎶ヨ鐢ㄦ埛*/
+                        operatorLevel = (Integer) sdkPriority.priorityMap.get(operator);
+                    } else {
+                        /*鍚﹀垯鐢宠鎺у埗鑰呬负褰撳墠鐧诲綍鐢ㄦ埛*/
+                        LoginUser loginUser = SecurityUtils.getLoginUser();
+                        SysUser user = loginUser.getUser();//鑾峰彇鐧诲綍鐢ㄦ埛鐨勪俊鎭�
+                        operatorLevel = user.getCameraPriority();
+                    }
+                    /*鐢宠鑰呮湭鎺у垯鍒ゆ柇浼樺厛绾�*/
+                    if (operatorLevel > currentLevel) {
+                        /*濡傛灉鐢宠鑰呬紭鍏堢骇楂橈紝鍏佽鎺у埗*/
                         ardCameras.setOperatorId(operator);
+                        ardCameras.setOperatorExpired(null);
                         ardCamerasService.updateArdCameras(ardCameras);//鏇存柊鐩告満褰撳墠鎺у埗鑰�
                         return true;
-                    }
-                    else {
-                        if (now.before(currentExpired)) {
-                            /*鏃堕棿鏈繃鏈燂紝涓嶅彲鎺�*/
-                            return false;
-                        } else {
-                            /*鏃堕棿杩囨湡锛屽彲浠ユ帶鍒讹紝鏇存柊鎺у埗鑰�*/
+                    } else {
+                        /*濡傛灉鐢宠鑰呬紭鍏堢骇浣庯紝鍒欏垽鏂繃鏈熸椂闂�*/
+                        Date now = new Date();
+                        if (currentExpired == null) {
+                            /*褰撳墠鐩告満鏈厤缃繃鏈熸椂闂达紝鍙帶*/
                             ardCameras.setOperatorId(operator);
+                            ardCameras.setOperatorExpired(null);
                             ardCamerasService.updateArdCameras(ardCameras);//鏇存柊鐩告満褰撳墠鎺у埗鑰�
                             return true;
+                        } else {
+                            if (now.before(currentExpired)) {
+                                /*鏃堕棿鏈繃鏈燂紝涓嶅彲鎺�*/
+                                return false;
+                            } else {
+                                /*鏃堕棿杩囨湡锛屽彲浠ユ帶鍒讹紝鏇存柊鎺у埗鑰�*/
+                                ardCameras.setOperatorId(operator);
+                                ardCamerasService.updateArdCameras(ardCameras);//鏇存柊鐩告満褰撳墠鎺у埗鑰�
+                                return true;
+                            }
                         }
                     }
                 }
             }
         }
+
     }
 }

--
Gitblit v1.9.3