瀏覽代碼

系统配置加入缓存

wangliang 2 年之前
父節點
當前提交
12703fe060

+ 5 - 1
distributed-print/src/main/java/com/qmth/distributed/print/start/StartRunning.java

@@ -1,7 +1,7 @@
 package com.qmth.distributed.print.start;
 
-import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.service.AuthInfoService;
+import com.qmth.teachcloud.common.service.SysConfigService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.boot.CommandLineRunner;
@@ -23,9 +23,13 @@ public class StartRunning implements CommandLineRunner {
     @Resource
     AuthInfoService authInfoService;
 
+    @Resource
+    SysConfigService sysConfigService;
+
     @Override
     public void run(String... args) throws Exception {
         log.info("服务器启动时执行 start");
+        sysConfigService.selectAll();
         authInfoService.appInfoInit();
         log.info("服务器启动时执行 end");
     }

+ 35 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/contant/SystemConstant.java

@@ -92,7 +92,7 @@ public class SystemConstant {
     public static final String TEACHCLOUD_REPORT_OPEN_EXAM_EDIT_API = "/api/report/open/exam_edit";
     public static final String TEACHCLOUD_REPORT_OPEN_EXAM_DELETE_API = "/api/report/open/exam_delete";
     public static final String TEACHCLOUD_REPORT_OPEN_COURSE_EDIT_API = "/api/report/open/course_edit";
-    public static final String TEACHCLOUD_REPORT_OPEN_COURSE_DEL_API = "/api/report/open/course_del";
+//    public static final String TEACHCLOUD_REPORT_OPEN_COURSE_DEL_API = "/api/report/open/course_del";
     public static final String TEACHCLOUD_REPORT_OPEN_CALCULATE_API = "/api/report/open/calculate";
     public static final String TEACHCLOUD_REPORT_OPEN_PUBLISH_API = "/api/report/open/publish";
     public static final String TEACHCLOUD_REPORT_SSO_LOGIN_API = "/api/report/sso/login";
@@ -114,12 +114,43 @@ public class SystemConstant {
     public static final String QUESTION_CAS_ADMIN_LOGIN_OPEN_API = "/admin/login-open";
 
     /**
-     * 系统常量
+     * 系统配置
      */
+    public static final String SYS_USER_INIT_PASSWORD = "sys.user.initPassword";
+    public static final String SYS_WARNING_DAYS = "sys.warning.days";
+    public static final String SYS_CODE_ENABLE = "sys.code.enable";
+    public static final String SYS_MESSAGE_ENABLE = "sys.message.enable";
+    public static final String SYS_MESSAGE_RESEND_COUNT = "sys.message.resendCount";
     public static final String SYS_CONFIG_KEY_CHARSETS = "sys.txt.charset";
     public static final String SYS_PDF_SIZE_LIST = "sys.pdf.size.list";
-    public static final String PDF_SIZE_LIST = "pdf.size.list";
+    public static final String ADMIN_LOGO_URL = "admin.logo.url";
+    public static final String ATTACHMENT_TYPE = "attachment.type";
+    public static final String ATTACHMENT_LENGTH = "attachment.length";
+    public static final String ATTACHMENT_SIZE = "attachment.size";
+    public static final String AUTO_CREATE_PDF_RESET_MAX_COUNT = "auto.create.pdf.reset.max.count";
+    public static final String THREAD_POOL_CORE_SIZE = "thread.pool.core.size";
+    public static final String CUSTOM_THREAD_POOL_CORE_SIZE = "custom.thread.pool.core.size";
+    public static final String SESSION_ACTIVE = "session.active";
+    public static final String CLOUDMARK_HOST_URL = "cloudmark.host.url";
+    public static final String SMS_NORMAL_CODE = "sms.normal.code";
+    public static final String CODE_EXPIRED_TIME = "code.expired.time";
+    public static final String CODE_SEND_INTERVAL = "code.send.interval";
+    public static final String TEACHCLOUD_REPORT_HOST_URL = "teachcloud.report.host.url";
+    public static final String TEACHCLOUD_PRINT_OPEN_CALLBACK_PWD = "teachcloud.print.open.callback.pwd";
+    public static final String QUESTION_HOST_URL = "question.host.url";
+    public static final String TEACHCLOUD_REPORT_STUDENT_URL = "teachcloud.report.student.url";
+    public static final String TEACHCLOUD_REPORT_LOGIN_URL = "teachcloud.report.login.url";
+    public static final String TEACHCLOUD_PRINT_HOST_URL = "teachcloud.print.host.url";
+
+    /**
+     * 系统学校配置
+     */
     public static final String ACCOUNT_SMS_VERIFY = "account.sms.verify";
+    public static final String PDF_SIZE_LIST = "pdf.size.list";
+
+    /**
+     * 系统常量
+     */
     public static final String CHARSET_NAME = "UTF-8";
     //    public static final String CHARSET_GB2312 = "gb2312";
     public static final String CHARSET_GBK = "gbk";
@@ -234,7 +265,7 @@ public class SystemConstant {
     public static final String ROLE_PRIVILEGE_CACHE = "role:privilege:cache";
     public static final String USER_ROLE_PRIVILEGE_CACHE = "user:role:privilege:cache";
     public static final String ROLE_CACHE = "role:cache";
-    public static final String AUTH_INFO_CACHE = "auth:info:cache";
+//    public static final String AUTH_INFO_CACHE = "auth:info:cache";
     public static final String SYS_CONFIG_CACHE = "sys:config:cache";
     public static final String CUSTOM_PRIVILEGE_CACHE = "custom:privilege:cache";
     public static final String NUMBER_CACHE = "school:number:cache:";

+ 9 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/SysConfigService.java

@@ -3,6 +3,8 @@ package com.qmth.teachcloud.common.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.entity.SysConfig;
 
+import java.util.List;
+
 /**
  * <p>
  * 参数表 服务类
@@ -14,4 +16,11 @@ import com.qmth.teachcloud.common.entity.SysConfig;
 public interface SysConfigService extends IService<SysConfig> {
 
     SysConfig getByKey(String key);
+
+    /**
+     * 查询所有系统配置项
+     *
+     * @return
+     */
+    List<SysConfig> selectAll();
 }

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/CommonCacheServiceImpl.java

@@ -584,7 +584,7 @@ public class CommonCacheServiceImpl implements CommonCacheService {
     @Override
     @CachePut(value = SystemConstant.SYS_CONFIG_CACHE, key = "#p0", condition = "#result != null")
     public SysConfig updateSysConfigCache(String key) {
-        return sysConfigService.getById(new QueryWrapper<SysConfig>().lambda().eq(SysConfig::getConfigKey, key));
+        return sysConfigService.getOne(new QueryWrapper<SysConfig>().lambda().eq(SysConfig::getConfigKey, key));
     }
 
     /**

+ 32 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysConfigServiceImpl.java

@@ -2,12 +2,18 @@ package com.qmth.teachcloud.common.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.SysConfig;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.mapper.SysConfigMapper;
+import com.qmth.teachcloud.common.service.CommonCacheService;
 import com.qmth.teachcloud.common.service.SysConfigService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * <p>
@@ -20,6 +26,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig> implements SysConfigService {
 
+    @Resource
+    CommonCacheService commonCacheService;
+
     @Override
     public SysConfig getByKey(String key) {
         if (StringUtils.isBlank(key)) {
@@ -30,4 +39,27 @@ public class SysConfigServiceImpl extends ServiceImpl<SysConfigMapper, SysConfig
         SysConfig sysConfig = this.baseMapper.selectOne(queryWrapper);
         return sysConfig;
     }
+
+    /**
+     * 查询所有系统配置项
+     *
+     * @return
+     */
+    @Override
+    public List<SysConfig> selectAll() {
+        List<SysConfig> sysConfigList = null;
+        try {
+            QueryWrapper<SysConfig> sysConfigQueryWrapper = new QueryWrapper<>();
+            sysConfigQueryWrapper.lambda().isNull(SysConfig::getSchoolId);
+            sysConfigList = this.list(sysConfigQueryWrapper);
+            if (!CollectionUtils.isEmpty(sysConfigList)) {
+                for (SysConfig s : sysConfigList) {
+                    commonCacheService.updateSysConfigCache(s.getConfigKey());
+                }
+            }
+        } catch (Exception e) {
+            log.error(SystemConstant.LOG_ERROR, e);
+        }
+        return sysConfigList;
+    }
 }