浏览代码

fix: 主管理员设备查询异常问题解决

kindring 1 年之前
父节点
当前提交
62296be15a

+ 3 - 3
src/main/java/com/genersoft/iot/vmp/service/impl/DeviceServiceImpl.java

@@ -325,9 +325,9 @@ public class DeviceServiceImpl implements IDeviceService {
         Device device = redisCatchStorage.getDevice(deviceId);
         if (device == null) {
             device = deviceMapper.getDeviceByDeviceId(deviceId);
-            if (device != null) {
-                redisCatchStorage.updateDevice(device);
-            }
+        }
+        if (device != null) {
+            redisCatchStorage.updateDevice(device);
         }
         return device;
     }

+ 4 - 2
src/main/java/com/genersoft/iot/vmp/utils/DeviceHelper.java

@@ -5,6 +5,7 @@ import com.genersoft.iot.vmp.gb28181.bean.Device;
 import com.genersoft.iot.vmp.service.IAccountService;
 import com.genersoft.iot.vmp.service.IAdminService;
 import com.genersoft.iot.vmp.service.IDeviceService;
+import com.genersoft.iot.vmp.storager.dao.dto.AdminAccount;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -38,10 +39,11 @@ public class DeviceHelper {
         String adminId = AuthorUtil.getAdminId();
         if (adminId != null) {
             logger.info("get admin:{} device:{}", adminId, deviceId);
-            // todo 获取是否为主管理员
-            boolean isPrimaryAdmin = false;
+            AdminAccount adminAccount = adminService.getUserById(adminId);
+            boolean isPrimaryAdmin = adminAccount.isPrimaryAdminFlag();
 
             if (isPrimaryAdmin) {
+                logger.info("get isPrimaryAdmin admin:{} device:{}", deviceId);
                 device = deviceService.getDevice(deviceId);
             } else {
                 // 普通管理员用户目前基本使用 国标id 进行设备操作