浏览代码

Merge remote-tracking branch 'origin/master'

wujiefeng 1 年之前
父节点
当前提交
7a114e1f1d

+ 22 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/type/scene/SceneType.java

@@ -0,0 +1,22 @@
+package com.zhongshu.card.client.type.scene;
+
+import lombok.Getter;
+
+/**
+ * 场景类型
+ */
+public enum SceneType {
+    Life("生活"),
+    Study("学习"),
+    Finance("财务"),
+    Manager("管理"),
+    Other("其他"),
+    ;
+
+    @Getter
+    private String remark;
+
+    SceneType(String remark) {
+        this.remark = remark;
+    }
+}

+ 41 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/domain/scene/SceneInfo.java

@@ -0,0 +1,41 @@
+package com.zhongshu.card.server.core.domain.scene;
+
+import com.zhongshu.card.client.type.DataState;
+import com.zhongshu.card.client.type.scene.SceneType;
+import com.zhongshu.card.server.core.domain.base.SuperMain;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+/**
+ * 平台场景信息
+ *
+ * @author TRX
+ * @date 2024/11/21
+ */
+@Data
+@Builder
+@Document
+@AllArgsConstructor
+@NoArgsConstructor
+public class SceneInfo extends SuperMain {
+
+    @Schema(description = "")
+    private String name;
+
+    @Schema(description = "")
+    private String logo;
+
+    @Schema(description = "")
+    private SceneType sceneType;
+
+    @Schema(description = "")
+    private String size;
+
+    @Schema(description = "")
+    private DataState state;
+
+}

+ 10 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/OrganizationUserServiceImpl.java

@@ -293,6 +293,15 @@ public class OrganizationUserServiceImpl extends SuperService {
             position = dictInfoDao.findTopById(param.getPositionId());
         }
 
+        if (organization.getAuthType() == AuthType.Platform) {
+            // 判断是否是超级管理员
+            if (userAccount.getUserType() == UserType.SuperAdmin) {
+                List<Role> tempList = roleServiceImpl.getOrgAdminRoles(organization.getOid());
+                roles.addAll(tempList);
+            }
+        }
+        roles = roles.stream().distinct().collect(Collectors.toList());
+
         if (ObjectUtils.isNotEmpty(roles)) {
             //权限中心: 在角色组添加用户
             roleServiceImpl.userBindRoles(userId, roles);
@@ -316,7 +325,7 @@ public class OrganizationUserServiceImpl extends SuperService {
         organizationUser.setName(userAccount.getName());
         organizationUser.setCardNumber(userAccount.getCardNumber());
         organizationUser.setOid(param.getOrgOid());
-        if (organization.getAuthType() == AuthType.Project) {
+        if (organization.getAuthType() == AuthType.Project || organization.getAuthType() == AuthType.Platform) {
             organizationUser.setIsOrg(Boolean.FALSE);
         } else {
             organizationUser.setIsOrg(Boolean.TRUE);

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

@@ -410,6 +410,10 @@ public class RoleServiceImpl extends SuperService {
             // 角色存在,查询角色信息
             List<String> roleIds = new ArrayList<>(roleGroup.getRoleId());
             roleModel = roleService.getRole(roleIds.get(0)).getContent();
+            if (StringUtils.isEmpty(role.getRoleId())) {
+                role.setRoleId(roleIds.get(0));
+                roleDao.save(role);
+            }
         }
         Set<String> auth = roleModel.getAuth();
         if (CollectionUtils.isEmpty(auth)) {
@@ -438,8 +442,8 @@ public class RoleServiceImpl extends SuperService {
         }
         roleModel.setAuth(auth);
         com.github.microservice.auth.client.content.ResultContent<String> content = roleService.updateRole(roleModel);
-        if (content.getState() == ResultState.Fail) {
-            log.info("错误: {}", content.getMsg());
+        if (content.getState() != ResultState.Success) {
+            log.error("错误: {}", content.getMsg());
         }
         return ResultContent.buildSuccess(roleModel);
     }
@@ -470,8 +474,8 @@ public class RoleServiceImpl extends SuperService {
         if (ObjectUtils.isEmpty(userAccount)) {
             return auth;
         }
-//        List<OrganizationUser> organizationUsers = organizationUserDao.findByUserAndAuthType(userAccount, AuthType.Platform);
-        List<OrganizationUser> organizationUsers = organizationUserDao.findByUserId(userAccount.getUserId());
+        List<OrganizationUser> organizationUsers = organizationUserDao.findByUserAndAuthType(userAccount, AuthType.Platform);
+//        List<OrganizationUser> organizationUsers = organizationUserDao.findByUserId(userAccount.getUserId());
         if (ObjectUtils.isEmpty(organizationUsers)) {
             return auth;
         }
@@ -571,9 +575,17 @@ public class RoleServiceImpl extends SuperService {
                 List<Role> _list = roles.stream().filter(it -> {
                     return it.getIsAdmin();
                 }).collect(Collectors.toList());
+
                 // 如果角色是管理员角色,就把 Admin权限标识返回
                 if (ObjectUtils.isNotEmpty(_list)) {
-                    auth.add(AuthConstant.Admin);
+                    Organization org = organizationUser.getOrganization();
+                    if (ObjectUtils.isNotEmpty(org)) {
+                        if (org.getAuthType() == AuthType.Platform) {
+                            auth.add(AuthConstant.SuperAdmin);
+                        } else {
+                            auth.add(AuthConstant.Admin);
+                        }
+                    }
                 }
             }
         }