deason 4 gadi atpakaļ
vecāks
revīzija
94f298bfe6

+ 20 - 2
src/main/java/cn/com/qmth/examcloud/tool/task/basic/InitUserDataRule.java

@@ -38,7 +38,7 @@ public class InitUserDataRule implements Task {
         StringBuilder querySql = new StringBuilder()
                 .append("select id,root_org_id,org_id from ec_b_user ")
                 .append("where id > %s ")
-                .append("order by id asc limit 0,100");
+                .append("order by id asc limit 0,1000");
 
         Long nextMinId = 0L;
         while (true) {
@@ -63,12 +63,30 @@ public class InitUserDataRule implements Task {
 
         int existSize = 0;
         for (UserInfo user : list) {
+            // 用户与学习中心、课程、考试等数据维度的“默认全部”权限
             for (DataRuleType type : DataRuleType.values()) {
                 UserDataRuleInfo rule = new UserDataRuleInfo();
                 rule.setRootOrgId(user.getRootOrgId());
                 rule.setUserId(user.getId());
                 rule.setType(type);
-                rule.setRefId(-1L);
+                rule.setRefId(-1L);// 为-1时,代表“全部”
+                rule.setEnabled(true);
+
+                if (this.existUserDataRule(rule)) {
+                    existSize++;
+                    continue;
+                }
+
+                todoList.add(rule);
+            }
+
+            // 用户与学习中心的数据权限
+            if (user.getOrgId() != null) {
+                UserDataRuleInfo rule = new UserDataRuleInfo();
+                rule.setRootOrgId(user.getRootOrgId());
+                rule.setUserId(user.getId());
+                rule.setType(DataRuleType.ORG);
+                rule.setRefId(user.getOrgId());// 关联学习中心ID
                 rule.setEnabled(true);
 
                 if (this.existUserDataRule(rule)) {