xiaof 2 жил өмнө
parent
commit
3fd717b652

+ 1 - 0
paper-library-business/src/main/java/com/qmth/paper/library/business/service/impl/ClientServiceImpl.java

@@ -153,6 +153,7 @@ public class ClientServiceImpl implements ClientService {
             paperLibrary.setSchoolId(schoolId);
             paperLibrary.setPaperScanTaskId(paperScanTaskId);
             paperLibrary.setPath(path);
+            paperLibrary.setAbnormal(false);
             paperLibrary.setCreateId(userId);
             paperLibrary.setCreateTime(System.currentTimeMillis());
             paperLibraryService.save(paperLibrary);

+ 0 - 14
paper-library-common/src/main/java/com/qmth/paper/library/common/config/DictionaryConfig.java

@@ -17,8 +17,6 @@ public class DictionaryConfig {
 
     /**
      * 模块前缀
-     *
-     * @return
      */
     @Bean
     @ConfigurationProperties(prefix = "prefix.url")
@@ -28,8 +26,6 @@ public class DictionaryConfig {
 
     /**
      * 系统配置
-     *
-     * @return
      */
     @Bean
     @ConfigurationProperties(prefix = "sys.config")
@@ -39,8 +35,6 @@ public class DictionaryConfig {
 
     /**
      * 短信配置
-     *
-     * @return
      */
     @Bean
     @ConfigurationProperties(prefix = "sms.config")
@@ -61,12 +55,6 @@ public class DictionaryConfig {
         return new FssPrivateDomain();
     }
 
-    @Bean
-    @ConfigurationProperties(prefix = "com.qmth.fss.localpdf", ignoreUnknownFields = false)
-    public FssLocalPdfDomain fssLocalPdfDomain() {
-        return new FssLocalPdfDomain();
-    }
-
     @Bean
     @ConfigurationProperties(prefix = "com.qmth.fss.localfile", ignoreUnknownFields = false)
     public FssLocalFileDomain fssLocalFileDomain() {
@@ -75,8 +63,6 @@ public class DictionaryConfig {
 
     /**
      * ocr配置
-     *
-     * @return
      */
     @Bean
     @ConfigurationProperties(prefix = "ocr.config")

+ 0 - 40
paper-library-common/src/main/java/com/qmth/paper/library/common/domain/SysDomain.java

@@ -21,16 +21,8 @@ public class SysDomain implements Serializable {
 
     Double attachmentSize;
 
-    String serverUpload;
-
     String adminLogoUrl;
 
-    Integer autoCreatePdfResetMaxCount;
-
-    Integer threadPoolCoreSize;
-
-    boolean customThreadPoolCoreSize;
-
     Duration sessionActive;
 
     public Duration getSessionActive() {
@@ -41,30 +33,6 @@ public class SysDomain implements Serializable {
         this.sessionActive = sessionActive;
     }
 
-    public boolean isCustomThreadPoolCoreSize() {
-        return customThreadPoolCoreSize;
-    }
-
-    public void setCustomThreadPoolCoreSize(boolean customThreadPoolCoreSize) {
-        this.customThreadPoolCoreSize = customThreadPoolCoreSize;
-    }
-
-    public Integer getAutoCreatePdfResetMaxCount() {
-        return autoCreatePdfResetMaxCount;
-    }
-
-    public void setAutoCreatePdfResetMaxCount(Integer autoCreatePdfResetMaxCount) {
-        this.autoCreatePdfResetMaxCount = autoCreatePdfResetMaxCount;
-    }
-
-    public Integer getThreadPoolCoreSize() {
-        return threadPoolCoreSize;
-    }
-
-    public void setThreadPoolCoreSize(Integer threadPoolCoreSize) {
-        this.threadPoolCoreSize = threadPoolCoreSize;
-    }
-
     public String getAdminLogoUrl() {
         return adminLogoUrl;
     }
@@ -104,12 +72,4 @@ public class SysDomain implements Serializable {
     public void setAttachmentType(List attachmentType) {
         this.attachmentType = attachmentType;
     }
-
-    public String getServerUpload() {
-        return serverUpload;
-    }
-
-    public void setServerUpload(String serverUpload) {
-        this.serverUpload = serverUpload;
-    }
 }

+ 1 - 3
paper-library-common/src/main/java/com/qmth/paper/library/common/enums/LocalCatalogEnum.java

@@ -6,9 +6,7 @@ package com.qmth.paper.library.common.enums;
  * @Date: 2022-08-11
  */
 public enum LocalCatalogEnum {
-    LOCAL_FILE("localfile","本地文件"),
-    LOCAL_PDF("localpdf","本地pdf")
-    ;
+    LOCAL_FILE("localfile","本地文件");
     private final String type;
     private final String desc;
 

+ 0 - 99
paper-library-common/src/main/java/com/qmth/paper/library/common/service/CommonCacheService.java

@@ -127,41 +127,11 @@ public interface CommonCacheService {
      */
     public BasicSchool schoolCache(String code);
 
-    /**
-     * 更新学校缓存
-     *
-     * @param schoolId
-     * @return
-     */
-    public BasicSchool updateSchoolCache(Long schoolId);
-
-    /**
-     * 更新学校缓存
-     *
-     * @param code
-     * @return
-     */
-    public BasicSchool updateSchoolCache(String code);
-
-    /**
-     * 删除学校缓存
-     *
-     * @param schoolId
-     */
-    public void removeSchoolCache(Long schoolId);
-
     /**
      * 删除学校缓存
      */
     public void removeSchoolIdCache();
 
-    /**
-     * 删除学校缓存
-     *
-     * @param code
-     */
-    public void removeSchoolCache(String code);
-
     /**
      * 删除学校缓存
      */
@@ -175,20 +145,6 @@ public interface CommonCacheService {
      */
     public SysOrg orgCache(Long orgId);
 
-    /**
-     * 更新机构缓存
-     *
-     * @param orgId
-     * @return
-     */
-    public SysOrg updateOrgCache(Long orgId);
-
-    /**
-     * 删除机构缓存
-     *
-     * @param orgId
-     */
-    public void removeOrgCache(Long orgId);
 
     /**
      * 删除机构缓存
@@ -212,21 +168,6 @@ public interface CommonCacheService {
      */
     public Set<String> privilegeUrlCache(PrivilegePropertyEnum privilegePropertyEnum, Long schoolId);
 
-    /**
-     * 修改鉴权url
-     *
-     * @param privilegePropertyEnum
-     * @return
-     */
-    public Set<String> updatePrivilegeUrlCache(PrivilegePropertyEnum privilegePropertyEnum);
-
-
-    /**
-     * 删除鉴权url
-     *
-     * @param privilegePropertyEnum
-     */
-    public void removePrivilegeUrlCache(PrivilegePropertyEnum privilegePropertyEnum);
 
     /**
      * 添加角色权限缓存
@@ -259,14 +200,6 @@ public interface CommonCacheService {
      */
     public List<SysUserRole> userRolePrivilegeCache(Long userId);
 
-    /**
-     * 修改用户角色权限缓存
-     *
-     * @param userId
-     * @return
-     */
-    public List<SysUserRole> updateUserRolePrivilegeCache(Long userId);
-
     /**
      * 删除用户角色权限缓存
      *
@@ -305,21 +238,6 @@ public interface CommonCacheService {
      */
     public SysConfig addSysConfigCache(String key);
 
-    /**
-     * 更新系统参数缓存
-     *
-     * @param key
-     * @return
-     */
-    public SysConfig updateSysConfigCache(String key);
-
-    /**
-     * 删除系统参数缓存
-     *
-     * @param key
-     */
-    public void removeSysConfigCache(String key);
-
     /**
      * 添加系统参数缓存
      *
@@ -329,15 +247,6 @@ public interface CommonCacheService {
      */
     public SysConfig addSysConfigCache(Long schoolId, String key);
 
-    /**
-     * 更新系统参数缓存
-     *
-     * @param schoolId
-     * @param key
-     * @return
-     */
-    public SysConfig updateSysConfigCache(Long schoolId, String key);
-
     /**
      * 删除系统参数缓存
      *
@@ -346,14 +255,6 @@ public interface CommonCacheService {
      */
     public void removeSysConfigCache(Long schoolId, String key);
 
-    /**
-     * 添加学院级别机构缓存
-     *
-     * @param schoolId 学校id
-     * @return 学院级别机构集合
-     */
-    List<SysOrg> addOrgCollegeLevelCache(Long schoolId);
-
     /**
      * 修改学院级别机构缓存
      *

+ 0 - 147
paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/CommonCacheServiceImpl.java

@@ -223,43 +223,6 @@ public class CommonCacheServiceImpl implements CommonCacheService {
         return basicSchoolService.getOne(basicSchoolQueryWrapper);
     }
 
-    /**
-     * 更新学校缓存
-     *
-     * @param schoolId
-     * @return
-     */
-    @Override
-    @CachePut(value = SystemConstant.SCHOOL_CACHE, key = "#p0", condition = "#result != null")
-    public BasicSchool updateSchoolCache(Long schoolId) {
-        return basicSchoolService.getById(schoolId);
-    }
-
-    /**
-     * 更新学校缓存
-     *
-     * @param code
-     * @return
-     */
-    @Override
-    @CachePut(value = SystemConstant.SCHOOL_CODE_CACHE, key = "#p0", condition = "#result != null")
-    public BasicSchool updateSchoolCache(String code) {
-        QueryWrapper<BasicSchool> basicSchoolQueryWrapper = new QueryWrapper<>();
-        basicSchoolQueryWrapper.lambda().eq(BasicSchool::getCode, code);
-        return basicSchoolService.getOne(basicSchoolQueryWrapper);
-    }
-
-    /**
-     * 删除学校缓存
-     *
-     * @param schoolId
-     */
-    @Override
-    @CacheEvict(value = SystemConstant.SCHOOL_CACHE, key = "#p0")
-    public void removeSchoolCache(Long schoolId) {
-
-    }
-
     /**
      * 删除学校缓存
      */
@@ -269,17 +232,6 @@ public class CommonCacheServiceImpl implements CommonCacheService {
 
     }
 
-    /**
-     * 删除学校缓存
-     *
-     * @param code
-     */
-    @Override
-    @CacheEvict(value = SystemConstant.SCHOOL_CODE_CACHE, key = "#p0")
-    public void removeSchoolCache(String code) {
-
-    }
-
     /**
      * 删除学校缓存
      */
@@ -301,28 +253,6 @@ public class CommonCacheServiceImpl implements CommonCacheService {
         return sysOrgService.getById(orgId);
     }
 
-    /**
-     * 更新机构缓存
-     *
-     * @param orgId
-     * @return
-     */
-    @Override
-    @CachePut(value = SystemConstant.ORG_CACHE, key = "#p0", condition = "#result != null")
-    public SysOrg updateOrgCache(Long orgId) {
-        return sysOrgService.getById(orgId);
-    }
-
-    /**
-     * 删除机构缓存
-     *
-     * @param orgId
-     */
-    @Override
-    @CacheEvict(value = SystemConstant.ORG_CACHE, key = "#p0")
-    public void removeOrgCache(Long orgId) {
-
-    }
 
     /**
      * 删除机构缓存
@@ -351,29 +281,6 @@ public class CommonCacheServiceImpl implements CommonCacheService {
         return commonService.getPrivilegeUrl(privilegePropertyEnum, schoolId);
     }
 
-    /**
-     * 修改鉴权url
-     *
-     * @param privilegePropertyEnum
-     * @return
-     */
-    @Override
-    @CachePut(value = SystemConstant.PRIVILEGE_URL_CACHE, key = "#p0", condition = "#result != null")
-    public Set<String> updatePrivilegeUrlCache(PrivilegePropertyEnum privilegePropertyEnum) {
-        return commonService.getPrivilegeUrl(privilegePropertyEnum);
-    }
-
-    /**
-     * 删除鉴权url
-     *
-     * @param privilegePropertyEnum
-     */
-    @Override
-    @CacheEvict(value = SystemConstant.PRIVILEGE_URL_CACHE, key = "#p0")
-    public void removePrivilegeUrlCache(PrivilegePropertyEnum privilegePropertyEnum) {
-
-    }
-
     /**
      * 获取角色权限缓存
      *
@@ -421,18 +328,6 @@ public class CommonCacheServiceImpl implements CommonCacheService {
         return commonService.getUserRolePrivilege(userId);
     }
 
-    /**
-     * 修改用户角色权限缓存
-     *
-     * @param userId
-     * @return
-     */
-    @Override
-    @CachePut(value = SystemConstant.USER_ROLE_PRIVILEGE_CACHE, key = "#p0", condition = "#result != null")
-    public List<SysUserRole> updateUserRolePrivilegeCache(Long userId) {
-        return commonService.getUserRolePrivilege(userId);
-    }
-
     /**
      * 删除用户角色权限缓存
      *
@@ -490,29 +385,6 @@ public class CommonCacheServiceImpl implements CommonCacheService {
         return sysConfigService.getOne(new QueryWrapper<SysConfig>().lambda().eq(SysConfig::getConfigKey, key));
     }
 
-    /**
-     * 更新系统参数缓存
-     *
-     * @param key
-     * @return
-     */
-    @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));
-    }
-
-    /**
-     * 删除系统参数缓存
-     *
-     * @param key
-     */
-    @Override
-    @CacheEvict(value = SystemConstant.SYS_CONFIG_CACHE, key = "#p0")
-    public void removeSysConfigCache(String key) {
-
-    }
-
     /**
      * 添加系统参数缓存
      *
@@ -526,19 +398,6 @@ public class CommonCacheServiceImpl implements CommonCacheService {
         return sysConfigService.getOne(new QueryWrapper<SysConfig>().lambda().eq(SysConfig::getSchoolId, schoolId).eq(SysConfig::getConfigKey, key));
     }
 
-    /**
-     * 更新系统参数缓存
-     *
-     * @param schoolId
-     * @param key
-     * @return
-     */
-    @Override
-    @CachePut(value = SystemConstant.SYS_CONFIG_CACHE, key = "#p0 + '-' + #p1", condition = "#result != null")
-    public SysConfig updateSysConfigCache(Long schoolId, String key) {
-        return sysConfigService.getOne(new QueryWrapper<SysConfig>().lambda().eq(SysConfig::getSchoolId, schoolId).eq(SysConfig::getConfigKey, key));
-    }
-
     /**
      * 删除系统参数缓存
      *
@@ -551,12 +410,6 @@ public class CommonCacheServiceImpl implements CommonCacheService {
 
     }
 
-    @Override
-    @Cacheable(value = SystemConstant.ORG_COLLEGE_LEVEL_CACHE, key = "#p0", unless = "#result == null")
-    public List<SysOrg> addOrgCollegeLevelCache(Long schoolId) {
-        return sysOrgService.findCollegeLevelOrgList(schoolId);
-    }
-
     @Override
     @CachePut(value = SystemConstant.ORG_COLLEGE_LEVEL_CACHE, key = "#p0", condition = "#result != null")
     public List<SysOrg> updateOrgCollegeLevelCache(Long schoolId) {

+ 0 - 5
paper-library-common/src/main/java/com/qmth/paper/library/common/service/impl/SysPrivilegeServiceImpl.java

@@ -105,11 +105,6 @@ public class SysPrivilegeServiceImpl extends ServiceImpl<SysPrivilegeMapper, Sys
                 .ne(SysPrivilege::getType, PrivilegeEnum.URL)
                 .eq(SysPrivilege::getEnable, true)
                 .eq(SysPrivilege::getDefaultAuth, true);
-//        if (Objects.isNull(schoolId)) {
-//            sysPrivilegeQueryWrapper.lambda().isNull(SysPrivilege::getSchoolId);
-//        } else {
-//            sysPrivilegeQueryWrapper.lambda().eq(SysPrivilege::getSchoolId, schoolId);
-//        }
         List<SysPrivilege> sysPrivilegeList = this.list(sysPrivilegeQueryWrapper);
         if (Objects.nonNull(customPrivilegeIds) && !customPrivilegeIds.isEmpty()) {
             sysPrivilegeQueryWrapper = new QueryWrapper<>();

+ 0 - 3
paper-library-common/src/main/java/com/qmth/paper/library/common/util/FileStoreUtil.java

@@ -60,9 +60,6 @@ public class FileStoreUtil {
             case LOCAL_FILE:
                 configPath = dictionaryConfig.fssLocalFileDomain().getConfig();
                 break;
-            case LOCAL_PDF:
-                configPath = dictionaryConfig.fssLocalPdfDomain().getConfig();
-                break;
             default:
                 break;
         }

+ 25 - 41
paper-library/src/main/resources/application-dev.properties

@@ -1,70 +1,64 @@
 server.port=8001
-#tomcat\u6700\u5927\u7EBF\u7A0B\u6570\uFF0C\u9ED8\u8BA4\u4E3A200
+spring.application.name=paper-library
+#----------tomcat-------------
 server.tomcat.threads.max=2500
-#tomcat\u6700\u5927\u8FDE\u63A5\u6570
 server.tomcat.max-connections=2500
-#tomcat\u7684URI\u7F16\u7801
 server.tomcat.uri-encoding=UTF-8
 
-#\u9879\u76EE\u540D\u79F0
-spring.application.name=paper-library
-
-#\u6570\u636E\u6E90\u914D\u7F6E
+#--------database config--------------
 db.host=localhost
 db.port=3306
 db.name=paper-library-v1.0.0
 db.username=root
 db.password=root
 
-#redis\u6570\u636E\u6E90\u914D\u7F6E
-com.qmth.redis.host=${db.host}
-com.qmth.redis.port=6379
-com.qmth.redis.db=3
-#com.qmth.redis.password=
-
-#mysql\u914D\u7F6E
 com.qmth.datasource.url=jdbc:mysql://${db.host}:${db.port}/${db.name}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
 com.qmth.datasource.username=${db.username}
 com.qmth.datasource.password=${db.password}
 com.qmth.mybatis.log-level=debug
 
-#\u7CFB\u7EDF\u914D\u7F6E
+#---------redis config---------------
+com.qmth.redis.host=${db.host}
+com.qmth.redis.port=6379
+com.qmth.redis.db=3
+#com.qmth.redis.password=
+
+#---------sys config-----------------
 sys.config.oss=false
 sys.config.attachmentType=.xlsx,.xls,.doc,.docx,.pdf,.jpg,.jpeg,.png,.html,.zip,.mp3,.wav,.dll,.exe,.ftl,.bpmn,.xml
 sys.config.attachmentLength=100
 sys.config.attachmentSize=200
-sys.config.serverUpload=
 sys.config.adminLogoUrl=http://qmth-test.oss-cn-shenzhen.aliyuncs.com/frontend/wx_logo.png
-sys.config.autoCreatePdfResetMaxCount=5
-sys.config.threadPoolCoreSize=1
-sys.config.customThreadPoolCoreSize=true
 sys.config.sessionActive=24h
-spring.resources.static-locations=file:${sys.config.serverUpload},classpath:/META-INF/resources/,classpath:/resources/
+spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/
 
+#----------------fss config-----------------
 com.qmth.fss.public.config=oss://key:secret@teachcloud-print-dev-public.oss-api.qmth.com.cn
 com.qmth.fss.public.server=https://oss-file.qmth.com.cn/teachcloud-print-dev-public
 com.qmth.fss.private.config=oss://key:secret@teachcloud-print-dev-private.oss-api.qmth.com.cn
 com.qmth.fss.private.server=https://oss-file.qmth.com.cn/teachcloud-print-dev-private
 com.qmth.fss.localfile.config=/Users/king/Downloads/file-temp
-com.qmth.fss.localfile.server=http://192.168.10.140:8001
-com.qmth.fss.localpdf.config=/Users/king/Downloads/pdf-temp
-com.qmth.fss.localpdf.server=http://192.168.10.140:8001
+com.qmth.fss.localfile.server=http://localhost:8001
 
-#com.qmth.api.uri-prefix=/aaa
-#\u7EDF\u8BA1\u9875\u9762\u914D\u7F6E
+#-----------------qmth boot config--------------
 com.qmth.api.metrics-endpoint=/metrics-count
 com.qmth.api.global-auth=true
 #com.qmth.api.global-strict=false
 #com.qmth.api.global-rate-limit=1/5s
 
-#token\u8D85\u65F6\u914D\u7F6E
+#token
 com.qmth.auth.time-max-ahead=1m
 com.qmth.auth.time-max-delay=5m
-
-#\u7F13\u5B58\u65F6\u95F4
 com.qmth.cache.expire-after-write=8h
 
-#api\u524D\u7F00
+com.qmth.logging.root-level=info
+com.qmth.logging.file-path=/Users/king/Downloads/paper-library.log
+
+com.qmth.solar.access-key=274f823e5f59410f8b3bb6edcd8e2b6e
+com.qmth.solar.access-secret=y7AO6W0TOdTF8HpWBwGHbp3wfIHsmUKr
+#com.qmth.solar.license=/Volumes/extend/\u542F\u660E/\u5206\u5E03\u5F0F\u5370\u5237/\u5206\u5E03\u5F0F\u5370\u5237&\u6559\u7814\u5206\u6790v3.1.0/tc-dev-wl.lic
+
+#----------------api prefix-----------------
 prefix.url.common=admin/common
 prefix.url.sys=admin/sys
 prefix.url.basic=admin/basic
@@ -74,30 +68,20 @@ prefix.url.auth=admin/auth
 prefix.url.paper=admin/paper
 prefix.url.client=admin/client
 
-#\u65E5\u671F\u683C\u5F0F\u5316
+
 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
 spring.jackson.time-zone=GMT+8
 
-#\u65E5\u5FD7\u914D\u7F6E
-com.qmth.logging.root-level=info
-com.qmth.logging.file-path=/Users/king/Downloads/paper-library.log
-
-com.qmth.solar.access-key=274f823e5f59410f8b3bb6edcd8e2b6e
-com.qmth.solar.access-secret=y7AO6W0TOdTF8HpWBwGHbp3wfIHsmUKr
-#com.qmth.solar.license=/Volumes/extend/\u542F\u660E/\u5206\u5E03\u5F0F\u5370\u5237/\u5206\u5E03\u5F0F\u5370\u5237&\u6559\u7814\u5206\u6790v3.1.0/tc-dev-wl.lic
-
 sms.config.smsNormalCode=qmth
 sms.config.codeExpiredTime=2
 sms.config.codeSendInterval=60
-#aliyun SMS key
 sms.config.aliyunSMSKey=LTAI4Fi8jVRYT49QBXU9x5QX
-#aliyun SMS secret
 sms.config.aliyunSMSSecret=97aBLBfkQR5mzCiQa82yWLAH57eUd8
 sms.config.aliyunSMSSignName=\u9038\u6559\u4E91
 sms.config.aliyunSMSTplCode=SMS_147416565
 sms.config.aliyunSMSAuditPassCode=SMS_216425141
 
-#ocr\u8BC6\u522B
+#---------------------ocr config--------------------
 ocr.config.appId=27869327
 ocr.config.appKey=0EatsWDMu4Ts4Q4I9eYZdgV7
 ocr.config.appSecret=rlEolf9jVqS9V0tsi6x4l9Eu4ATKnfYv

+ 32 - 47
paper-library/src/main/resources/application-offline.properties

@@ -1,70 +1,65 @@
-server.port=8111
-#tomcat\u6700\u5927\u7EBF\u7A0B\u6570\uFF0C\u9ED8\u8BA4\u4E3A200
+server.port=7380
+spring.application.name=paper-library
+#----------tomcat-------------
 server.tomcat.threads.max=2500
-#tomcat\u6700\u5927\u8FDE\u63A5\u6570
 server.tomcat.max-connections=2500
-#tomcat\u7684URI\u7F16\u7801
 server.tomcat.uri-encoding=UTF-8
 
-#\u9879\u76EE\u540D\u79F0
-spring.application.name=paper-library-test
+#--------database config--------------
+db.host=localhost
+db.port=3306
+db.name=paper_library_db
+db.username=paperlibrary
+db.password=paperlibrary
 
-#\u6570\u636E\u6E90\u914D\u7F6E
-db.host=192.168.10.136
-db.port=3307
-db.name=paper-library-test
-db.username=paper
-db.password=paper
-
-#redis\u6570\u636E\u6E90\u914D\u7F6E
-com.qmth.redis.host=${db.host}
-com.qmth.redis.port=6379
-com.qmth.redis.db=2
-com.qmth.redis.password=123456
-
-#mysql\u914D\u7F6E
 com.qmth.datasource.url=jdbc:mysql://${db.host}:${db.port}/${db.name}?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
 com.qmth.datasource.username=${db.username}
 com.qmth.datasource.password=${db.password}
 com.qmth.mybatis.log-level=debug
 
-#\u7CFB\u7EDF\u914D\u7F6E
+
+#---------redis config---------------
+com.qmth.redis.host=${db.host}
+com.qmth.redis.port=6379
+com.qmth.redis.db=3
+#com.qmth.redis.password=
+
+#---------sys config-----------------
 sys.config.oss=false
 sys.config.attachmentType=.xlsx,.xls,.doc,.docx,.pdf,.jpg,.jpeg,.png,.html,.zip,.mp3,.wav,.dll,.exe,.ftl,.bpmn,.xml
 sys.config.attachmentLength=100
 sys.config.attachmentSize=200
-sys.config.serverUpload=
 sys.config.adminLogoUrl=http://qmth-test.oss-cn-shenzhen.aliyuncs.com/frontend/wx_logo.png
-sys.config.autoCreatePdfResetMaxCount=5
-sys.config.threadPoolCoreSize=1
-sys.config.customThreadPoolCoreSize=true
 sys.config.sessionActive=24h
 spring.resources.static-locations=file:${sys.config.serverUpload},classpath:/META-INF/resources/,classpath:/resources/
 
+#----------------fss config-----------------
 com.qmth.fss.public.config=oss://key:secret@teachcloud-print-dev-public.oss-api.qmth.com.cn
 com.qmth.fss.public.server=https://oss-file.qmth.com.cn/teachcloud-print-dev-public
 com.qmth.fss.private.config=oss://key:secret@teachcloud-print-dev-private.oss-api.qmth.com.cn
 com.qmth.fss.private.server=https://oss-file.qmth.com.cn/teachcloud-print-dev-private
-com.qmth.fss.localfile.config=/file-temp
-com.qmth.fss.localfile.server=http://192.168.10.136:8111
-com.qmth.fss.localpdf.config=/pdf-temp
-com.qmth.fss.localpdf.server=http://192.168.10.136:8111
+com.qmth.fss.localfile.config=/Users/king/Downloads/file-temp
+com.qmth.fss.localfile.server=http://${db.host}:${server.port}
 
-#com.qmth.api.uri-prefix=/aaa
-#\u7EDF\u8BA1\u9875\u9762\u914D\u7F6E
+#-----------------qmth boot config--------------
 com.qmth.api.metrics-endpoint=/metrics-count
 com.qmth.api.global-auth=true
 #com.qmth.api.global-strict=false
 #com.qmth.api.global-rate-limit=1/5s
 
-#token\u8D85\u65F6\u914D\u7F6E
+#token
 com.qmth.auth.time-max-ahead=1m
 com.qmth.auth.time-max-delay=5m
-
-#\u7F13\u5B58\u65F6\u95F4
 com.qmth.cache.expire-after-write=8h
 
-#api\u524D\u7F00
+com.qmth.logging.root-level=info
+com.qmth.logging.file-path=/Users/king/Downloads/paper-library.log
+
+com.qmth.solar.access-key=274f823e5f59410f8b3bb6edcd8e2b6e
+com.qmth.solar.access-secret=y7AO6W0TOdTF8HpWBwGHbp3wfIHsmUKr
+#com.qmth.solar.license=/Volumes/extend/\u542F\u660E/\u5206\u5E03\u5F0F\u5370\u5237/\u5206\u5E03\u5F0F\u5370\u5237&\u6559\u7814\u5206\u6790v3.1.0/tc-dev-wl.lic
+
+#----------------api prefix-----------------
 prefix.url.common=admin/common
 prefix.url.sys=admin/sys
 prefix.url.basic=admin/basic
@@ -74,30 +69,20 @@ prefix.url.auth=admin/auth
 prefix.url.paper=admin/paper
 prefix.url.client=admin/client
 
-#\u65E5\u671F\u683C\u5F0F\u5316
+
 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
 spring.jackson.time-zone=GMT+8
 
-#\u65E5\u5FD7\u914D\u7F6E
-com.qmth.logging.root-level=info
-com.qmth.logging.file-path=./logs/paper-library.log
-
-com.qmth.solar.access-key=274f823e5f59410f8b3bb6edcd8e2b6e
-com.qmth.solar.access-secret=y7AO6W0TOdTF8HpWBwGHbp3wfIHsmUKr
-#com.qmth.solar.license=/Volumes/extend/\u542F\u660E/\u5206\u5E03\u5F0F\u5370\u5237/\u5206\u5E03\u5F0F\u5370\u5237&\u6559\u7814\u5206\u6790v3.1.0/tc-dev-wl.lic
-
 sms.config.smsNormalCode=qmth
 sms.config.codeExpiredTime=2
 sms.config.codeSendInterval=60
-#aliyun SMS key
 sms.config.aliyunSMSKey=LTAI4Fi8jVRYT49QBXU9x5QX
-#aliyun SMS secret
 sms.config.aliyunSMSSecret=97aBLBfkQR5mzCiQa82yWLAH57eUd8
 sms.config.aliyunSMSSignName=\u9038\u6559\u4E91
 sms.config.aliyunSMSTplCode=SMS_147416565
 sms.config.aliyunSMSAuditPassCode=SMS_216425141
 
-
+#---------------------ocr config--------------------
 ocr.config.appId=27869327
 ocr.config.appKey=0EatsWDMu4Ts4Q4I9eYZdgV7
 ocr.config.appSecret=rlEolf9jVqS9V0tsi6x4l9Eu4ATKnfYv

+ 0 - 1
paper-library/src/main/resources/application.properties

@@ -1,2 +1 @@
-#\u5207\u6362\u914D\u7F6E\u6587\u4EF6
 spring.profiles.active=dev

+ 1 - 1
paper-library/src/test/java/com/qmth/paper/library/AuthHelpTest.java

@@ -37,7 +37,7 @@ public class AuthHelpTest {
     @Resource
     SysPrivilegeService sysPrivilegeService;
 
-    @Test
+//    @Test
     public void createUserPrivilege(){
         Long userId = 10L;
         Long roleId = 2L;

+ 248 - 248
sql/paper-library-v1.0.0-按罗总要求优化后.sql

@@ -23,20 +23,20 @@ SET FOREIGN_KEY_CHECKS = 0;
 DROP TABLE IF EXISTS `basic_attachment`;
 CREATE TABLE `basic_attachment`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
-  `school_id` bigint(20) NULL DEFAULT NULL COMMENT '学校id',
-  `org_id` bigint(20) NULL DEFAULT NULL COMMENT '机构id',
-  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件名',
-  `type` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件类型',
+  `school_id` bigint(20) DEFAULT NULL COMMENT '学校id',
+  `org_id` bigint(20) DEFAULT NULL COMMENT '机构id',
+  `name` varchar(100) NOT NULL COMMENT '文件名',
+  `type` varchar(10) NOT NULL COMMENT '文件类型',
   `size` int(11) NOT NULL COMMENT '单位(KB)',
-  `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件md5值',
-  `path` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '存储路径',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
-  `obj_id` bigint(20) NULL DEFAULT NULL COMMENT '关联业务id',
+  `md5` varchar(32) NOT NULL COMMENT '文件md5值',
+  `path` varchar(2000) NOT NULL COMMENT '存储路径',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
+  `obj_id` bigint(20) DEFAULT NULL COMMENT '关联业务id',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '所有附件记录表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '所有附件记录表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_message
@@ -44,29 +44,29 @@ CREATE TABLE `basic_attachment`  (
 DROP TABLE IF EXISTS `basic_message`;
 CREATE TABLE `basic_message`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
-  `school_id` bigint(20) NULL DEFAULT NULL COMMENT '学校id',
-  `org_id` bigint(20) NULL DEFAULT NULL COMMENT '机构id',
+  `school_id` bigint(20) DEFAULT NULL COMMENT '学校id',
+  `org_id` bigint(20) DEFAULT NULL COMMENT '机构id',
   `user_id` bigint(20) NOT NULL COMMENT '消息接收人用户',
-  `user_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名称',
-  `mobile_number` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电话号码',
-  `paper_number` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '试卷编号',
-  `course_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '课程代码',
-  `message_type` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息类型',
-  `business_operate` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '业务操作',
-  `business_id` bigint(20) NULL DEFAULT NULL COMMENT '业务id',
-  `template_code` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '消息模板代码',
-  `variable_params` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '变量参数内容',
-  `template_content` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '模板内容',
-  `send_status` varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息发送状态',
-  `send_result` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息发送结果',
-  `remark` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '备注',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
-  `resend_count` int(11) NULL DEFAULT NULL COMMENT '重试次数',
+  `user_name` varchar(100) DEFAULT NULL COMMENT '用户名称',
+  `mobile_number` varchar(11) DEFAULT NULL COMMENT '电话号码',
+  `paper_number` varchar(50) DEFAULT NULL COMMENT '试卷编号',
+  `course_code` varchar(50) DEFAULT NULL COMMENT '课程代码',
+  `message_type` varchar(45) DEFAULT NULL COMMENT '消息类型',
+  `business_operate` varchar(45) NOT NULL COMMENT '业务操作',
+  `business_id` bigint(20) DEFAULT NULL COMMENT '业务id',
+  `template_code` varchar(45) NOT NULL COMMENT '消息模板代码',
+  `variable_params` text COMMENT '变量参数内容',
+  `template_content` mediumtext COMMENT '模板内容',
+  `send_status` varchar(45) DEFAULT NULL COMMENT '消息发送状态',
+  `send_result` varchar(200) DEFAULT NULL COMMENT '消息发送结果',
+  `remark` text COMMENT '备注',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
+  `resend_count` int(11) DEFAULT NULL COMMENT '重试次数',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_operation_log
@@ -74,23 +74,23 @@ CREATE TABLE `basic_message`  (
 DROP TABLE IF EXISTS `basic_operation_log`;
 CREATE TABLE `basic_operation_log`  (
   `id` bigint(20) NOT NULL COMMENT 'id',
-  `detail` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '日志详情',
-  `level` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '日志等级(PRIMARY(\"一级日志:敏感信息\"),SECONDARY(\"二级日志:重要信息\"),TERTIARY(\"三级日志:次要信息\"),QUATERNARY(\"四级日志:普通信息\"))',
-  `operation_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作类型(UN_KNOW(\"未知\"),SELECT(\"查询\"),EDIT(\"新增或更新\"),DELETE(\"删除\"))',
-  `operation_unit` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作对象(略)',
-  `system_type` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '日志系统类型',
-  `url` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '请求地址url',
-  `clazz_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类名称',
-  `method` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '方法名称',
-  `args` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '参数',
-  `run_time` bigint(20) NULL DEFAULT NULL COMMENT '方法运行时间',
-  `run_status` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '方法运行状态',
-  `return_value` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '方法返回值',
+  `detail` mediumtext NOT NULL COMMENT '日志详情',
+  `level` varchar(32) DEFAULT NULL COMMENT '日志等级(PRIMARY(\"一级日志:敏感信息\"),SECONDARY(\"二级日志:重要信息\"),TERTIARY(\"三级日志:次要信息\"),QUATERNARY(\"四级日志:普通信息\"))',
+  `operation_type` DEFAULT NULL COMMENT '操作类型(UN_KNOW(\"未知\"),SELECT(\"查询\"),EDIT(\"新增或更新\"),DELETE(\"删除\"))',
+  `operation_unit` DEFAULT NULL COMMENT '操作对象(略)',
+  `system_type` varchar(32) DEFAULT NULL COMMENT '日志系统类型',
+  `url` varchar(64) DEFAULT NULL COMMENT '请求地址url',
+  `clazz_name` varchar(64) DEFAULT NULL COMMENT '类名称',
+  `method` varchar(64) DEFAULT NULL COMMENT '方法名称',
+  `args` mediumtext COMMENT '参数',
+  `run_time` bigint(20) DEFAULT NULL COMMENT '方法运行时间',
+  `run_status` varchar(32) DEFAULT NULL COMMENT '方法运行状态',
+  `return_value` mediumtext COMMENT '方法返回值',
   `user_id` bigint(20) NOT NULL COMMENT '用户对象id',
-  `user_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户名称',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '日志记录时间',
+  `user_name` varchar(32) DEFAULT NULL COMMENT '用户名称',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '日志记录时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '基础日志记录表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '基础日志记录表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_school
@@ -98,20 +98,20 @@ CREATE TABLE `basic_operation_log`  (
 DROP TABLE IF EXISTS `basic_school`;
 CREATE TABLE `basic_school`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
-  `code` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学校编码',
-  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学校名称',
+  `code` varchar(20) NOT NULL COMMENT '学校编码',
+  `name` varchar(100) DEFAULT NULL COMMENT '学校名称',
   `enable` tinyint(4) NOT NULL DEFAULT 1 COMMENT '是否启用,false:停用,true:启用',
-  `access_key` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '访问key',
-  `access_secret` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '访问秘钥',
-  `remark` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '备注',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
-  `logo` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学校logo',
+  `access_key` varchar(50) DEFAULT NULL COMMENT '访问key',
+  `access_secret` varchar(50) DEFAULT NULL COMMENT '访问秘钥',
+  `remark` text COMMENT '备注',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
+  `logo` varchar(500) DEFAULT NULL COMMENT '学校logo',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `code`(`code`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学校表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '学校表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_semester
@@ -120,16 +120,16 @@ DROP TABLE IF EXISTS `basic_semester`;
 CREATE TABLE `basic_semester`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
   `school_id` bigint(20) NOT NULL COMMENT '学校id',
-  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学期名称',
-  `code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学期编码',
-  `enable` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用,0:停用,1:启用',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人id',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人id',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+  `name` varchar(100) NOT NULL COMMENT '学期名称',
+  `code` varchar(100) DEFAULT NULL COMMENT '学期编码',
+  `enable` tinyint(4) DEFAULT 1 COMMENT '是否启用,0:停用,1:启用',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人id',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人id',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `semester_schoolId_name_idx`(`school_id`, `name`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学期字典表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '学期字典表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_student
@@ -138,21 +138,21 @@ DROP TABLE IF EXISTS `basic_student`;
 CREATE TABLE `basic_student`  (
   `id` bigint(20) NOT NULL COMMENT '学生id',
   `school_id` bigint(20) NOT NULL COMMENT '学校id',
-  `student_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学生姓名',
-  `student_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学生编号',
-  `phone_number` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电话号码',
-  `belong_org_id` bigint(20) NULL DEFAULT NULL COMMENT '所属院系',
-  `major_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '专业',
-  `clazz_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '行政班',
-  `enable` tinyint(4) NULL DEFAULT 1 COMMENT '可用状态(1:可用,0:不可用)',
-  `org_id` bigint(20) NULL DEFAULT NULL COMMENT '可操作人机构id',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人id',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人id',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+  `student_name` varchar(64) NOT NULL COMMENT '学生姓名',
+  `student_code` varchar(64) NOT NULL COMMENT '学生编号',
+  `phone_number` varchar(11) DEFAULT NULL COMMENT '电话号码',
+  `belong_org_id` bigint(20) DEFAULT NULL COMMENT '所属院系',
+  `major_name` varchar(64) DEFAULT NULL COMMENT '专业',
+  `clazz_name` varchar(64) DEFAULT NULL COMMENT '行政班',
+  `enable` tinyint(4) DEFAULT 1 COMMENT '可用状态(1:可用,0:不可用)',
+  `org_id` bigint(20) DEFAULT NULL COMMENT '可操作人机构id',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人id',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人id',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `student_schoolId_code_orgId_idx`(`school_id`, `student_code`, `belong_org_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学校id' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '学校id' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for basic_verify_code
@@ -160,19 +160,19 @@ CREATE TABLE `basic_student`  (
 DROP TABLE IF EXISTS `basic_verify_code`;
 CREATE TABLE `basic_verify_code`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
-  `school_id` bigint(20) NULL DEFAULT NULL COMMENT '学校id',
-  `org_id` bigint(20) NULL DEFAULT NULL COMMENT '机构id',
+  `school_id` bigint(20) DEFAULT NULL COMMENT '学校id',
+  `org_id` bigint(20) DEFAULT NULL COMMENT '机构id',
   `user_id` bigint(20) NOT NULL COMMENT '用户ID',
-  `mobile_number` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '手机号',
+  `mobile_number` varchar(11) NOT NULL COMMENT '手机号',
   `expire_time` bigint(20) NOT NULL COMMENT '到期时间',
   `valid_period` int(11) NOT NULL COMMENT '单位(分)',
-  `verify_code` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '4位数字',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+  `verify_code` varchar(4) NOT NULL COMMENT '4位数字',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '短信验证码记录表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '短信验证码记录表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for paper_archives
@@ -183,17 +183,17 @@ CREATE TABLE `paper_archives`  (
   `school_id` bigint(20) NOT NULL COMMENT '学校id',
   `semester_id` bigint(20) NOT NULL COMMENT '学期id',
   `manager_org_id` bigint(20) NOT NULL COMMENT '档案管理部门Id',
-  `archives_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '档案名称',
-  `archives_code` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '档案编号',
+  `archives_name` varchar(64) NOT NULL COMMENT '档案名称',
+  `archives_code` varchar(64) DEFAULT NULL COMMENT '档案编号',
   `archives_type_id` bigint(20) NOT NULL COMMENT '档案类型id',
   `manager_id` bigint(20) NOT NULL COMMENT '档案管理员',
-  `warning_time` bigint(20) NULL DEFAULT NULL COMMENT '档案到期预警时间',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+  `warning_time` bigint(20) DEFAULT NULL COMMENT '档案到期预警时间',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '档案管理表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '档案管理表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for paper_archives_type
@@ -202,13 +202,13 @@ DROP TABLE IF EXISTS `paper_archives_type`;
 CREATE TABLE `paper_archives_type`  (
   `id` bigint(20) NOT NULL,
   `school_id` bigint(20) NOT NULL,
-  `name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '类型名称',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+  `name` varchar(32) NOT NULL COMMENT '类型名称',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '档案类型表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '档案类型表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for paper_library
@@ -216,21 +216,21 @@ CREATE TABLE `paper_archives_type`  (
 DROP TABLE IF EXISTS `paper_library`;
 CREATE TABLE `paper_library`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
-  `school_id` bigint(20) NULL DEFAULT NULL COMMENT '学校id',
-  `paper_scan_task_id` bigint(20) NULL DEFAULT NULL COMMENT '扫描任务Id',
-  `path` varchar(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '存储路径',
-  `paper_scan_task_detail_id` bigint(20) NULL DEFAULT NULL COMMENT '扫描任务详情表id',
-  `user_id` bigint(20) NULL DEFAULT NULL COMMENT '数据检验员id',
-  `sequence` int(11) NULL DEFAULT NULL COMMENT '图片序号',
-  `abnormal` tinyint(1) NULL DEFAULT '0' COMMENT '异常,默认否(0)',
-  `words_result` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT 'OCR识别结果',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+  `school_id` bigint(20) DEFAULT NULL COMMENT '学校id',
+  `paper_scan_task_id` bigint(20) DEFAULT NULL COMMENT '扫描任务Id',
+  `path` varchar(2000) NOT NULL COMMENT '存储路径',
+  `paper_scan_task_detail_id` bigint(20) DEFAULT NULL COMMENT '扫描任务详情表id',
+  `user_id` bigint(20) DEFAULT NULL COMMENT '数据检验员id',
+  `sequence` int(11) DEFAULT NULL COMMENT '图片序号',
+  `abnormal` tinyint(1) DEFAULT '0' COMMENT '异常,默认否(0)',
+  `words_result` mediumtext COMMENT 'OCR识别结果',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE,
   INDEX `idx_paper_scan_detail_id`(`paper_scan_task_detail_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '图片库' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '图片库' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for paper_scan_task
@@ -240,20 +240,20 @@ CREATE TABLE `paper_scan_task`  (
   `id` bigint(20) NOT NULL,
   `school_id` bigint(20) NOT NULL COMMENT '学校id',
   `paper_archives_id` bigint(20) NOT NULL COMMENT '档案表iid',
-  `scan_task_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '扫描任务名称',
-  `course_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '课程名称',
-  `teacher_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任课教师',
-  `teach_clazz_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '教学班名称',
-  `scan_user_id` bigint(20) NULL DEFAULT NULL COMMENT '扫描员id',
-  `student_count` int(11) NULL DEFAULT 0 COMMENT '扫描量(份)',
-  `scan_count` int(11) NULL DEFAULT 0 COMMENT '扫描数量',
-  `enable` tinyint(1) NULL DEFAULT 0 COMMENT '任务是否已关闭(1-是,0-否)',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+  `scan_task_name` varchar(64) NOT NULL COMMENT '扫描任务名称',
+  `course_name` varchar(64) DEFAULT NULL COMMENT '课程名称',
+  `teacher_name` varchar(64) DEFAULT NULL COMMENT '任课教师',
+  `teach_clazz_name` varchar(64) DEFAULT NULL COMMENT '教学班名称',
+  `scan_user_id` bigint(20) DEFAULT NULL COMMENT '扫描员id',
+  `student_count` int(11) DEFAULT 0 COMMENT '扫描量(份)',
+  `scan_count` int(11) DEFAULT 0 COMMENT '扫描数量',
+  `enable` tinyint(1) DEFAULT 0 COMMENT '任务是否已关闭(1-是,0-否)',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '扫描任务表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '扫描任务表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for paper_scan_task_detail
@@ -264,13 +264,13 @@ CREATE TABLE `paper_scan_task_detail`  (
   `school_id` bigint(20) NOT NULL COMMENT '学校id',
   `paper_scan_task_id` bigint(20) NOT NULL COMMENT '扫描任务id',
   `student_id` bigint(20) NOT NULL COMMENT '学生id',
-  `is_bind` tinyint(1) NULL DEFAULT 0 COMMENT '是否绑定图片(大于1张)',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+  `is_bind` tinyint(1) DEFAULT 0 COMMENT '是否绑定图片(大于1张)',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '扫描任务详情表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '扫描任务详情表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_config
@@ -278,18 +278,18 @@ CREATE TABLE `paper_scan_task_detail`  (
 DROP TABLE IF EXISTS `sys_config`;
 CREATE TABLE `sys_config`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
-  `school_id` bigint(20) NULL DEFAULT NULL COMMENT '学校id',
-  `org_id` bigint(20) NULL DEFAULT NULL COMMENT '机构id',
-  `config_key` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '参数键名',
-  `config_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '参数名称',
-  `config_value` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '参数键值',
-  `remark` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+  `school_id` bigint(20) DEFAULT NULL COMMENT '学校id',
+  `org_id` bigint(20) DEFAULT NULL COMMENT '机构id',
+  `config_key` varchar(100) NOT NULL COMMENT '参数键名',
+  `config_name` varchar(100) NOT NULL COMMENT '参数名称',
+  `config_value` varchar(100) DEFAULT NULL COMMENT '参数键值',
+  `remark` varchar(100) DEFAULT NULL COMMENT '备注',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '参数表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '参数表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Records of sys_config
@@ -308,19 +308,19 @@ DROP TABLE IF EXISTS `sys_org`;
 CREATE TABLE `sys_org`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
   `school_id` bigint(20) NOT NULL COMMENT '学校id',
-  `type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '类型,SCHOOL:学校,COLLEGE:学院,FACULTY:院系,TEACHING_ROOM:教研室,PRINTING_HOUSE:印刷厂',
-  `code` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '机构代码',
-  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '机构名称',
-  `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '上级机构id',
+  `type` varchar(50) DEFAULT NULL COMMENT '类型,SCHOOL:学校,COLLEGE:学院,FACULTY:院系,TEACHING_ROOM:教研室,PRINTING_HOUSE:印刷厂',
+  `code` varchar(20) DEFAULT NULL COMMENT '机构代码',
+  `name` varchar(100) NOT NULL COMMENT '机构名称',
+  `parent_id` bigint(20) DEFAULT NULL COMMENT '上级机构id',
   `enable` tinyint(4) NOT NULL DEFAULT 1 COMMENT '是否启用,0:停用,1:启用',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '修改人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '修改时间',
-  `historic_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '历史机构名称',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '修改人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '修改时间',
+  `historic_name` varchar(100) DEFAULT NULL COMMENT '历史机构名称',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `org_schoolId_name_idx`(`school_id`, `name`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学校组织架构' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '学校组织架构' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_privilege
@@ -328,18 +328,18 @@ CREATE TABLE `sys_org`  (
 DROP TABLE IF EXISTS `sys_privilege`;
 CREATE TABLE `sys_privilege`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
-  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '菜单名称',
-  `url` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'URL地址',
-  `type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '类型,MENU:菜单,BUTTON:按钮,LINK:链接,URL:接口地址,LIST:列表,CONDITION:查询条件,TAB:选项卡',
-  `parent_id` bigint(20) NULL DEFAULT NULL COMMENT '上级菜单',
+  `name` varchar(100) NOT NULL COMMENT '菜单名称',
+  `url` varchar(100) NOT NULL COMMENT 'URL地址',
+  `type` varchar(50) NOT NULL COMMENT '类型,MENU:菜单,BUTTON:按钮,LINK:链接,URL:接口地址,LIST:列表,CONDITION:查询条件,TAB:选项卡',
+  `parent_id` bigint(20) DEFAULT NULL COMMENT '上级菜单',
   `sequence` int(11) NOT NULL COMMENT '序号',
-  `property` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '属性,NO_AUTH:无需鉴权,AUTH:鉴权,SYS:系统公用',
-  `related` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '关联属性,type为URL且property为AUTH才有',
+  `property` varchar(30) DEFAULT NULL COMMENT '属性,NO_AUTH:无需鉴权,AUTH:鉴权,SYS:系统公用',
+  `related` text COMMENT '关联属性,type为URL且property为AUTH才有',
   `enable` tinyint(4) NOT NULL DEFAULT 1 COMMENT '是否启用,0:停用,1:启用',
-  `default_auth` tinyint(4) NULL DEFAULT 1 COMMENT '默认权限,0:否,1:是',
-  `front_display` tinyint(1) NULL DEFAULT 1 COMMENT '是否前端展示',
+  `default_auth` tinyint(4) DEFAULT 1 COMMENT '默认权限,0:否,1:是',
+  `front_display` tinyint(1) DEFAULT 1 COMMENT '是否前端展示',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Records of sys_privilege
@@ -565,21 +565,21 @@ INSERT INTO `sys_privilege` VALUES (758, '导入组织架构', 'Import', 'BUTTON
 DROP TABLE IF EXISTS `sys_role`;
 CREATE TABLE `sys_role`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
-  `school_id` bigint(20) NULL DEFAULT NULL COMMENT '学校id',
-  `org_id` bigint(20) NULL DEFAULT NULL COMMENT '机构id',
-  `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色名称',
+  `school_id` bigint(20) DEFAULT NULL COMMENT '学校id',
+  `org_id` bigint(20) DEFAULT NULL COMMENT '机构id',
+  `name` varchar(50) NOT NULL COMMENT '角色名称',
   `enable` tinyint(4) NOT NULL DEFAULT 1 COMMENT '是否启用,0:停用,1:启用',
-  `type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色类别,ADMIN:超级管理员,SCHOOL_ADMIN:管理员:EXAM_TEACHER:考务老师,QUESTION_TEACHER:命题老师,CUSTOMER:客服人员,PRINTER:印刷人员,CUSTOM:自定义',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '修改人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '修改时间',
+  `type` varchar(20) DEFAULT NULL COMMENT '角色类别,ADMIN:超级管理员,SCHOOL_ADMIN:管理员:EXAM_TEACHER:考务老师,QUESTION_TEACHER:命题老师,CUSTOMER:客服人员,PRINTER:印刷人员,CUSTOM:自定义',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '修改人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '修改时间',
   `default_role` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否系统内置角色,1:是,0:不是',
-  `source` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '角色来源,ANALYSIS:教研分析',
-  `interpret` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '角色说明',
+  `source` varchar(100) DEFAULT NULL COMMENT '角色来源,ANALYSIS:教研分析',
+  `interpret` text COMMENT '角色说明',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `role_schoolId_name_idx`(`school_id`, `name`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '角色表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Records of sys_role
@@ -602,7 +602,7 @@ CREATE TABLE `sys_role_group_member`  (
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `role_group_roleId_memberId_idx`(`role_id`, `member_id`, `enable`) USING BTREE,
   INDEX `role_group_member_idx`(`role_id`, `user_id`, `member_id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色组成员表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '角色组成员表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_role_privilege
@@ -612,9 +612,9 @@ CREATE TABLE `sys_role_privilege`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
   `role_id` bigint(20) NOT NULL COMMENT '角色id',
   `privilege_id` bigint(20) NOT NULL COMMENT '菜单id',
-  `enable` tinyint(4) NULL DEFAULT 1 COMMENT '是否启用,0:停用,1:启用',
+  `enable` tinyint(4) DEFAULT 1 COMMENT '是否启用,0:停用,1:启用',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Records of sys_role_privilege
@@ -677,14 +677,14 @@ DROP TABLE IF EXISTS `sys_setting`;
 CREATE TABLE `sys_setting`  (
   `id` bigint(20) NOT NULL,
   `school_id` bigint(20) NOT NULL COMMENT '学校Id',
-  `open_ocr` tinyint(1) NULL DEFAULT 0 COMMENT '是否开启ocr识别,默认否(0)',
-  `open_global_match` tinyint(1) NULL DEFAULT 0 COMMENT '是否开启全局匹配,默认否(0)',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+  `open_ocr` tinyint(1) DEFAULT 0 COMMENT '是否开启ocr识别,默认否(0)',
+  `open_global_match` tinyint(1) DEFAULT 0 COMMENT '是否开启全局匹配,默认否(0)',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统设置' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '系统设置' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for sys_user
@@ -692,27 +692,27 @@ CREATE TABLE `sys_setting`  (
 DROP TABLE IF EXISTS `sys_user`;
 CREATE TABLE `sys_user`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
-  `school_id` bigint(20) NULL DEFAULT NULL COMMENT '学校id',
-  `login_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名',
-  `real_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '姓名',
-  `code` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '工号',
-  `password` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
-  `mobile_number` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '手机号',
-  `org_id` bigint(20) NULL DEFAULT NULL COMMENT '机构id',
+  `school_id` bigint(20) DEFAULT NULL COMMENT '学校id',
+  `login_name` varchar(100) NOT NULL COMMENT '用户名',
+  `real_name` varchar(100) NOT NULL COMMENT '姓名',
+  `code` varchar(100) DEFAULT NULL COMMENT '工号',
+  `password` varchar(50) NOT NULL COMMENT '密码',
+  `mobile_number` varchar(11) DEFAULT NULL COMMENT '手机号',
+  `org_id` bigint(20) DEFAULT NULL COMMENT '机构id',
   `enable` tinyint(4) NOT NULL DEFAULT 1 COMMENT '是否启用,0:停用,1:启用',
-  `pwd_count` tinyint(4) NULL DEFAULT 0 COMMENT '密码修改次数,默认为0',
-  `pwd_update_time` bigint(20) NULL DEFAULT NULL COMMENT '密码修改时间',
-  `remark` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '备注',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '修改人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '修改时间',
-  `historic_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '历史用户名称',
-  `identify_area` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '识别区域,坐标数组,可传多个',
+  `pwd_count` tinyint(4) DEFAULT 0 COMMENT '密码修改次数,默认为0',
+  `pwd_update_time` bigint(20) DEFAULT NULL COMMENT '密码修改时间',
+  `remark` varchar(200) DEFAULT NULL COMMENT '备注',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '修改人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '修改时间',
+  `historic_name` varchar(100) DEFAULT NULL COMMENT '历史用户名称',
+  `identify_area` varchar(300) DEFAULT NULL COMMENT '识别区域,坐标数组,可传多个',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE INDEX `user_schoolId_loginName_idx`(`school_id`, `login_name`) USING BTREE,
   UNIQUE INDEX `uq_school_id_mobile_number`(`school_id`, `mobile_number`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '用户表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Records of sys_user
@@ -727,10 +727,10 @@ CREATE TABLE `sys_user_role`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
   `user_id` bigint(20) NOT NULL COMMENT '用户id',
   `role_id` bigint(20) NOT NULL COMMENT '角色id',
-  `privilege_id` bigint(20) NULL DEFAULT NULL COMMENT '权限id',
+  `privilege_id` bigint(20) DEFAULT NULL COMMENT '权限id',
   `enable` tinyint(4) NOT NULL DEFAULT 1 COMMENT '是否启用,0:停用,1:启用',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Records of sys_user_role
@@ -742,23 +742,23 @@ INSERT INTO `sys_user_role` VALUES (1, 1, 1, NULL, 1);
 -- ----------------------------
 DROP TABLE IF EXISTS `t_b_session`;
 CREATE TABLE `t_b_session`  (
-  `id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '主键',
-  `school_id` bigint(20) NULL DEFAULT NULL COMMENT '学校id',
-  `org_id` bigint(20) NULL DEFAULT NULL COMMENT '机构id',
-  `identity` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户标识',
-  `type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户类型',
-  `source` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '访问来源',
-  `platform` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备分类',
-  `device_id` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '设备标识',
-  `address` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '登录IP地址',
-  `access_token` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '访问令牌',
-  `last_access_time` bigint(20) NULL DEFAULT NULL COMMENT '最近访问时间',
-  `last_access_ip` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '最近访问IP地址',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '令牌更新时间',
-  `expire_time` bigint(20) NULL DEFAULT NULL COMMENT '令牌强制失效时间',
-  `app_source` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '应用来源',
+  `id` varchar(100) NOT NULL COMMENT '主键',
+  `school_id` bigint(20) DEFAULT NULL COMMENT '学校id',
+  `org_id` bigint(20) DEFAULT NULL COMMENT '机构id',
+  `identity` varchar(100) NOT NULL COMMENT '用户标识',
+  `type` varchar(50) NOT NULL COMMENT '用户类型',
+  `source` varchar(50) NOT NULL COMMENT '访问来源',
+  `platform` varchar(50) NOT NULL COMMENT '设备分类',
+  `device_id` varchar(100) NOT NULL COMMENT '设备标识',
+  `address` varchar(100) NOT NULL COMMENT '登录IP地址',
+  `access_token` varchar(50) NOT NULL COMMENT '访问令牌',
+  `last_access_time` bigint(20) DEFAULT NULL COMMENT '最近访问时间',
+  `last_access_ip` varchar(100) DEFAULT NULL COMMENT '最近访问IP地址',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '令牌更新时间',
+  `expire_time` bigint(20) DEFAULT NULL COMMENT '令牌强制失效时间',
+  `app_source` varchar(50) DEFAULT NULL COMMENT '应用来源',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '会话表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '会话表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for t_b_task
@@ -766,23 +766,23 @@ CREATE TABLE `t_b_session`  (
 DROP TABLE IF EXISTS `t_b_task`;
 CREATE TABLE `t_b_task`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
-  `school_id` bigint(20) NULL DEFAULT NULL COMMENT '学校id',
-  `org_id` bigint(20) NULL DEFAULT NULL COMMENT '机构id',
-  `type` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '任务类型,USER_IMPORT:用户导入,\nQUESTION_MISSION_BATCH_CREATE:批量新建命题任务,\nSAMPLE_EXPORT:导出审核样本,\nPAPER_DOWNLOAD:卷库下载,\nEXAMINATION_IMPORT:考务数据导入,\nEXAMINATION_EXPORT:考务数据导出,\nPRINT_PDF_DOWNLOAD:批量下载pdf,\nCREATE_PDF:生成pdf,\nCOURSE_IMPORT:课程导入',
-  `status` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '任务状态,INIT:未开始,RUNNING:进行中,FINISH:已完成',
-  `summary` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '实时摘要信息',
-  `result` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '数据结果,SUCCESS:成功,ERROR:失败',
-  `import_file_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '导入文件名',
-  `import_file_path` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '导入文件路径',
-  `export_file_path` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '导出文件路径',
-  `txt_file_path` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报告路径',
-  `remark` mediumtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '备注',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
+  `school_id` bigint(20) DEFAULT NULL COMMENT '学校id',
+  `org_id` bigint(20) DEFAULT NULL COMMENT '机构id',
+  `type` varchar(50) NOT NULL COMMENT '任务类型,USER_IMPORT:用户导入,\nQUESTION_MISSION_BATCH_CREATE:批量新建命题任务,\nSAMPLE_EXPORT:导出审核样本,\nPAPER_DOWNLOAD:卷库下载,\nEXAMINATION_IMPORT:考务数据导入,\nEXAMINATION_EXPORT:考务数据导出,\nPRINT_PDF_DOWNLOAD:批量下载pdf,\nCREATE_PDF:生成pdf,\nCOURSE_IMPORT:课程导入',
+  `status` varchar(30) NOT NULL COMMENT '任务状态,INIT:未开始,RUNNING:进行中,FINISH:已完成',
+  `summary` text COMMENT '实时摘要信息',
+  `result` varchar(30) DEFAULT NULL COMMENT '数据结果,SUCCESS:成功,ERROR:失败',
+  `import_file_name` varchar(100) DEFAULT NULL COMMENT '导入文件名',
+  `import_file_path` varchar(500) DEFAULT NULL COMMENT '导入文件路径',
+  `export_file_path` varchar(500) DEFAULT NULL COMMENT '导出文件路径',
+  `txt_file_path` varchar(500) DEFAULT NULL COMMENT '报告路径',
+  `remark` mediumtext COMMENT '备注',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '导入导出任务表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '导入导出任务表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for t_s_auth
@@ -791,18 +791,18 @@ DROP TABLE IF EXISTS `t_s_auth`;
 CREATE TABLE `t_s_auth`  (
   `id` bigint(20) NOT NULL COMMENT '主键',
   `school_id` bigint(20) NOT NULL COMMENT '学校id',
-  `access_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'accessKey',
-  `access_secret` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'accessSecret',
-  `description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '离线授权证书',
-  `type` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '授权类型',
-  `create_id` bigint(20) NULL DEFAULT NULL COMMENT '创建人',
-  `create_time` bigint(20) NULL DEFAULT NULL COMMENT '创建时间',
-  `update_id` bigint(20) NULL DEFAULT NULL COMMENT '更新人',
-  `update_time` bigint(20) NULL DEFAULT NULL COMMENT '更新时间',
-  `expire_time` bigint(20) NULL DEFAULT NULL COMMENT '过期时间',
+  `access_key` varchar(255) DEFAULT NULL COMMENT 'accessKey',
+  `access_secret` varchar(255) DEFAULT NULL COMMENT 'accessSecret',
+  `description` text COMMENT '离线授权证书',
+  `type` varchar(16) NOT NULL COMMENT '授权类型',
+  `create_id` bigint(20) DEFAULT NULL COMMENT '创建人',
+  `create_time` bigint(20) DEFAULT NULL COMMENT '创建时间',
+  `update_id` bigint(20) DEFAULT NULL COMMENT '更新人',
+  `update_time` bigint(20) DEFAULT NULL COMMENT '更新时间',
+  `expire_time` bigint(20) DEFAULT NULL COMMENT '过期时间',
   `file` mediumblob NULL COMMENT '文件数据',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '激活授权配置表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '激活授权配置表' ROW_FORMAT = Dynamic;
 
 -- ----------------------------
 -- Table structure for t_school_privilege
@@ -813,6 +813,6 @@ CREATE TABLE `t_school_privilege`  (
   `school_id` bigint(20) NOT NULL COMMENT '学校id',
   `privilege_id` bigint(20) NOT NULL COMMENT '菜单权限id',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学校菜单权限表' ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '学校菜单权限表' ROW_FORMAT = Dynamic;
 
 SET FOREIGN_KEY_CHECKS = 1;