Bladeren bron

更新!

TRX 1 jaar geleden
bovenliggende
commit
3ad8c9484e

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

@@ -34,7 +34,7 @@ public class PermissSettingConfigModel {
     }
 
     @Schema(description = "性别")
-    private Sex sex;
+    private List<Sex> sex;
 
     @Schema(description = "关联配置的数据id,如:角色id集合")
     private List<String> dataIds = new ArrayList<>();

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

@@ -28,7 +28,7 @@ public class PermissSettingConfigParam {
     private PermissSettingType permissSettingType;
 
     @Schema(description = "性别")
-    private Sex sex;
+    private List<Sex> sex;
 
     @Schema(description = "关联配置的数据id,如:角色id集合")
     private List<String> dataIds = new ArrayList<>();

+ 2 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/devices/PermissSettingDao.java

@@ -16,5 +16,7 @@ public interface PermissSettingDao extends MongoDao<PermissSetting>, PermissSett
 
     PermissSetting findTopById(String id);
 
+    PermissSetting findTopByNameAndProjectOid(String name, String projectOid);
+
     List<PermissSetting> findByTimeSlotIdIn(List<String> ids);
 }

+ 14 - 6
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/devices/impl/PermissSettingListDaoImpl.java

@@ -63,25 +63,33 @@ public class PermissSettingListDaoImpl extends BaseImpl implements PermissSettin
             criteria.and("permissSetting").in(permissSettingList);
         }
 
+
         // 模糊搜索
         List<Criteria> criterias = new ArrayList<>();
-
         if (param.getSex() != null) {
-            criterias.add(Criteria.where("sex").is(param.getSex()));
+            criterias.add(Criteria.where("sex").in(List.of(param.getSex())));
         }
         if (ObjectUtils.isNotEmpty(param.getDataIds())) {
             criterias.add(Criteria.where("dataIds").in(param.getDataIds()));
         }
-        criteria.orOperator(criterias.toArray(new Criteria[]{}));
+        Criteria criteriaUser = new Criteria();
+        criteriaUser.orOperator(criterias.toArray(new Criteria[]{}));
+
+
+        List<Criteria> criteriaDevices = new ArrayList<>();
 
         if (ObjectUtils.isNotEmpty(param.getDeviceIds())) {
-            criteria.and("deviceIds").in(param.getDeviceIds());
+            criteriaDevices.add(Criteria.where("deviceIds").in(param.getDeviceIds()));
         }
-
         if (ObjectUtils.isNotEmpty(param.getDeviceTypes())) {
-            criteria.and("deviceTypes").in(param.getDeviceTypes());
+            criteriaDevices.add(Criteria.where("deviceTypes").in(param.getDeviceTypes()));
         }
 
+        Criteria criteriaDe = new Criteria();
+        criteriaDe.orOperator(criteriaDevices.toArray(new Criteria[]{}));
+
+        criteria.andOperator(criteriaUser, criteriaDe);
+
         Sort sort = buildSort(param);
         Query query = Query.query(criteria);
         query.with(sort);

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

@@ -37,7 +37,7 @@ public class PermissSettingList extends SuperMain {
 
     @Schema(description = "性别")
     @Indexed
-    private Sex sex;
+    private List<Sex> sex;
 
     @Schema(description = "关联配置的数据id,如:角色id集合")
     @Indexed

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

@@ -98,13 +98,20 @@ public class PermissSettingService extends SuperService {
         }
 
         PermissSetting entity = null;
+        PermissSetting nameTemp = permissSettingDao.findTopByNameAndProjectOid(param.getName(), param.getProjectOid());
         if (StringUtils.isNotEmpty(param.getId())) {
             entity = permissSettingDao.findTopById(param.getId());
             if (ObjectUtils.isEmpty(entity)) {
                 return ResultContent.buildFail(String.format(ResultMessage.DATA_NOT_EXIST, param.getId()));
             }
+            if (ObjectUtils.isNotEmpty(nameTemp) && nameTemp.getId().equals(entity.getId())) {
+                return ResultContent.buildFail(String.format(ResultMessage.NAME_EXIST, param.getName()));
+            }
             initUpdateEntity(entity);
         } else {
+            if (ObjectUtils.isNotEmpty(nameTemp)) {
+                return ResultContent.buildFail(String.format(ResultMessage.NAME_EXIST, param.getName()));
+            }
             entity = new PermissSetting();
             if (param.getState() == null) {
                 param.setState(DataState.Enable);
@@ -140,6 +147,7 @@ public class PermissSettingService extends SuperService {
                     ids.remove(permissSettingList.getId());
                 }
             }
+            permissSettingListDao.saveAll(saveList);
         }
         if (ObjectUtils.isNotEmpty(ids)) {
             permissSettingListDao.deleteAllById(ids);
@@ -244,10 +252,12 @@ public class PermissSettingService extends SuperService {
             String aboutShowDataName = "";
             // 关联的数据名称
             if (param.getPermissSettingType() == PermissSettingType.Sex) {
+                List<String> names = new ArrayList<>();
                 // 性别
                 if (param.getSex() != null) {
-                    aboutShowDataName = param.getSex().getRemark();
+                    names = param.getSex().stream().map(it -> it.getRemark()).collect(Collectors.toList());
                 }
+                aboutShowDataName = StringUtils.join(names, ",");
             } else {
                 if (ObjectUtils.isNotEmpty(param.getDataIds())) {
                     List<String> names = new ArrayList<>();