TRX 1 an în urmă
părinte
comite
26dbb5cca0

+ 9 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/org/OrganizationServiceImpl.java

@@ -1151,6 +1151,15 @@ public class OrganizationServiceImpl extends SuperService implements Organizatio
         return "";
     }
 
+    /**
+     * 得到平台机构信息
+     *
+     * @return
+     */
+    public Organization getPlatForm() {
+        return organizationDao.findTopByAuthType(AuthType.Platform);
+    }
+
     public OrganizationModel toModel(Organization entity) {
         OrganizationModel model = new OrganizationModel();
         if (ObjectUtils.isNotEmpty(entity)) {

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

@@ -54,22 +54,23 @@ import java.util.stream.Collectors;
 public class RoleServiceImpl extends SuperService {
 
     @Autowired
-    RoleDao roleDao;
+    private RoleDao roleDao;
 
     @Autowired
-    com.github.microservice.auth.client.service.RoleService roleService;
+    private com.github.microservice.auth.client.service.RoleService roleService;
 
     @Autowired
-    OrganizationDao organizationDao;
+    private OrganizationDao organizationDao;
 
     @Autowired
     private AuthResourcesNameService authResourcesNameService;
 
     @Autowired
-    UserCountDao userCountDao;
+    private UserCountDao userCountDao;
 
     @Autowired
-    OrganizationUserDao organizationUserDao;
+    private OrganizationUserDao organizationUserDao;
+
 
     /**
      * 添加/编辑角色
@@ -550,6 +551,50 @@ public class RoleServiceImpl extends SuperService {
         return roles;
     }
 
+    /**
+     * 判断用户是否是项目管理员
+     *
+     * @param projectOid 项目oid
+     * @param userId     用户userId
+     * @return
+     */
+    public boolean userIsProjectManager(String projectOid, String userId) {
+        Organization organization = organizationDao.findTopByOid(projectOid);
+        if (ObjectUtils.isEmpty(organization)) {
+            return false;
+        }
+        UserAccount userAccount = userCountDao.findTopByUserId(userId);
+        if (ObjectUtils.isEmpty(userAccount)) {
+            return false;
+        }
+        OrganizationUser organizationUser = organizationUserDao.findTopByOrganizationAndUser(
+                organization, userAccount);
+        if (ObjectUtils.isEmpty(organizationUser)) {
+            return false;
+        }
+        if (organizationUser.getIsAdmin() != null && organizationUser.getIsAdmin()) {
+            return true;
+        }
+        return false;
+    }
+
+    public boolean userIsSuperAdmin(String userId) {
+        UserAccount userAccount = userCountDao.findTopByUserId(userId);
+        if (ObjectUtils.isEmpty(userAccount)) {
+            return false;
+        }
+        Organization organization = organizationDao.findTopByAuthType(AuthType.Platform);
+        if (ObjectUtils.isEmpty(organization)) {
+            return false;
+        }
+        OrganizationUser organizationUser = organizationUserDao.findTopByOrganizationAndUser(
+                organization, userAccount);
+        if (ObjectUtils.isNotEmpty(organizationUser)) {
+            return true;
+        }
+        return false;
+    }
+
     public List<RoleModel> toModels(List<Role> roles) {
         if (ObjectUtils.isNotEmpty(roles)) {
             return roles.stream().map(this::toModel).collect(Collectors.toList());
@@ -564,4 +609,5 @@ public class RoleServiceImpl extends SuperService {
         }
         return roleModel;
     }
+
 }