deason преди 6 години
родител
ревизия
9b2a0ddcf9

+ 42 - 31
examcloud-core-print-provider/src/main/java/cn/com/qmth/examcloud/core/print/api/bean/UserInfo.java

@@ -37,6 +37,10 @@ public class UserInfo {
      * 学校机构名称
      */
     private String orgName;
+    /**
+     * 是否为印刷总负责人
+     */
+    private boolean isSuperLeader;
     /**
      * 是否为项目经理
      */
@@ -46,13 +50,13 @@ public class UserInfo {
      */
     private boolean isSupplier;
     /**
-     * 是否为学校用户
+     * 是否为印刷学校管理员
      */
-    private boolean isSchoolUser;
+    private boolean isSchoolLeader;
     /**
-     * 是否为负责人
+     * 其它
      */
-    private boolean isLeader;
+    private boolean isOther;
 
     public UserInfo(User user) {
         this.userId = user.getUserId();
@@ -62,17 +66,20 @@ public class UserInfo {
 
         //角色类型
         List<Role> roles = user.getRoleList();
-        if (roles != null && !roles.isEmpty()) {
-            for (Role role : roles) {
-                if (RoleMeta.PRINT_PROJECT_LEADER.name().equals(role.getRoleCode())) {
-                    this.isPM = true;
-                } else if (RoleMeta.PRINT_SUPPLIER.name().equals(role.getRoleCode())) {
-                    this.isSupplier = true;
-                } else if (RoleMeta.PRINT_SCHOOL_LEADER.name().equals(role.getRoleCode())) {
-                    this.isSchoolUser = true;
-                } else {
-                    this.isLeader = true;
-                }
+        if (roles == null || roles.isEmpty()) {
+            return;
+        }
+        for (Role role : roles) {
+            if (RoleMeta.PRINT_SUPER_LEADER.name().equals(role.getRoleCode())) {
+                this.isSuperLeader = true;
+            } else if (RoleMeta.PRINT_PROJECT_LEADER.name().equals(role.getRoleCode())) {
+                this.isPM = true;
+            } else if (RoleMeta.PRINT_SUPPLIER.name().equals(role.getRoleCode())) {
+                this.isSupplier = true;
+            } else if (RoleMeta.PRINT_SCHOOL_LEADER.name().equals(role.getRoleCode())) {
+                this.isSchoolLeader = true;
+            } else {
+                this.isOther = true;
             }
         }
     }
@@ -81,22 +88,6 @@ public class UserInfo {
         return new OrgInfo(orgId, orgName);
     }
 
-    public boolean isPM() {
-        return isPM;
-    }
-
-    public boolean isSupplier() {
-        return isSupplier;
-    }
-
-    public boolean isSchoolUser() {
-        return isSchoolUser;
-    }
-
-    public boolean isLeader() {
-        return isLeader;
-    }
-
     public Long getUserId() {
         return userId;
     }
@@ -113,4 +104,24 @@ public class UserInfo {
         return orgName;
     }
 
+    public boolean isSuperLeader() {
+        return isSuperLeader;
+    }
+
+    public boolean isPM() {
+        return isPM;
+    }
+
+    public boolean isSupplier() {
+        return isSupplier;
+    }
+
+    public boolean isSchoolLeader() {
+        return isSchoolLeader;
+    }
+
+    public boolean isOther() {
+        return isOther;
+    }
+
 }

+ 4 - 3
examcloud-core-print-provider/src/main/java/cn/com/qmth/examcloud/core/print/api/controller/PrintingProjectController.java

@@ -63,12 +63,13 @@ public class PrintingProjectController extends ControllerSupport {
     public List<OrgInfo> getOrgList() {
         //根据登录用户的不同角色取不同的学校数据
         UserInfo user = new UserInfo(getAccessUser());
-        if (user.isSchoolUser()) {
-            return Lists.newArrayList(user.getOrgInfo());
-        } else if (user.isPM()) {
+        if (user.isPM()) {
             return printingProjectService.getOrgList(user.getUserId(), null);
         } else if (user.isSupplier()) {
             return printingProjectService.getOrgList(null, user.getUserId());
+        } else if (user.isSchoolLeader()) {
+            //直接返回当前用户的学校机构信息
+            return Lists.newArrayList(user.getOrgInfo());
         } else {
             return printingProjectService.getOrgList(null, null);
         }