Explorar o código

LoginRule white

deason %!s(int64=5) %!d(string=hai) anos
pai
achega
da62d24b40

+ 2 - 0
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/LoginRuleService.java

@@ -4,4 +4,6 @@ public interface LoginRuleService {
 
     void refreshLoginRule();
 
+    boolean isLoginRuleWhite(Long rootOrgId);
+
 }

+ 17 - 1
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/LoginRuleServiceImpl.java

@@ -47,4 +47,20 @@ public class LoginRuleServiceImpl implements LoginRuleService {
         log.info("refreshLoginRule end...");
     }
 
-}
+    @Override
+    public boolean isLoginRuleWhite(Long rootOrgId) {
+        if (rootOrgId == null) {
+            return false;
+        }
+
+        LoginRuleCacheBean cacheBean = redisClient.get(CACHE_KEY_LOGIN_RULE, String.valueOf(rootOrgId), LoginRuleCacheBean.class);
+        if (cacheBean != null && cacheBean.getWhite()) {
+            log.info("LoginRule white = true, rootOrgId = " + rootOrgId);
+            return true;
+        }
+
+        log.info("LoginRule white = false, rootOrgId = " + rootOrgId);
+        return false;
+    }
+
+}

+ 1 - 1
examcloud-core-basic-starter/src/main/java/cn/com/qmth/examcloud/core/basic/starter/config/ScheduleConfig.java

@@ -21,7 +21,7 @@ public class ScheduleConfig implements Serializable {
     /**
      * 定时刷新登录规则(每N分钟执行)
      */
-    // @PostConstruct
+    @PostConstruct
     @Scheduled(cron = "0 30/30 * * * ?")
     public void execute() {
         loginRuleService.refreshLoginRule();