README.md
@@ -14,16 +14,14 @@ > 系统演示: [传送门](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/系统演示?sort_id=4836388) | 功能介绍 | 使用技术 | 文档地址 | 特性注意事项 | |---|---|---|---| |-----------|------------------------|---------------------------------------------------------------------------------------------------|--------------------------| | 当前框架 | RuoYi-Vue-Plus | [RuoYi-Vue-Plus文档](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages) | 重写RuoYi-Vue全方位升级(不兼容原框架) | | satoken分支 | RuoYi-Vue-Plus-satoken | [satoken分支地址](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/tree/satoken/) | 高可读性 扩展性(推荐使用) | | 单体分支 | RuoYi-Vue-Plus-fast | [fast分支地址](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/tree/fast/) | 单体应用结构 | | Vue3分支 | RuoYi-Vue-Plus-UI | [UI地址](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus-UI) | 由于组件还未完善 仅供学习 | | 原框架 | RuoYi-Vue | [RuoYi-Vue官网](http://ruoyi.vip/) | 定期同步需要的功能 | | 前端开发框架 | Vue、Element UI | [Element UI官网](https://element.eleme.cn/#/zh-CN) | | | 后端开发框架 | SpringBoot | [SpringBoot官网](https://spring.io/projects/spring-boot/#learn) | | | 容器框架 | Undertow | [Undertow官网](https://undertow.io/) | 基于 XNIO 的高性能容器 | | 权限认证框架 | Spring Security、Jwt | [SpringSecurity官网](https://spring.io/projects/spring-security#learn) | 支持多终端认证系统 | | 权限认证框架 | Sa-Token、Jwt | [Sa-Token官网](https://sa-token.dev33.cn/) | 强解耦、强扩展 | | 关系数据库 | MySQL | [MySQL官网](https://dev.mysql.com/) | 适配 8.X 最低 5.7 | | 缓存数据库 | Redis | [Redis官网](https://redis.io/) | 适配 6.X 最低 4.X | pom.xml
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
@@ -6,7 +6,6 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.service.TokenService; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; @@ -40,7 +39,6 @@ public class SysProfileController extends BaseController { private final ISysUserService userService; private final TokenService tokenService; private final ISysOssService iSysOssService; /** ruoyi-admin/src/main/resources/logback.xml
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestBatchController.java
ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
ruoyi-extend/ruoyi-xxl-job-admin/pom.xml
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/XxlJobAdminApplication.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/IndexController.java
@@ -24,6 +24,7 @@ /** * index controller * * @author xuxueli 2015-12-19 16:13:16 */ @Controller ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobCodeController.java
@@ -19,6 +19,7 @@ /** * job code controller * * @author xuxueli 2015-12-19 16:13:16 */ @Controller ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobGroupController.java
@@ -20,6 +20,7 @@ /** * job group controller * * @author xuxueli 2016-10-02 20:52:56 */ @Controller ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java
@@ -1,6 +1,5 @@ package com.xxl.job.admin.controller; import com.xxl.job.admin.core.cron.CronExpression; import com.xxl.job.admin.core.exception.XxlJobException; import com.xxl.job.admin.core.model.XxlJobGroup; import com.xxl.job.admin.core.model.XxlJobInfo; @@ -29,11 +28,11 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.text.ParseException; import java.util.*; /** * index controller * * @author xuxueli 2015-12-19 16:13:16 */ @Controller @@ -91,6 +90,7 @@ } return jobGroupList; } public static void validPermission(HttpServletRequest request, int jobGroup) { XxlJobUser loginUser = (XxlJobUser) request.getAttribute(LoginService.LOGIN_IDENTITY_KEY); if (!loginUser.validPermission(jobGroup)) { ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java
@@ -1,7 +1,7 @@ package com.xxl.job.admin.controller; import com.xxl.job.admin.core.exception.XxlJobException; import com.xxl.job.admin.core.complete.XxlJobCompleter; import com.xxl.job.admin.core.exception.XxlJobException; import com.xxl.job.admin.core.model.XxlJobGroup; import com.xxl.job.admin.core.model.XxlJobInfo; import com.xxl.job.admin.core.model.XxlJobLog; @@ -33,6 +33,7 @@ /** * index controller * * @author xuxueli 2015-12-19 16:13:16 */ @Controller ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/UserController.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/annotation/PermissionLimit.java
@@ -8,6 +8,7 @@ /** * 权限限制 * * @author xuxueli 2015-12-12 18:29:02 */ @Target(ElementType.METHOD) ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/CookieInterceptor.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/interceptor/PermissionInterceptor.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/controller/resolver/WebExceptionResolver.java
@@ -1,8 +1,8 @@ package com.xxl.job.admin.controller.resolver; import com.xxl.job.admin.core.exception.XxlJobException; import com.xxl.job.core.biz.model.ReturnT; import com.xxl.job.admin.core.util.JacksonUtil; import com.xxl.job.core.biz.model.ReturnT; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobInfo.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobLog.java
@@ -4,6 +4,7 @@ /** * xxl-job log, used to track trigger process * * @author xuxueli 2015-12-19 23:19:09 */ public class XxlJobLog { ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobLogGlue.java
@@ -4,6 +4,7 @@ /** * xxl-job log for glue, used to track job code process * * @author xuxueli 2016-5-19 17:57:46 */ public class XxlJobLogGlue { ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/model/XxlJobUser.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobCompleteHelper.java
@@ -23,6 +23,7 @@ private static Logger logger = LoggerFactory.getLogger(JobCompleteHelper.class); private static JobCompleteHelper instance = new JobCompleteHelper(); public static JobCompleteHelper getInstance(){ return instance; } @@ -32,6 +33,7 @@ private ThreadPoolExecutor callbackThreadPool = null; private Thread monitorThread; private volatile boolean toStop = false; public void start(){ // for callback @@ -178,7 +180,6 @@ return ReturnT.SUCCESS; } } ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java
@@ -20,6 +20,7 @@ private static Logger logger = LoggerFactory.getLogger(JobFailMonitorHelper.class); private static JobFailMonitorHelper instance = new JobFailMonitorHelper(); public static JobFailMonitorHelper getInstance(){ return instance; } @@ -28,6 +29,7 @@ private Thread monitorThread; private volatile boolean toStop = false; public void start(){ monitorThread = new Thread(new Runnable() { ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobRegistryHelper.java
@@ -15,12 +15,14 @@ /** * job registry instance * * @author xuxueli 2016-10-02 19:10:24 */ public class JobRegistryHelper { private static Logger logger = LoggerFactory.getLogger(JobRegistryHelper.class); private static JobRegistryHelper instance = new JobRegistryHelper(); public static JobRegistryHelper getInstance(){ return instance; } ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java
@@ -120,7 +120,6 @@ } // ---------------------- helper ---------------------- private static JobTriggerPoolHelper helper = new JobTriggerPoolHelper(); @@ -128,6 +127,7 @@ public static void toStart() { helper.start(); } public static void toStop() { helper.stop(); } @@ -135,12 +135,10 @@ /** * @param jobId * @param triggerType * @param failRetryCount * >=0: use this param * @param failRetryCount >=0: use this param * <0: use param from job info config * @param executorShardingParam * @param executorParam * null: use job param * @param executorParam null: use job param * not null: cover job param */ public static void trigger(int jobId, TriggerTypeEnum triggerType, int failRetryCount, String executorShardingParam, String executorParam, String addressList) { ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/CookieUtil.java
ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/JacksonUtil.java
@@ -12,7 +12,7 @@ /** * Jackson util * * <p> * 1、obj need private and set/get; * 2、do not support inner class; * @@ -22,6 +22,7 @@ private static Logger logger = LoggerFactory.getLogger(JacksonUtil.class); private final static ObjectMapper objectMapper = new ObjectMapper(); public static ObjectMapper getInstance() { return objectMapper; } ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobInfoDao.java
@@ -9,6 +9,7 @@ /** * job info * * @author xuxueli 2016-1-12 18:03:45 */ @Mapper @@ -21,6 +22,7 @@ @Param("jobDesc") String jobDesc, @Param("executorHandler") String executorHandler, @Param("author") String author); public int pageListCount(@Param("offset") int offset, @Param("pagesize") int pagesize, @Param("jobGroup") int jobGroup, ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobLogDao.java
@@ -10,6 +10,7 @@ /** * job log * * @author xuxueli 2016-1-12 18:03:06 */ @Mapper @@ -23,6 +24,7 @@ @Param("triggerTimeStart") Date triggerTimeStart, @Param("triggerTimeEnd") Date triggerTimeEnd, @Param("logStatus") int logStatus); public int pageListCount(@Param("offset") int offset, @Param("pagesize") int pagesize, @Param("jobGroup") int jobGroup, @@ -49,6 +51,7 @@ @Param("clearBeforeTime") Date clearBeforeTime, @Param("clearBeforeNum") int clearBeforeNum, @Param("pagesize") int pagesize); public int clearLog(@Param("logIds") List<Long> logIds); public List<Long> findFailJobLogIds(@Param("pagesize") int pagesize); ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobLogGlueDao.java
@@ -8,6 +8,7 @@ /** * job log for glue * * @author xuxueli 2016-5-19 18:04:56 */ @Mapper ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobLogReportDao.java
@@ -9,6 +9,7 @@ /** * job log * * @author xuxueli 2019-11-22 */ @Mapper ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/dao/XxlJobUserDao.java
@@ -3,6 +3,7 @@ import com.xxl.job.admin.core.model.XxlJobUser; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** @@ -15,6 +16,7 @@ @Param("pagesize") int pagesize, @Param("username") String username, @Param("role") int role); public int pageListCount(@Param("offset") int offset, @Param("pagesize") int pagesize, @Param("username") String username, ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/XxlJobService.java
@@ -46,6 +46,7 @@ /** * remove job * * * * @param id * @return */ ruoyi-extend/ruoyi-xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/XxlJobServiceImpl.java
@@ -25,6 +25,7 @@ /** * core job action for xxl-job * * @author xuxueli 2016-5-28 15:30:33 */ @Service ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobGroupMapper.xml
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobInfoMapper.xml
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogGlueMapper.xml
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogReportMapper.xml
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobRegistryMapper.xml
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobUserMapper.xml
ruoyi-extend/ruoyi-xxl-job-admin/src/main/resources/static/js/user.index.1.js
ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml
ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
ruoyi-oss/src/main/java/com/ruoyi/oss/constant/OssConstant.java
ruoyi-oss/src/main/java/com/ruoyi/oss/entity/UploadResult.java
ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/OssEnumd.java
ruoyi-oss/src/main/java/com/ruoyi/oss/enumd/PolicyType.java
ruoyi-oss/src/main/java/com/ruoyi/oss/exception/OssException.java
ruoyi-oss/src/main/java/com/ruoyi/oss/factory/OssFactory.java
ruoyi-oss/src/main/java/com/ruoyi/oss/properties/OssProperties.java
ruoyi-oss/src/main/java/com/ruoyi/oss/service/IOssStrategy.java
ruoyi-oss/src/main/java/com/ruoyi/oss/service/abstractd/AbstractOssStrategy.java
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/AliyunOssStrategy.java
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/MinioOssStrategy.java
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QcloudOssStrategy.java
ruoyi-oss/src/main/java/com/ruoyi/oss/service/impl/QiniuOssStrategy.java
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
ruoyi-ui/public/index.html
ruoyi-ui/src/assets/styles/ruoyi.scss
@@ -7,48 +7,63 @@ .pt5 { padding-top: 5px; } .pr5 { padding-right: 5px; } .pb5 { padding-bottom: 5px; } .mt5 { margin-top: 5px; } .mr5 { margin-right: 5px; } .mb5 { margin-bottom: 5px; } .mb8 { margin-bottom: 8px; } .ml5 { margin-left: 5px; } .mt10 { margin-top: 10px; } .mr10 { margin-right: 10px; } .mb10 { margin-bottom: 10px; } .ml0 { margin-left: 10px; } .mt20 { margin-top: 20px; } .mr20 { margin-right: 20px; } .mb20 { margin-bottom: 20px; } .m20 { margin-left: 20px; } @@ -81,6 +96,7 @@ font-size: 13px; } } .el-table__body-wrapper { .el-button [class*="el-icon-"] + span { margin-left: 1px; ruoyi-ui/src/components/TopNav/index.vue
ruoyi-ui/src/views/index.vue
ruoyi-ui/src/views/monitor/logininfor/index.vue
script/bin/ry.bat
@@ -1,21 +1,21 @@ @echo off rem jar平级目录 rem jarƽ��Ŀ¼ set AppName=ruoyi-admin.jar rem JVM参数 rem JVM���� set JVM_OPTS="-Dname=%AppName% -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC" ECHO. ECHO. [1] 启动%AppName% ECHO. [2] 关闭%AppName% ECHO. [3] 重启%AppName% ECHO. [4] 启动状态 %AppName% ECHO. [5] 退 出 ECHO. [1] ����%AppName% ECHO. [2] �ر�%AppName% ECHO. [3] ����%AppName% ECHO. [4] ����״̬ %AppName% ECHO. [5] �� �� ECHO. ECHO.请输入选择项目的序号: ECHO.������ѡ����Ŀ�����: set /p ID= IF "%id%"=="1" GOTO start IF "%id%"=="2" GOTO stop @@ -35,11 +35,11 @@ start javaw %JAVA_OPTS% -jar %AppName% echo starting…… echo starting���� echo Start %AppName% success... goto:eof rem 函数stop通过jps命令查找pid并结束进程 rem ����stopͨ��jps�������pid���������� :stop for /f "usebackq tokens=1-2" %%a in (`jps -l ^| findstr %AppName%`) do ( set pid=%%a @@ -48,7 +48,7 @@ if not defined pid (echo process %AppName% does not exists) else ( echo prepare to kill %image_name% echo start kill %pid% ... rem 根据进程ID,kill进程 rem ���ݽ���ID��kill���� taskkill /f /pid %pid% ) goto:eof script/bin/ry.sh
script/docker/deploy.sh
script/docker/nginx/nginx.conf
script/sql/ry_20210908.sql