TRX hace 1 año
padre
commit
aa97a3aeab

+ 18 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/DeviceInfoSimpleModel.java

@@ -0,0 +1,18 @@
+package com.zhongshu.card.client.model.devices;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author TRX
+ * @date 2024/6/14
+ */
+@Data
+public class DeviceInfoSimpleModel {
+
+    @Schema(description = "设备ID、设备编号")
+    private String deviceId;
+
+    @Schema(description = "设备名称")
+    private String deviceName;
+}

+ 60 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/PermissSettingConfigModel.java

@@ -0,0 +1,60 @@
+package com.zhongshu.card.client.model.devices.permiss;
+
+import com.zhongshu.card.client.model.devices.DeviceInfoSimpleModel;
+import com.zhongshu.card.client.type.Sex;
+import com.zhongshu.card.client.type.device.PermissSettingType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author TRX
+ * @date 2024/12/19
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PermissSettingConfigModel {
+
+    @Schema(description = "设备配置类型")
+    private PermissSettingType permissSettingType;
+
+    private String permissSettingTypeStr;
+
+    public String getPermissSettingTypeStr() {
+        if (permissSettingType != null) {
+            return permissSettingType.getRemark();
+        }
+        return "";
+    }
+
+    @Schema(description = "性别")
+    private Sex sex;
+
+    @Schema(description = "关联配置的数据id,如:角色id集合")
+    private List<String> dataIds = new ArrayList<>();
+
+    @Schema(description = "关联的数据名称")
+    private String aboutShowDataName = "";
+
+    @Schema(description = "设备列表")
+    private List<String> deviceIds = new ArrayList<>();
+
+    private List<DeviceInfoSimpleModel> deviceInfos = new ArrayList<>();
+
+    private String deviceNames = "";
+
+    public String getDeviceNames() {
+        if (ObjectUtils.isNotEmpty(deviceInfos)) {
+            List<String> names = deviceInfos.stream().map(it -> it.getDeviceName()).collect(Collectors.toUnmodifiableList());
+            return String.join(",", names);
+        }
+        return "";
+    }
+}

+ 34 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/PermissSettingConfigParam.java

@@ -0,0 +1,34 @@
+package com.zhongshu.card.client.model.devices.permiss;
+
+import com.zhongshu.card.client.type.Sex;
+import com.zhongshu.card.client.type.device.PermissSettingType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author TRX
+ * @date 2024/12/19
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class PermissSettingConfigParam {
+
+    @Schema(description = "设备配置类型")
+    private PermissSettingType permissSettingType;
+
+    @Schema(description = "性别")
+    private Sex sex;
+
+    @Schema(description = "关联配置的数据id,如:角色id集合")
+    private List<String> dataIds = new ArrayList<>();
+
+    @Schema(description = "设备列表")
+    private List<String> deviceIds = new ArrayList<>();
+
+}

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/PermissSettingModel.java

@@ -46,7 +46,7 @@ public class PermissSettingModel extends SuperModel {
     }
 
     @Schema(description = "关联的数据ID集合")
-    private List<String> list = new ArrayList<>();
+    private List<PermissSettingConfigModel> list = new ArrayList<>();
 
     @Schema(description = "数据状态")
     private DataState state;

+ 2 - 3
FullCardClient/src/main/java/com/zhongshu/card/client/model/devices/permiss/PermissSettingParam.java

@@ -2,7 +2,6 @@ package com.zhongshu.card.client.model.devices.permiss;
 
 import com.zhongshu.card.client.model.base.SuperParam;
 import com.zhongshu.card.client.type.DataState;
-import com.zhongshu.card.client.type.device.PermissSettingType;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -28,8 +27,8 @@ public class PermissSettingParam extends SuperParam {
     @Schema(description = "关联的时间段")
     private String timeSlotId;
 
-    @Schema(description = "关联的数据ID集合")
-    private List<String> list = new ArrayList<>();
+    @Schema(description = "关联的数据集合")
+    private List<PermissSettingConfigParam> list = new ArrayList<>();
 
     @Schema(description = "数据状态")
     private DataState state;

+ 4 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/type/device/PermissSettingType.java

@@ -6,8 +6,10 @@ import lombok.Getter;
  * 权限 设置类型
  */
 public enum PermissSettingType {
-    UserSetting("用户设置"),
-    Association("关联设置"),
+    Sex("性别"),
+    Role("角色"),
+    Org("机构"),
+    Area("区域"),
     ;
 
     @Getter

+ 2 - 2
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/devices/permiss/PermissSetting.java

@@ -1,7 +1,7 @@
 package com.zhongshu.card.server.core.domain.devices.permiss;
 
+import com.zhongshu.card.client.model.devices.permiss.PermissSettingConfigParam;
 import com.zhongshu.card.client.type.DataState;
-import com.zhongshu.card.client.type.device.PermissSettingType;
 import com.zhongshu.card.server.core.domain.base.SuperMain;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
@@ -33,7 +33,7 @@ public class PermissSetting extends SuperMain {
     private PermissTimeSlot timeSlot;
 
     @Schema(description = "关联的数据ID集合")
-    private List<String> list = new ArrayList<>();
+    private List<PermissSettingConfigParam> list = new ArrayList<>();
 
     @Schema(description = "数据状态")
     private DataState state = DataState.Enable;

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

@@ -1,5 +1,6 @@
 package com.zhongshu.card.server.core.service.devices;
 
+import com.beust.jcommander.internal.Lists;
 import com.github.microservice.components.data.base.util.PageEntityUtil;
 import com.github.microservice.models.device.DeviceInfoSyncParam;
 import com.github.microservice.net.ResultContent;
@@ -359,6 +360,13 @@ public class DeviceInfoServiceImpl extends SuperService implements DeviceInfoSer
         }
     }
 
+    public List<DeviceInfo> getDevicesByDeviceIds(List<String> deviceIds) {
+        if (ObjectUtils.isNotEmpty(deviceIds)) {
+            return deviceInfoDao.findByDeviceIdIn(deviceIds);
+        }
+        return Lists.newArrayList();
+    }
+
     /**
      * 设备基础信息
      *
@@ -408,4 +416,18 @@ public class DeviceInfoServiceImpl extends SuperService implements DeviceInfoSer
         return model;
     }
 
+    /**
+     * 设备信息  简单模型
+     *
+     * @param entity
+     * @return
+     */
+    public DeviceInfoSimpleModel toSimpleModel(DeviceInfo entity) {
+        DeviceInfoSimpleModel model = null;
+        if (ObjectUtils.isNotEmpty(entity)) {
+            model = new DeviceInfoSimpleModel();
+            BeanUtils.copyProperties(entity, model);
+        }
+        return model;
+    }
 }

+ 44 - 5
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/devices/permiss/PermissSettingService.java

@@ -3,17 +3,18 @@ package com.zhongshu.card.server.core.service.devices.permiss;
 import com.github.microservice.components.data.base.util.PageEntityUtil;
 import com.github.microservice.net.ResultContent;
 import com.github.microservice.net.ResultMessage;
-import com.zhongshu.card.client.model.devices.permiss.PermissSettingModel;
-import com.zhongshu.card.client.model.devices.permiss.PermissSettingParam;
-import com.zhongshu.card.client.model.devices.permiss.PermissSettingSearch;
+import com.zhongshu.card.client.model.devices.permiss.*;
 import com.zhongshu.card.client.type.DataState;
+import com.zhongshu.card.client.type.device.PermissSettingType;
 import com.zhongshu.card.server.core.dao.devices.PermissSettingDao;
 import com.zhongshu.card.server.core.dao.devices.PermissTimeSlotDao;
 import com.zhongshu.card.server.core.dao.org.OrganizationDao;
+import com.zhongshu.card.server.core.domain.devices.DeviceInfo;
 import com.zhongshu.card.server.core.domain.devices.permiss.PermissSetting;
 import com.zhongshu.card.server.core.domain.devices.permiss.PermissTimeSlot;
 import com.zhongshu.card.server.core.domain.org.Organization;
 import com.zhongshu.card.server.core.service.base.SuperService;
+import com.zhongshu.card.server.core.service.devices.DeviceInfoServiceImpl;
 import com.zhongshu.card.server.core.util.BeanUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
@@ -24,6 +25,8 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
 import org.springframework.util.Assert;
 
+import java.util.List;
+
 /**
  * 权限时间段管理
  *
@@ -46,6 +49,9 @@ public class PermissSettingService extends SuperService {
     @Autowired
     private PermissTimeSlotService permissTimeSlotService;
 
+    @Autowired
+    private DeviceInfoServiceImpl deviceInfoService;
+
     public ResultContent saveInfo(PermissSettingParam param) {
         Assert.hasText(param.getProjectOid(), "projectOid不能为空");
         if (StringUtils.isEmpty(param.getTimeSlotId())) {
@@ -65,9 +71,11 @@ public class PermissSettingService extends SuperService {
             initUpdateEntity(entity);
         } else {
             entity = new PermissSetting();
+            if (param.getState() == null) {
+                param.setState(DataState.Enable);
+            }
             initEntityNoCheckOid(entity);
         }
-
         BeanUtils.copyProperties(param, entity);
         entity.setTimeSlot(timeSlot);
         permissSettingDao.save(entity);
@@ -114,10 +122,41 @@ public class PermissSettingService extends SuperService {
     private PermissSettingModel toModel(PermissSetting entity) {
         PermissSettingModel model = new PermissSettingModel();
         if (ObjectUtils.isNotEmpty(entity)) {
-            BeanUtils.copyProperties(entity, model);
+            BeanUtils.copyProperties(entity, model, "list");
             model.setTimeSlot(permissTimeSlotService.toSimpleModel(entity.getTimeSlot()));
+
+            // 配置列表
+            if (ObjectUtils.isNotEmpty(entity.getList())) {
+                model.setList(entity.getList().stream().map(this::toConfigModel).toList());
+            }
         }
         return model;
     }
 
+    private PermissSettingConfigModel toConfigModel(PermissSettingConfigParam param) {
+        PermissSettingConfigModel model = new PermissSettingConfigModel();
+        if (ObjectUtils.isNotEmpty(param)) {
+            BeanUtils.copyProperties(param, model);
+
+            // 设备信息
+            List<DeviceInfo> deviceInfos = deviceInfoService.getDevicesByDeviceIds(param.getDeviceIds());
+            if (ObjectUtils.isNotEmpty(deviceInfos)) {
+                model.setDeviceInfos(deviceInfos.stream().map(it -> {
+                    return deviceInfoService.toSimpleModel(it);
+                }).toList());
+            }
+
+            String aboutShowDataName = "";
+            // 关联的数据名称
+            if (param.getPermissSettingType() == PermissSettingType.Sex) {
+                if (param.getSex() != null) {
+                    aboutShowDataName = param.getSex().getRemark();
+                }
+            } else if (param.getPermissSettingType() == PermissSettingType.Role) {
+
+            }
+            model.setAboutShowDataName(aboutShowDataName);
+        }
+        return model;
+    }
 }