gitextract_8cqv8t7r/ ├── .github/ │ └── FUNDING.yml ├── .gitignore ├── LICENSE ├── README.md ├── bin/ │ ├── clean.bat │ ├── package.bat │ └── run.bat ├── doc/ │ └── 若依环境使用手册.docx ├── pom.xml ├── ruoyi-admin/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── ruoyi/ │ │ ├── RuoYiApplication.java │ │ ├── RuoYiServletInitializer.java │ │ └── web/ │ │ ├── controller/ │ │ │ ├── common/ │ │ │ │ └── CommonController.java │ │ │ ├── demo/ │ │ │ │ ├── controller/ │ │ │ │ │ ├── DemoDialogController.java │ │ │ │ │ ├── DemoFormController.java │ │ │ │ │ ├── DemoIconController.java │ │ │ │ │ ├── DemoOperateController.java │ │ │ │ │ ├── DemoReportController.java │ │ │ │ │ └── DemoTableController.java │ │ │ │ └── domain/ │ │ │ │ ├── CustomerModel.java │ │ │ │ ├── GoodsModel.java │ │ │ │ └── UserOperateModel.java │ │ │ ├── monitor/ │ │ │ │ ├── CacheController.java │ │ │ │ ├── DruidController.java │ │ │ │ ├── ServerController.java │ │ │ │ ├── SysLogininforController.java │ │ │ │ ├── SysOperlogController.java │ │ │ │ └── SysUserOnlineController.java │ │ │ ├── system/ │ │ │ │ ├── SysCaptchaController.java │ │ │ │ ├── SysConfigController.java │ │ │ │ ├── SysDeptController.java │ │ │ │ ├── SysDictDataController.java │ │ │ │ ├── SysDictTypeController.java │ │ │ │ ├── SysIndexController.java │ │ │ │ ├── SysLoginController.java │ │ │ │ ├── SysMenuController.java │ │ │ │ ├── SysNoticeController.java │ │ │ │ ├── SysPostController.java │ │ │ │ ├── SysProfileController.java │ │ │ │ ├── SysRegisterController.java │ │ │ │ ├── SysRoleController.java │ │ │ │ └── SysUserController.java │ │ │ └── tool/ │ │ │ ├── BuildController.java │ │ │ ├── SwaggerController.java │ │ │ └── TestController.java │ │ └── core/ │ │ └── config/ │ │ └── SwaggerConfig.java │ └── resources/ │ ├── application-druid.yml │ ├── application.yml │ ├── banner.txt │ ├── ehcache/ │ │ └── ehcache-shiro.xml │ ├── logback.xml │ ├── mybatis/ │ │ └── mybatis-config.xml │ ├── static/ │ │ ├── ajax/ │ │ │ └── libs/ │ │ │ ├── beautifyhtml/ │ │ │ │ └── beautifyhtml.js │ │ │ ├── blockUI/ │ │ │ │ └── jquery.blockUI.js │ │ │ ├── bootstrap-fileinput/ │ │ │ │ ├── fileinput.css │ │ │ │ └── fileinput.js │ │ │ ├── bootstrap-select/ │ │ │ │ ├── bootstrap-select.css │ │ │ │ └── bootstrap-select.js │ │ │ ├── bootstrap-table/ │ │ │ │ ├── extensions/ │ │ │ │ │ ├── auto-refresh/ │ │ │ │ │ │ └── bootstrap-table-auto-refresh.js │ │ │ │ │ ├── columns/ │ │ │ │ │ │ └── bootstrap-table-fixed-columns.js │ │ │ │ │ ├── cookie/ │ │ │ │ │ │ └── bootstrap-table-cookie.js │ │ │ │ │ ├── custom-view/ │ │ │ │ │ │ └── bootstrap-table-custom-view.js │ │ │ │ │ ├── editable/ │ │ │ │ │ │ ├── bootstrap-editable.css │ │ │ │ │ │ └── bootstrap-table-editable.js │ │ │ │ │ ├── export/ │ │ │ │ │ │ └── bootstrap-table-export.js │ │ │ │ │ ├── mobile/ │ │ │ │ │ │ └── bootstrap-table-mobile.js │ │ │ │ │ ├── print/ │ │ │ │ │ │ └── bootstrap-table-print.js │ │ │ │ │ ├── reorder-columns/ │ │ │ │ │ │ ├── bootstrap-table-reorder-columns.js │ │ │ │ │ │ └── jquery.dragtable.js │ │ │ │ │ ├── reorder-rows/ │ │ │ │ │ │ ├── bootstrap-table-reorder-rows.js │ │ │ │ │ │ └── jquery.tablednd.js │ │ │ │ │ ├── resizable/ │ │ │ │ │ │ └── bootstrap-table-resizable.js │ │ │ │ │ └── tree/ │ │ │ │ │ └── bootstrap-table-tree.js │ │ │ │ └── locale/ │ │ │ │ └── bootstrap-table-zh-CN.js │ │ │ ├── cropper/ │ │ │ │ ├── cropper.css │ │ │ │ └── cropper.js │ │ │ ├── cxselect/ │ │ │ │ └── jquery.cxselect.js │ │ │ ├── datapicker/ │ │ │ │ ├── bootstrap-datetimepicker.css │ │ │ │ └── bootstrap-datetimepicker.js │ │ │ ├── duallistbox/ │ │ │ │ ├── bootstrap-duallistbox.css │ │ │ │ └── bootstrap-duallistbox.js │ │ │ ├── flot/ │ │ │ │ ├── curvedLines.js │ │ │ │ ├── jquery.flot.js │ │ │ │ ├── jquery.flot.pie.js │ │ │ │ ├── jquery.flot.resize.js │ │ │ │ ├── jquery.flot.spline.js │ │ │ │ └── jquery.flot.symbol.js │ │ │ ├── fullscreen/ │ │ │ │ └── jquery.fullscreen.js │ │ │ ├── iCheck/ │ │ │ │ └── custom.css │ │ │ ├── jasny/ │ │ │ │ ├── jasny-bootstrap.css │ │ │ │ └── jasny-bootstrap.js │ │ │ ├── jquery-layout/ │ │ │ │ ├── jquery.layout-latest.css │ │ │ │ └── jquery.layout-latest.js │ │ │ ├── jquery-ztree/ │ │ │ │ └── 3.5/ │ │ │ │ ├── css/ │ │ │ │ │ ├── default/ │ │ │ │ │ │ └── zTreeStyle.css │ │ │ │ │ ├── metro/ │ │ │ │ │ │ └── zTreeStyle.css │ │ │ │ │ └── simple/ │ │ │ │ │ └── zTreeStyle.css │ │ │ │ ├── js/ │ │ │ │ │ ├── jquery.ztree.all-3.5.js │ │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ │ ├── jquery.ztree.excheck-3.5.js │ │ │ │ │ ├── jquery.ztree.exedit-3.5.js │ │ │ │ │ └── jquery.ztree.exhide-3.5.js │ │ │ │ └── log v3.x.txt │ │ │ ├── jsonview/ │ │ │ │ ├── jquery.jsonview.css │ │ │ │ └── jquery.jsonview.js │ │ │ ├── layer/ │ │ │ │ ├── css/ │ │ │ │ │ └── layer.css │ │ │ │ └── theme/ │ │ │ │ └── moon/ │ │ │ │ └── style.css │ │ │ ├── layui/ │ │ │ │ ├── css/ │ │ │ │ │ └── modules/ │ │ │ │ │ └── laydate.css │ │ │ │ └── modules/ │ │ │ │ └── laydate.js │ │ │ ├── select2/ │ │ │ │ ├── select2.css │ │ │ │ └── select2.js │ │ │ ├── suggest/ │ │ │ │ └── bootstrap-suggest.js │ │ │ ├── summernote/ │ │ │ │ ├── summernote-zh-CN.js │ │ │ │ ├── summernote.css │ │ │ │ └── summernote.js │ │ │ ├── typeahead/ │ │ │ │ └── bootstrap-typeahead.js │ │ │ └── validate/ │ │ │ ├── jquery.validate.extend.js │ │ │ └── messages_zh.js │ │ ├── css/ │ │ │ ├── login.css │ │ │ ├── skins.css │ │ │ ├── style.css │ │ │ └── zen-checkbox.css │ │ ├── file/ │ │ │ └── rml.txt │ │ ├── fonts/ │ │ │ └── FontAwesome.otf │ │ ├── html/ │ │ │ └── ie.html │ │ ├── i18n/ │ │ │ └── messages.properties │ │ ├── js/ │ │ │ ├── cron.js │ │ │ ├── jquery.tmpl.js │ │ │ ├── plugins/ │ │ │ │ └── metisMenu/ │ │ │ │ └── jquery.metisMenu.js │ │ │ └── resize-tabs.js │ │ └── ruoyi/ │ │ ├── css/ │ │ │ └── ry-ui.css │ │ ├── index.js │ │ ├── js/ │ │ │ ├── common.js │ │ │ └── ry-ui.js │ │ ├── login.js │ │ └── register.js │ └── templates/ │ ├── demo/ │ │ ├── form/ │ │ │ ├── autocomplete.html │ │ │ ├── basic.html │ │ │ ├── button.html │ │ │ ├── cards.html │ │ │ ├── cxselect.html │ │ │ ├── datetime.html │ │ │ ├── duallistbox.html │ │ │ ├── grid.html │ │ │ ├── invoice.html │ │ │ ├── jasny.html │ │ │ ├── labels_tips.html │ │ │ ├── localrefresh.html │ │ │ ├── progress_bars.html │ │ │ ├── select.html │ │ │ ├── sortable.html │ │ │ ├── summernote.html │ │ │ ├── tabs_panels.html │ │ │ ├── timeline.html │ │ │ ├── upload.html │ │ │ ├── validate.html │ │ │ └── wizard.html │ │ ├── icon/ │ │ │ ├── fontawesome.html │ │ │ └── glyphicons.html │ │ ├── modal/ │ │ │ ├── dialog.html │ │ │ ├── form.html │ │ │ ├── layer.html │ │ │ ├── table/ │ │ │ │ ├── check.html │ │ │ │ ├── frame1.html │ │ │ │ ├── frame2.html │ │ │ │ ├── parent.html │ │ │ │ └── radio.html │ │ │ └── table.html │ │ ├── operate/ │ │ │ ├── add.html │ │ │ ├── detail.html │ │ │ ├── edit.html │ │ │ ├── other.html │ │ │ └── table.html │ │ ├── report/ │ │ │ ├── echarts.html │ │ │ ├── metrics.html │ │ │ ├── peity.html │ │ │ └── sparkline.html │ │ └── table/ │ │ ├── asynTree.html │ │ ├── button.html │ │ ├── child.html │ │ ├── cookie.html │ │ ├── curd.html │ │ ├── customView.html │ │ ├── data.html │ │ ├── detail.html │ │ ├── dynamicColumns.html │ │ ├── editable.html │ │ ├── event.html │ │ ├── export.html │ │ ├── exportSelected.html │ │ ├── fixedColumns.html │ │ ├── footer.html │ │ ├── groupHeader.html │ │ ├── headerStyle.html │ │ ├── image.html │ │ ├── multi.html │ │ ├── other.html │ │ ├── pageGo.html │ │ ├── params.html │ │ ├── print.html │ │ ├── refresh.html │ │ ├── remember.html │ │ ├── reorderColumns.html │ │ ├── reorderRows.html │ │ ├── resizable.html │ │ ├── search.html │ │ ├── subdata.html │ │ ├── textSearch.html │ │ └── virtualScroll.html │ ├── error/ │ │ ├── 404.html │ │ ├── 500.html │ │ ├── service.html │ │ └── unauth.html │ ├── include.html │ ├── index-topnav.html │ ├── index.html │ ├── lock.html │ ├── login.html │ ├── main.html │ ├── main_v1.html │ ├── monitor/ │ │ ├── cache/ │ │ │ └── cache.html │ │ ├── logininfor/ │ │ │ └── logininfor.html │ │ ├── online/ │ │ │ └── online.html │ │ ├── operlog/ │ │ │ ├── detail.html │ │ │ └── operlog.html │ │ └── server/ │ │ └── server.html │ ├── register.html │ ├── skin.html │ ├── system/ │ │ ├── config/ │ │ │ ├── add.html │ │ │ ├── config.html │ │ │ └── edit.html │ │ ├── dept/ │ │ │ ├── add.html │ │ │ ├── dept.html │ │ │ ├── edit.html │ │ │ └── tree.html │ │ ├── dict/ │ │ │ ├── data/ │ │ │ │ ├── add.html │ │ │ │ ├── data.html │ │ │ │ └── edit.html │ │ │ └── type/ │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ ├── tree.html │ │ │ └── type.html │ │ ├── menu/ │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ ├── icon.html │ │ │ ├── menu.html │ │ │ └── tree.html │ │ ├── notice/ │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ ├── notice.html │ │ │ └── view.html │ │ ├── post/ │ │ │ ├── add.html │ │ │ ├── edit.html │ │ │ └── post.html │ │ ├── role/ │ │ │ ├── add.html │ │ │ ├── authUser.html │ │ │ ├── dataScope.html │ │ │ ├── edit.html │ │ │ ├── role.html │ │ │ ├── selectUser.html │ │ │ └── view.html │ │ └── user/ │ │ ├── add.html │ │ ├── authRole.html │ │ ├── deptTree.html │ │ ├── edit.html │ │ ├── profile/ │ │ │ ├── avatar.html │ │ │ ├── profile.html │ │ │ └── resetPwd.html │ │ ├── resetPwd.html │ │ ├── user.html │ │ └── view.html │ └── tool/ │ └── build/ │ └── build.html ├── ruoyi-common/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── ruoyi/ │ └── common/ │ ├── annotation/ │ │ ├── Anonymous.java │ │ ├── DataScope.java │ │ ├── DataSource.java │ │ ├── Excel.java │ │ ├── Excels.java │ │ ├── Log.java │ │ ├── RepeatSubmit.java │ │ └── Sensitive.java │ ├── config/ │ │ ├── RuoYiConfig.java │ │ ├── ServerConfig.java │ │ ├── datasource/ │ │ │ └── DynamicDataSourceContextHolder.java │ │ ├── serializer/ │ │ │ └── SensitiveJsonSerializer.java │ │ └── thread/ │ │ └── ThreadPoolConfig.java │ ├── constant/ │ │ ├── Constants.java │ │ ├── GenConstants.java │ │ ├── PermissionConstants.java │ │ ├── ScheduleConstants.java │ │ ├── ShiroConstants.java │ │ └── UserConstants.java │ ├── core/ │ │ ├── context/ │ │ │ └── PermissionContextHolder.java │ │ ├── controller/ │ │ │ └── BaseController.java │ │ ├── domain/ │ │ │ ├── AjaxResult.java │ │ │ ├── BaseEntity.java │ │ │ ├── CxSelect.java │ │ │ ├── R.java │ │ │ ├── TreeEntity.java │ │ │ ├── Ztree.java │ │ │ └── entity/ │ │ │ ├── SysDept.java │ │ │ ├── SysDictData.java │ │ │ ├── SysDictType.java │ │ │ ├── SysMenu.java │ │ │ ├── SysRole.java │ │ │ └── SysUser.java │ │ ├── page/ │ │ │ ├── PageDomain.java │ │ │ ├── TableDataInfo.java │ │ │ └── TableSupport.java │ │ ├── session/ │ │ │ └── OnlineSession.java │ │ └── text/ │ │ ├── CharsetKit.java │ │ ├── Convert.java │ │ └── StrFormatter.java │ ├── enums/ │ │ ├── BusinessStatus.java │ │ ├── BusinessType.java │ │ ├── DataSourceType.java │ │ ├── DesensitizedType.java │ │ ├── OnlineStatus.java │ │ ├── OperatorType.java │ │ └── UserStatus.java │ ├── exception/ │ │ ├── DemoModeException.java │ │ ├── GlobalException.java │ │ ├── ServiceException.java │ │ ├── UtilException.java │ │ ├── base/ │ │ │ └── BaseException.java │ │ ├── file/ │ │ │ ├── FileException.java │ │ │ ├── FileNameLengthLimitExceededException.java │ │ │ ├── FileSizeLimitExceededException.java │ │ │ ├── FileUploadException.java │ │ │ └── InvalidExtensionException.java │ │ ├── job/ │ │ │ └── TaskException.java │ │ └── user/ │ │ ├── BlackListException.java │ │ ├── CaptchaException.java │ │ ├── RoleBlockedException.java │ │ ├── UserBlockedException.java │ │ ├── UserDeleteException.java │ │ ├── UserException.java │ │ ├── UserNotExistsException.java │ │ ├── UserPasswordNotMatchException.java │ │ ├── UserPasswordRetryLimitCountException.java │ │ └── UserPasswordRetryLimitExceedException.java │ ├── json/ │ │ ├── JSON.java │ │ └── JSONObject.java │ ├── utils/ │ │ ├── AddressUtils.java │ │ ├── Arith.java │ │ ├── CacheUtils.java │ │ ├── CookieUtils.java │ │ ├── DateUtils.java │ │ ├── DesensitizedUtil.java │ │ ├── DictUtils.java │ │ ├── ExceptionUtil.java │ │ ├── IpUtils.java │ │ ├── LogUtils.java │ │ ├── MapDataUtil.java │ │ ├── MessageUtils.java │ │ ├── PageUtils.java │ │ ├── ServletUtils.java │ │ ├── ShiroUtils.java │ │ ├── StringUtils.java │ │ ├── Threads.java │ │ ├── bean/ │ │ │ ├── BeanUtils.java │ │ │ └── BeanValidators.java │ │ ├── file/ │ │ │ ├── FileTypeUtils.java │ │ │ ├── FileUploadUtils.java │ │ │ ├── FileUtils.java │ │ │ ├── ImageUtils.java │ │ │ └── MimeTypeUtils.java │ │ ├── html/ │ │ │ ├── EscapeUtil.java │ │ │ └── HTMLFilter.java │ │ ├── http/ │ │ │ ├── HttpUtils.java │ │ │ └── UserAgentUtils.java │ │ ├── poi/ │ │ │ ├── ExcelHandlerAdapter.java │ │ │ └── ExcelUtil.java │ │ ├── reflect/ │ │ │ └── ReflectUtils.java │ │ ├── security/ │ │ │ ├── CipherUtils.java │ │ │ ├── Md5Utils.java │ │ │ └── PermissionUtils.java │ │ ├── spring/ │ │ │ └── SpringUtils.java │ │ ├── sql/ │ │ │ └── SqlUtil.java │ │ └── uuid/ │ │ ├── IdUtils.java │ │ ├── Seq.java │ │ └── UUID.java │ └── xss/ │ ├── Xss.java │ ├── XssFilter.java │ ├── XssHttpServletRequestWrapper.java │ └── XssValidator.java ├── ruoyi-framework/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── com/ │ └── ruoyi/ │ └── framework/ │ ├── aspectj/ │ │ ├── DataScopeAspect.java │ │ ├── DataSourceAspect.java │ │ ├── LogAspect.java │ │ └── PermissionsAspect.java │ ├── config/ │ │ ├── ApplicationConfig.java │ │ ├── CaptchaConfig.java │ │ ├── DruidConfig.java │ │ ├── FilterConfig.java │ │ ├── I18nConfig.java │ │ ├── KaptchaTextCreator.java │ │ ├── MyBatisConfig.java │ │ ├── ResourcesConfig.java │ │ ├── ShiroConfig.java │ │ └── properties/ │ │ └── DruidProperties.java │ ├── datasource/ │ │ └── DynamicDataSource.java │ ├── interceptor/ │ │ ├── RepeatSubmitInterceptor.java │ │ └── impl/ │ │ └── SameUrlDataInterceptor.java │ ├── manager/ │ │ ├── AsyncManager.java │ │ ├── ShutdownManager.java │ │ └── factory/ │ │ └── AsyncFactory.java │ ├── shiro/ │ │ ├── realm/ │ │ │ └── UserRealm.java │ │ ├── rememberMe/ │ │ │ └── CustomCookieRememberMeManager.java │ │ ├── service/ │ │ │ ├── SysLoginService.java │ │ │ ├── SysPasswordService.java │ │ │ ├── SysRegisterService.java │ │ │ └── SysShiroService.java │ │ ├── session/ │ │ │ ├── OnlineSessionDAO.java │ │ │ └── OnlineSessionFactory.java │ │ ├── util/ │ │ │ └── AuthorizationUtils.java │ │ └── web/ │ │ ├── CustomShiroFilterFactoryBean.java │ │ ├── filter/ │ │ │ ├── LogoutFilter.java │ │ │ ├── captcha/ │ │ │ │ └── CaptchaValidateFilter.java │ │ │ ├── csrf/ │ │ │ │ └── CsrfValidateFilter.java │ │ │ ├── kickout/ │ │ │ │ └── KickoutSessionFilter.java │ │ │ ├── online/ │ │ │ │ └── OnlineSessionFilter.java │ │ │ └── sync/ │ │ │ └── SyncOnlineSessionFilter.java │ │ └── session/ │ │ ├── OnlineWebSessionManager.java │ │ └── SpringSessionValidationScheduler.java │ └── web/ │ ├── domain/ │ │ ├── Server.java │ │ └── server/ │ │ ├── Cpu.java │ │ ├── Jvm.java │ │ ├── Mem.java │ │ ├── Sys.java │ │ └── SysFile.java │ ├── exception/ │ │ └── GlobalExceptionHandler.java │ └── service/ │ ├── CacheService.java │ ├── ConfigService.java │ ├── DictService.java │ └── PermissionService.java ├── ruoyi-generator/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── ruoyi/ │ │ └── generator/ │ │ ├── config/ │ │ │ └── GenConfig.java │ │ ├── controller/ │ │ │ └── GenController.java │ │ ├── domain/ │ │ │ ├── GenTable.java │ │ │ └── GenTableColumn.java │ │ ├── mapper/ │ │ │ ├── GenTableColumnMapper.java │ │ │ └── GenTableMapper.java │ │ ├── service/ │ │ │ ├── IGenTableColumnService.java │ │ │ ├── IGenTableService.java │ │ │ └── impl/ │ │ │ ├── GenTableColumnServiceImpl.java │ │ │ └── GenTableServiceImpl.java │ │ └── util/ │ │ ├── GenUtils.java │ │ ├── VelocityInitializer.java │ │ └── VelocityUtils.java │ └── resources/ │ ├── generator.yml │ ├── mapper/ │ │ └── generator/ │ │ ├── GenTableColumnMapper.xml │ │ └── GenTableMapper.xml │ ├── templates/ │ │ └── tool/ │ │ └── gen/ │ │ ├── createTable.html │ │ ├── edit.html │ │ ├── gen.html │ │ └── importTable.html │ └── vm/ │ ├── html/ │ │ ├── add.html.vm │ │ ├── edit.html.vm │ │ ├── list-tree.html.vm │ │ ├── list.html.vm │ │ └── tree.html.vm │ ├── java/ │ │ ├── controller.java.vm │ │ ├── domain.java.vm │ │ ├── mapper.java.vm │ │ ├── service.java.vm │ │ ├── serviceImpl.java.vm │ │ └── sub-domain.java.vm │ ├── sql/ │ │ └── sql.vm │ └── xml/ │ └── mapper.xml.vm ├── ruoyi-quartz/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── ruoyi/ │ │ └── quartz/ │ │ ├── config/ │ │ │ └── ScheduleConfig.java │ │ ├── controller/ │ │ │ ├── SysJobController.java │ │ │ └── SysJobLogController.java │ │ ├── domain/ │ │ │ ├── SysJob.java │ │ │ └── SysJobLog.java │ │ ├── mapper/ │ │ │ ├── SysJobLogMapper.java │ │ │ └── SysJobMapper.java │ │ ├── service/ │ │ │ ├── ISysJobLogService.java │ │ │ ├── ISysJobService.java │ │ │ └── impl/ │ │ │ ├── SysJobLogServiceImpl.java │ │ │ └── SysJobServiceImpl.java │ │ ├── task/ │ │ │ └── RyTask.java │ │ └── util/ │ │ ├── AbstractQuartzJob.java │ │ ├── CronUtils.java │ │ ├── JobInvokeUtil.java │ │ ├── QuartzDisallowConcurrentExecution.java │ │ ├── QuartzJobExecution.java │ │ └── ScheduleUtils.java │ └── resources/ │ ├── mapper/ │ │ └── quartz/ │ │ ├── SysJobLogMapper.xml │ │ └── SysJobMapper.xml │ └── templates/ │ └── monitor/ │ └── job/ │ ├── add.html │ ├── cron.html │ ├── detail.html │ ├── edit.html │ ├── job.html │ └── jobLog.html ├── ruoyi-system/ │ ├── pom.xml │ └── src/ │ └── main/ │ ├── java/ │ │ └── com/ │ │ └── ruoyi/ │ │ └── system/ │ │ ├── domain/ │ │ │ ├── SysConfig.java │ │ │ ├── SysLogininfor.java │ │ │ ├── SysNotice.java │ │ │ ├── SysNoticeRead.java │ │ │ ├── SysOperLog.java │ │ │ ├── SysPost.java │ │ │ ├── SysRoleDept.java │ │ │ ├── SysRoleMenu.java │ │ │ ├── SysUserOnline.java │ │ │ ├── SysUserPost.java │ │ │ └── SysUserRole.java │ │ ├── mapper/ │ │ │ ├── SysConfigMapper.java │ │ │ ├── SysDeptMapper.java │ │ │ ├── SysDictDataMapper.java │ │ │ ├── SysDictTypeMapper.java │ │ │ ├── SysLogininforMapper.java │ │ │ ├── SysMenuMapper.java │ │ │ ├── SysNoticeMapper.java │ │ │ ├── SysNoticeReadMapper.java │ │ │ ├── SysOperLogMapper.java │ │ │ ├── SysPostMapper.java │ │ │ ├── SysRoleDeptMapper.java │ │ │ ├── SysRoleMapper.java │ │ │ ├── SysRoleMenuMapper.java │ │ │ ├── SysUserMapper.java │ │ │ ├── SysUserOnlineMapper.java │ │ │ ├── SysUserPostMapper.java │ │ │ └── SysUserRoleMapper.java │ │ └── service/ │ │ ├── ISysConfigService.java │ │ ├── ISysDeptService.java │ │ ├── ISysDictDataService.java │ │ ├── ISysDictTypeService.java │ │ ├── ISysLogininforService.java │ │ ├── ISysMenuService.java │ │ ├── ISysNoticeReadService.java │ │ ├── ISysNoticeService.java │ │ ├── ISysOperLogService.java │ │ ├── ISysPostService.java │ │ ├── ISysRoleService.java │ │ ├── ISysUserOnlineService.java │ │ ├── ISysUserService.java │ │ └── impl/ │ │ ├── SysConfigServiceImpl.java │ │ ├── SysDeptServiceImpl.java │ │ ├── SysDictDataServiceImpl.java │ │ ├── SysDictTypeServiceImpl.java │ │ ├── SysLogininforServiceImpl.java │ │ ├── SysMenuServiceImpl.java │ │ ├── SysNoticeReadServiceImpl.java │ │ ├── SysNoticeServiceImpl.java │ │ ├── SysOperLogServiceImpl.java │ │ ├── SysPostServiceImpl.java │ │ ├── SysRoleServiceImpl.java │ │ ├── SysUserOnlineServiceImpl.java │ │ └── SysUserServiceImpl.java │ └── resources/ │ └── mapper/ │ └── system/ │ ├── SysConfigMapper.xml │ ├── SysDeptMapper.xml │ ├── SysDictDataMapper.xml │ ├── SysDictTypeMapper.xml │ ├── SysLogininforMapper.xml │ ├── SysMenuMapper.xml │ ├── SysNoticeMapper.xml │ ├── SysNoticeReadMapper.xml │ ├── SysOperLogMapper.xml │ ├── SysPostMapper.xml │ ├── SysRoleDeptMapper.xml │ ├── SysRoleMapper.xml │ ├── SysRoleMenuMapper.xml │ ├── SysUserMapper.xml │ ├── SysUserOnlineMapper.xml │ ├── SysUserPostMapper.xml │ └── SysUserRoleMapper.xml ├── ry.bat ├── ry.sh └── sql/ ├── quartz.sql ├── ruoyi.html ├── ruoyi.pdm └── ry_20260319.sql