TRX 1 年間 前
コミット
05af3b3e80

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

@@ -0,0 +1,62 @@
+package com.zhongshu.card.server.core.service.org;
+
+import com.github.microservice.auth.security.type.AuthType;
+import com.zhongshu.card.server.core.dao.org.OrganizationDao;
+import com.zhongshu.card.server.core.domain.org.Organization;
+import com.zhongshu.card.server.core.service.base.SuperService;
+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.List;
+
+/**
+ * 用户机构权限
+ *
+ * @author TRX
+ * @date 2024/11/14
+ */
+@Slf4j
+@Service
+public class UserOrgPermissService extends SuperService {
+
+    @Autowired
+    private OrganizationDao organizationDao;
+
+    @Autowired
+    private OrganizationUserServiceImpl organizationUserServiceImpl;
+
+    /**
+     * 判断用户是否是项目管理员
+     *
+     * @param projectOid
+     * @param userId
+     * @return
+     */
+    public boolean userIsProjectManager(String projectOid, String userId) {
+        if (StringUtils.isNotEmpty(projectOid) && StringUtils.isNotEmpty(userId)) {
+            Organization projectInfo = organizationDao.findTopByOid(projectOid);
+            if (ObjectUtils.isNotEmpty(projectInfo) && projectInfo.getAuthType() == AuthType.Project) {
+                List<String> managerUserIds = projectInfo.getManagerUserIds();
+                if (ObjectUtils.isNotEmpty(managerUserIds) && managerUserIds.contains(userId)) {
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    /**
+     * 判断用户加入的 项目下的结构oid集合
+     *
+     * @param projectOid
+     * @param userId
+     * @return
+     */
+    public List<String> getUserManagerOids(String projectOid, String userId) {
+        return organizationUserServiceImpl.getUserOrgListOids(userId, projectOid);
+    }
+
+}