Bladeren bron

更新!

TRX 1 jaar geleden
bovenliggende
commit
b8d6816945

+ 28 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/org/role/RoleSimpleModel.java

@@ -0,0 +1,28 @@
+package com.zhongshu.card.client.model.org.role;
+
+import com.github.microservice.auth.security.type.AuthType;
+import com.zhongshu.card.client.model.base.SuperModel;
+import com.zhongshu.card.client.type.DataState;
+import com.zhongshu.card.client.type.RoleType;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.Set;
+
+/**
+ * @author TRX
+ * @date 2024/5/31
+ */
+@Data
+public class RoleSimpleModel {
+
+    @Schema(description = "数据ID")
+    private String id;
+
+    @Schema(description = "名称")
+    private String name;
+
+    @Schema(description = "角色编码")
+    private String code;
+
+}

+ 9 - 4
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/orgManager/RoleController.java

@@ -7,10 +7,7 @@ import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.model.base.IDParam;
 import com.zhongshu.card.client.model.base.OidModel;
 import com.zhongshu.card.client.model.org.EditAuthParam;
-import com.zhongshu.card.client.model.org.role.RoleAddParam;
-import com.zhongshu.card.client.model.org.role.RoleModel;
-import com.zhongshu.card.client.model.org.role.RoleQueryParam;
-import com.zhongshu.card.client.model.org.role.RoleSearchParam;
+import com.zhongshu.card.client.model.org.role.*;
 import com.zhongshu.card.server.core.service.user.RoleServiceImpl;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
@@ -22,6 +19,7 @@ import org.springframework.data.web.PageableDefault;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * @author TRX
@@ -97,6 +95,13 @@ public class RoleController {
         return this.roleService.getAllRoles(param.getOid());
     }
 
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "小程序-得到当前用户所有的角色", description = "小程序-得到当前用户所有的角色")
+    @RequestMapping(value = {"xcxGetCurrentRoles"}, method = {RequestMethod.GET})
+    public ResultContent<List<RoleSimpleModel>> xcxGetCurrentRoles() {
+        return roleService.xcxGetCurrentRoles();
+    }
+
     //---------------------------角色权限 start -----------------------
 
     @Operation(summary = "获取角色的权限列表", description = "获取角色的权限列表")

+ 1 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/scene/RoleSceneInfoController.java

@@ -5,6 +5,7 @@ import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.model.base.IDParam;
 import com.zhongshu.card.client.model.base.SortParam;
+import com.zhongshu.card.client.model.org.role.RoleSimpleModel;
 import com.zhongshu.card.client.model.scene.RoleBindAllParam;
 import com.zhongshu.card.client.model.scene.RoleBindSceneParam;
 import com.zhongshu.card.client.model.scene.RoleSceneInfoModel;

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

@@ -13,10 +13,7 @@ import com.google.common.collect.Lists;
 import com.zhongshu.card.client.model.org.AuthModel;
 import com.zhongshu.card.client.model.org.EditAuthParam;
 import com.zhongshu.card.client.model.org.ModularModel;
-import com.zhongshu.card.client.model.org.role.RoleAddParam;
-import com.zhongshu.card.client.model.org.role.RoleModel;
-import com.zhongshu.card.client.model.org.role.RoleQueryParam;
-import com.zhongshu.card.client.model.org.role.RoleSearchParam;
+import com.zhongshu.card.client.model.org.role.*;
 import com.zhongshu.card.client.type.DataState;
 import com.zhongshu.card.client.type.EditType;
 import com.zhongshu.card.client.type.PermissionPointType;
@@ -30,7 +27,6 @@ import com.zhongshu.card.server.core.domain.org.Organization;
 import com.zhongshu.card.server.core.domain.org.OrganizationUser;
 import com.zhongshu.card.server.core.domain.org.Role;
 import com.zhongshu.card.server.core.domain.org.UserAccount;
-import com.zhongshu.card.server.core.domain.scene.RoleSceneInfo;
 import com.zhongshu.card.server.core.service.base.SuperService;
 import com.zhongshu.card.server.core.service.org.OrganizationServiceImpl;
 import com.zhongshu.card.server.core.service.scene.RoleSceneInfoService;
@@ -802,6 +798,35 @@ public class RoleServiceImpl extends SuperService {
         return ResultContent.buildSuccess();
     }
 
+    public ResultContent<List<RoleSimpleModel>> xcxGetCurrentRoles() {
+        String projectOid = getCurrentProjectOid();
+        String userId = getCurrentUserId();
+        return ResultContent.buildSuccess(getUserInProjectRoles(projectOid, userId));
+    }
+
+    /**
+     * 得到用户在项目下所有的角色信息
+     *
+     * @param projectOid
+     * @param userId
+     */
+    public List<RoleSimpleModel> getUserInProjectRoles(String projectOid, String userId) {
+        List<RoleSimpleModel> models = new ArrayList<>();
+        if (StringUtils.isNotEmpty(projectOid) && ObjectUtils.isNotEmpty(userId)) {
+            List<OrganizationUser> list = organizationUserDao.findByUserIdAndProjectOidAndIsOrg(userId, projectOid, Boolean.TRUE);
+            List<Role> roles = new ArrayList<>();
+            if (ObjectUtils.isNotEmpty(list)) {
+                list.stream().forEach(it -> {
+                    if (ObjectUtils.isNotEmpty(it.getRoles())) {
+                        roles.addAll(it.getRoles());
+                    }
+                });
+            }
+            models = roles.stream().map(this::toSimpleModel).collect(Collectors.toList());
+        }
+        return models;
+    }
+
     //--------------------------模型转换 start---------------------
 
     public List<RoleModel> toModels(List<Role> roles) {
@@ -819,4 +844,12 @@ public class RoleServiceImpl extends SuperService {
         return roleModel;
     }
 
+    public RoleSimpleModel toSimpleModel(Role role) {
+        RoleSimpleModel roleModel = new RoleSimpleModel();
+        if (ObjectUtils.isNotEmpty(role)) {
+            BeanUtils.copyProperties(role, roleModel);
+        }
+        return roleModel;
+    }
+
 }