TRX 1 tahun lalu
induk
melakukan
8bde8c2509

+ 15 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/deviceGroup/DeviceGroupModel.java

@@ -1,6 +1,7 @@
 package com.zhongshu.card.client.model.devices.deviceGroup;
 
 import com.zhongshu.card.client.model.base.SuperModel;
+import com.zhongshu.card.client.type.DataState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -18,4 +19,18 @@ public class DeviceGroupModel extends SuperModel {
     @Schema(description = "名称")
     private String name;
 
+    @Schema(description = "数据状态")
+    private DataState state;
+
+    private String stateStr;
+
+    public String getStateStr() {
+        if (state != null) {
+            return state.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "关联的设备数量")
+    private Long number = 0L;
 }

+ 15 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/userGroup/UserGroupModel.java

@@ -1,6 +1,7 @@
 package com.zhongshu.card.client.model.org.userGroup;
 
 import com.zhongshu.card.client.model.base.SuperModel;
+import com.zhongshu.card.client.type.DataState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -18,4 +19,18 @@ public class UserGroupModel extends SuperModel {
     @Schema(description = "名称")
     private String name;
 
+    @Schema(description = "关联的用户数量")
+    private Long number = 0L;
+
+    @Schema(description = "状态")
+    private DataState state;
+
+    public String stateStr;
+
+    public String getStateStr() {
+        if (state != null) {
+            return state.getRemark();
+        }
+        return "";
+    }
 }

+ 22 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/devices/permiss/DevicePermissVerifyService.java

@@ -93,6 +93,9 @@ public class DevicePermissVerifyService {
             return ResultContent.buildFail("用户不可用");
         }
 
+        stopWatch.stop();
+
+        stopWatch.start("查询设备信息");
         // 验证设备
         DeviceInfo deviceInfo = deviceInfoDao.findTopByDeviceId(deviceId);
         if (ObjectUtils.isEmpty(deviceInfo)) {
@@ -106,14 +109,23 @@ public class DevicePermissVerifyService {
         String projectOid = deviceInfo.getProjectOid();
 
         // 验证手动管理的设备权限
+        stopWatch.stop();
+
+        stopWatch.start("设备权限");
         DevicePermiss devicePermiss = devicePermissDao.findTopByUserIdAndDeviceIdAndProjectOidAndDataState(userId, deviceId, projectOid, DataState.Enable);
         if (ObjectUtils.isNotEmpty(devicePermiss)) {
             hasPermission = true;
         }
+        stopWatch.stop();
 
         if (!hasPermission) {
+
+            stopWatch.start("查询当前时间段");
             // 查找当前时间对应的时段信息
             List<PermissTimeSlot> permissTimeSlots = getCurrentTimeSlot(projectOid);
+
+            stopWatch.stop();
+            stopWatch.start("查询用户所属机构");
             List<OrganizationUser> organizationUsers = organizationUserService.getUserOrgList(userId, projectOid);
 
             if (ObjectUtils.isNotEmpty(permissTimeSlots) && ObjectUtils.isNotEmpty(organizationUsers)) {
@@ -128,6 +140,9 @@ public class DevicePermissVerifyService {
                 // 用户id
                 dataIds.add(userId);
 
+                stopWatch.stop();
+
+                stopWatch.start("机构用户信息处理");
                 // 用户所属角色、机构
                 organizationUsers.parallelStream().forEach(organizationUser -> {
                     dataIds.add(organizationUser.getOrganization().getOid());
@@ -137,6 +152,8 @@ public class DevicePermissVerifyService {
                     }
                 });
 
+                stopWatch.stop();
+                stopWatch.start("用户分组处理");
                 // 用户分组
                 List<UserGroupToUser> userGroupToUsers = userGroupToUserDao.findByUserIdAndProjectOid(userId, projectOid);
                 if (ObjectUtils.isNotEmpty(userGroupToUsers)) {
@@ -157,6 +174,8 @@ public class DevicePermissVerifyService {
                     deviceIds.add(deviceInfo.getArea().getId());
                 }
 
+                stopWatch.stop();
+                stopWatch.start("设备分组");
                 // 设备分组信息
                 List<DeviceGroupToDevice> deviceAbouts = deviceGroupToDeviceDao.findByProjectOidAndDeviceId(projectOid, deviceId);
                 if (ObjectUtils.isNotEmpty(deviceAbouts)) {
@@ -171,14 +190,17 @@ public class DevicePermissVerifyService {
                         deviceIds.addAll(groupIds);
                     }
                 }
+                stopWatch.stop();
                 // 设备所在的分组
                 search.setDeviceIds(deviceIds);
 
+                stopWatch.start("规则数据查询");
                 Pageable pageable = PageRequest.of(0, 1);
                 Page<PermissSettingList> page = permissSettingListDao.page(pageable, search);
                 if (ObjectUtils.isNotEmpty(page.getContent())) {
                     hasPermission = true;
                 }
+                stopWatch.stop();
             }
         }
 

+ 11 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/UserGroupService.java

@@ -163,12 +163,23 @@ public class UserGroupService extends SuperService {
         }
     }
 
+    /**
+     * 查询分组的用户信息分页列表
+     *
+     * @param param
+     * @param pageable
+     * @return
+     */
     public ResultContent<Page<UserGroupToUserModel>> pageGroupUsers(UserGroupToUserSearch param, Pageable pageable) {
         String projectOid = param.getProjectOid();
         Organization organization = organizationDao.findTopByOid(projectOid);
         if (ObjectUtils.isEmpty(organization)) {
             return ResultContent.buildFail("projectOid不存在");
         }
+        if (StringUtils.isEmpty(param.getGroupId())) {
+            return ResultContent.buildFail("groupId不能为空");
+        }
+
         Page<UserGroupToUser> page = userGroupToUserDao.page(pageable, param);
         return ResultContent.buildSuccess(PageEntityUtil.concurrent2PageModel(page, this::toUserModel));
     }