TRX před 1 rokem
rodič
revize
4a1ea09902

+ 6 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/projectAbout/projectCommon/ProjectCommonConfigParam.java

@@ -1,13 +1,13 @@
 package com.zhongshu.card.client.model.projectAbout.projectCommon;
 
-import com.zhongshu.card.client.model.base.ProjectOidParam;
-import com.zhongshu.card.client.model.org.role.RoleModel;
 import com.zhongshu.card.client.type.PassWordDefaultType;
 import com.zhongshu.card.client.type.PassWordType;
 import com.zhongshu.card.client.type.config.LonginType;
 import com.zhongshu.card.client.type.config.RegisterExamineType;
 import com.zhongshu.card.client.type.config.RetrievePasswordType;
 import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.Max;
+import jakarta.validation.constraints.Min;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -69,8 +69,12 @@ public class ProjectCommonConfigParam extends ProjectCommonSuperParam {
     private Boolean isExamineFace = Boolean.FALSE;
 
     @Schema(description = "人脸照片相似度(0-100)")
+    @Min(value = 0)
+    @Max(value = 100)
     private Integer similarity = 80;
 
+    @Min(value = 1)
+    @Max(value = 10)
     @Schema(description = "人脸识别照片上传数量限制")
     private Integer maxFaceNumber = 3;
 

+ 7 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/projectAbout/ProjectCommonConfigController.java

@@ -49,6 +49,13 @@ public class ProjectCommonConfigController {
         return projectCommonConfigService.getInfo(param.getProjectOid());
     }
 
+    @Operation(summary = "得到项目的配置", description = "得到项目的配置")
+    @RequestMapping(value = "getConfigInfo", method = {RequestMethod.POST})
+    @Hidden
+    public ResultContent<ProjectCommonConfigModel> getConfigInfo(@RequestBody ProjectOidParam param) {
+        return projectCommonConfigService.getXcxInfo(param.getProjectOid());
+    }
+
     //----------------------------协议配置 start-------------------------
 
     @ResourceAuth(value = "user", type = AuthType.User)

+ 38 - 5
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/projectAbout/ProjectCommonConfigService.java

@@ -1,7 +1,7 @@
 package com.zhongshu.card.server.core.service.projectAbout;
 
-import com.github.microservice.auth.client.service.RoleService;
 import com.github.microservice.net.ResultContent;
+import com.zhongshu.card.client.model.org.role.RoleModel;
 import com.zhongshu.card.client.model.projectAbout.projectCommon.ProjectCommonConfigModel;
 import com.zhongshu.card.client.model.projectAbout.projectCommon.ProjectCommonConfigParam;
 import com.zhongshu.card.client.model.projectAbout.projectCommon.ProjectCommonSuperParam;
@@ -16,10 +16,13 @@ import com.zhongshu.card.server.core.service.user.RoleServiceImpl;
 import com.zhongshu.card.server.core.util.BeanUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 项目的 关联的物联网 ak sk 设置
@@ -55,6 +58,8 @@ public class ProjectCommonConfigService extends SuperService {
         if (ObjectUtils.isEmpty(projectInfo)) {
             return ResultContent.buildFail(String.format("项目oid不存在:%s", projectOid));
         }
+        // 数据检查
+
         ProjectCommonConfig entity = commonConfigDao.findTopByProjectOid(projectOid);
         if (ObjectUtils.isEmpty(entity)) {
             entity = new ProjectCommonConfig();
@@ -82,12 +87,26 @@ public class ProjectCommonConfigService extends SuperService {
      * @return
      */
     public ResultContent<ProjectCommonConfigModel> getInfo(String projectOid) {
+        return ResultContent.buildSuccess(getInfoByOid(projectOid));
+    }
+
+    public ResultContent<ProjectCommonConfigModel> getXcxInfo(String projectOid) {
+        if (StringUtils.isEmpty(projectOid)) {
+            projectOid = getCurrentProjectOid();
+        }
+        return ResultContent.buildSuccess(getInfoByOid(projectOid));
+    }
+
+    public ProjectCommonConfigModel getInfoByOid(String projectOid) {
+        if (StringUtils.isEmpty(projectOid)) {
+            return null;
+        }
         ProjectCommonConfig entity = commonConfigDao.findTopByProjectOid(projectOid);
         ProjectCommonConfigModel model = null;
         if (ObjectUtils.isNotEmpty(entity)) {
             model = toModel(entity);
         }
-        return ResultContent.buildSuccess(model);
+        return model;
     }
 
     /**
@@ -157,10 +176,24 @@ public class ProjectCommonConfigService extends SuperService {
             model = new ProjectCommonConfigModel();
             BeanUtils.copyProperties(entity, model);
 
-            if (ObjectUtils.isNotEmpty(entity.getRoleIds())) {
-                List<Role> roles = roleDao.findByIdIn(entity.getRoleIds());
-                model.setRoles(roleService.toModels(roles));
+            // 可选择角色
+            List<RoleModel> roleModels = new ArrayList<RoleModel>();
+            List<String> roleIds = new ArrayList<>();
+            if (entity.getIsAllowSelectRole() != null && entity.getIsAllowSelectRole()) {
+                roleIds = entity.getRoleIds();
+                if (ObjectUtils.isNotEmpty(entity.getRoleIds())) {
+                    List<Role> roles = roleDao.findByIdIn(entity.getRoleIds());
+                    model.setRoles(roleService.toModels(roles));
+                }
+            } else {
+                List<Role> roles = roleService.getVisitorRoles(entity.getProjectOid());
+                if (ObjectUtils.isNotEmpty(roles)) {
+                    roleModels = roleService.toModels(roles);
+                    roleIds = roles.stream().map(Role::getId).collect(Collectors.toList());
+                }
             }
+            model.setRoles(roleModels);
+            model.setRoleIds(roleIds);
         }
         return model;
     }