From 8613cb1140130d45fd15e217332f15dfd506a96f Mon Sep 17 00:00:00 2001 From: Zheng Jie <201507802@qq.com> Date: Mon, 26 Jun 2023 15:10:45 +0800 Subject: [PATCH] =?UTF-8?q?eladmin=20mybatis-plus=20=E5=8F=91=E5=B8=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE | 191 ++++ README.md | 111 +++ eladmin-web/.editorconfig | 14 + eladmin-web/.env.development | 8 + eladmin-web/.env.production | 7 + eladmin-web/.eslintignore | 4 + eladmin-web/.eslintrc.js | 198 ++++ eladmin-web/.gitignore | 24 + eladmin-web/.travis.yml | 5 + eladmin-web/LICENSE | 191 ++++ eladmin-web/README.md | 52 ++ eladmin-web/babel.config.js | 11 + eladmin-web/jest.config.js | 24 + eladmin-web/package.json | 114 +++ eladmin-web/plopfile.js | 7 + eladmin-web/postcss.config.js | 5 + eladmin-web/public/favicon.ico | Bin 0 -> 67646 bytes eladmin-web/public/index.html | 15 + eladmin-web/public/robots.txt | 2 + eladmin-web/src/App.vue | 11 + eladmin-web/src/api/data.js | 17 + eladmin-web/src/api/generator/genConfig.js | 16 + eladmin-web/src/api/generator/generator.js | 26 + eladmin-web/src/api/login.js | 35 + eladmin-web/src/api/mnt/app.js | 27 + eladmin-web/src/api/mnt/connect.js | 17 + eladmin-web/src/api/mnt/database.js | 35 + eladmin-web/src/api/mnt/deploy.js | 77 ++ eladmin-web/src/api/mnt/deployHistory.js | 21 + eladmin-web/src/api/mnt/serverDeploy.js | 27 + eladmin-web/src/api/monitor/log.js | 22 + eladmin-web/src/api/monitor/online.js | 9 + eladmin-web/src/api/system/code.js | 15 + eladmin-web/src/api/system/dept.js | 44 + eladmin-web/src/api/system/dict.js | 34 + eladmin-web/src/api/system/dictDetail.js | 52 ++ eladmin-web/src/api/system/job.js | 40 + eladmin-web/src/api/system/menu.js | 65 ++ eladmin-web/src/api/system/role.js | 57 ++ eladmin-web/src/api/system/timing.js | 41 + eladmin-web/src/api/system/user.js | 61 ++ eladmin-web/src/api/tools/alipay.js | 25 + eladmin-web/src/api/tools/email.js | 24 + eladmin-web/src/api/tools/localStorage.js | 27 + eladmin-web/src/api/tools/qiniu.js | 40 + eladmin-web/src/assets/401_images/401.gif | Bin 0 -> 164227 bytes eladmin-web/src/assets/404_images/404.png | Bin 0 -> 98071 bytes .../src/assets/404_images/404_cloud.png | Bin 0 -> 4766 bytes eladmin-web/src/assets/icons/index.js | 9 + .../src/assets/icons/svg/Steve-Jobs.svg | 1 + eladmin-web/src/assets/icons/svg/alipay.svg | 1 + eladmin-web/src/assets/icons/svg/anq.svg | 1 + eladmin-web/src/assets/icons/svg/app.svg | 1 + eladmin-web/src/assets/icons/svg/backup.svg | 1 + eladmin-web/src/assets/icons/svg/blog.svg | 1 + eladmin-web/src/assets/icons/svg/chain.svg | 1 + eladmin-web/src/assets/icons/svg/chart.svg | 1 + .../src/assets/icons/svg/codeConsole.svg | 1 + .../src/assets/icons/svg/dashboard.svg | 1 + eladmin-web/src/assets/icons/svg/database.svg | 1 + eladmin-web/src/assets/icons/svg/date.svg | 1 + eladmin-web/src/assets/icons/svg/deploy.svg | 1 + eladmin-web/src/assets/icons/svg/dept.svg | 1 + eladmin-web/src/assets/icons/svg/dev.svg | 1 + eladmin-web/src/assets/icons/svg/develop.svg | 1 + .../src/assets/icons/svg/dictionary.svg | 1 + eladmin-web/src/assets/icons/svg/doc.svg | 1 + eladmin-web/src/assets/icons/svg/download.svg | 1 + eladmin-web/src/assets/icons/svg/edit.svg | 1 + .../src/assets/icons/svg/education.svg | 1 + eladmin-web/src/assets/icons/svg/email.svg | 1 + eladmin-web/src/assets/icons/svg/error.svg | 1 + .../src/assets/icons/svg/exit-fullscreen.svg | 1 + .../src/assets/icons/svg/fullscreen.svg | 1 + eladmin-web/src/assets/icons/svg/fwb.svg | 1 + eladmin-web/src/assets/icons/svg/github.svg | 1 + eladmin-web/src/assets/icons/svg/gonggao.svg | 1 + eladmin-web/src/assets/icons/svg/icon.svg | 1 + eladmin-web/src/assets/icons/svg/image.svg | 1 + eladmin-web/src/assets/icons/svg/index.svg | 1 + .../src/assets/icons/svg/international.svg | 1 + eladmin-web/src/assets/icons/svg/ipvisits.svg | 1 + eladmin-web/src/assets/icons/svg/java.svg | 1 + eladmin-web/src/assets/icons/svg/link.svg | 1 + eladmin-web/src/assets/icons/svg/list.svg | 1 + eladmin-web/src/assets/icons/svg/lock.svg | 1 + eladmin-web/src/assets/icons/svg/log.svg | 1 + eladmin-web/src/assets/icons/svg/login.svg | 1 + eladmin-web/src/assets/icons/svg/markdown.svg | 1 + eladmin-web/src/assets/icons/svg/menu.svg | 1 + eladmin-web/src/assets/icons/svg/message.svg | 1 + eladmin-web/src/assets/icons/svg/mnt.svg | 1 + eladmin-web/src/assets/icons/svg/money.svg | 1 + eladmin-web/src/assets/icons/svg/monitor.svg | 1 + eladmin-web/src/assets/icons/svg/nested.svg | 1 + eladmin-web/src/assets/icons/svg/password.svg | 1 + eladmin-web/src/assets/icons/svg/people.svg | 1 + eladmin-web/src/assets/icons/svg/peoples.svg | 1 + .../src/assets/icons/svg/permission.svg | 1 + eladmin-web/src/assets/icons/svg/phone.svg | 1 + eladmin-web/src/assets/icons/svg/qiniu.svg | 1 + eladmin-web/src/assets/icons/svg/redis.svg | 1 + eladmin-web/src/assets/icons/svg/role.svg | 1 + eladmin-web/src/assets/icons/svg/search.svg | 1 + eladmin-web/src/assets/icons/svg/server.svg | 1 + eladmin-web/src/assets/icons/svg/shopping.svg | 1 + eladmin-web/src/assets/icons/svg/size.svg | 1 + eladmin-web/src/assets/icons/svg/skill.svg | 1 + eladmin-web/src/assets/icons/svg/source.svg | 1 + .../src/assets/icons/svg/sqlMonitor.svg | 1 + eladmin-web/src/assets/icons/svg/swagger.svg | 1 + .../src/assets/icons/svg/sys-tools.svg | 1 + eladmin-web/src/assets/icons/svg/system.svg | 1 + eladmin-web/src/assets/icons/svg/system1.svg | 1 + eladmin-web/src/assets/icons/svg/tab.svg | 1 + eladmin-web/src/assets/icons/svg/theme.svg | 1 + eladmin-web/src/assets/icons/svg/timing.svg | 1 + eladmin-web/src/assets/icons/svg/tools.svg | 1 + .../src/assets/icons/svg/tree-table.svg | 1 + eladmin-web/src/assets/icons/svg/tree.svg | 1 + eladmin-web/src/assets/icons/svg/unlock.svg | 1 + eladmin-web/src/assets/icons/svg/user.svg | 1 + eladmin-web/src/assets/icons/svg/user1.svg | 1 + .../src/assets/icons/svg/validCode.svg | 1 + eladmin-web/src/assets/icons/svg/visits.svg | 1 + eladmin-web/src/assets/icons/svg/web.svg | 1 + eladmin-web/src/assets/icons/svg/wechat.svg | 1 + eladmin-web/src/assets/icons/svg/weixin.svg | 1 + eladmin-web/src/assets/icons/svg/zujian.svg | 1 + eladmin-web/src/assets/icons/svgo.yml | 22 + eladmin-web/src/assets/images/avatar.png | Bin 0 -> 1865 bytes eladmin-web/src/assets/images/background.webp | Bin 0 -> 156066 bytes eladmin-web/src/assets/images/logo.png | Bin 0 -> 8852 bytes eladmin-web/src/assets/styles/btn.scss | 99 ++ eladmin-web/src/assets/styles/eladmin.scss | 117 +++ eladmin-web/src/assets/styles/element-ui.scss | 79 ++ .../src/assets/styles/element-variables.scss | 31 + eladmin-web/src/assets/styles/index.scss | 182 ++++ eladmin-web/src/assets/styles/mixin.scss | 66 ++ eladmin-web/src/assets/styles/sidebar.scss | 209 +++++ eladmin-web/src/assets/styles/transition.scss | 48 + eladmin-web/src/assets/styles/variables.scss | 35 + .../src/components/Breadcrumb/index.vue | 81 ++ .../src/components/Crud/CRUD.operation.vue | 268 ++++++ .../src/components/Crud/Pagination.vue | 18 + .../src/components/Crud/RR.operation.vue | 20 + .../src/components/Crud/UD.operation.vue | 71 ++ eladmin-web/src/components/Crud/crud.js | 864 ++++++++++++++++++ .../src/components/DateRangePicker/index.vue | 45 + eladmin-web/src/components/Dict/Dict.js | 29 + eladmin-web/src/components/Dict/index.js | 29 + eladmin-web/src/components/Doc/index.vue | 16 + .../src/components/Echarts/BarChart.vue | 106 +++ .../src/components/Echarts/Category.vue | 438 +++++++++ eladmin-web/src/components/Echarts/Funnel.vue | 120 +++ eladmin-web/src/components/Echarts/Gauge.vue | 74 ++ eladmin-web/src/components/Echarts/Graph.vue | 101 ++ .../src/components/Echarts/HeatMap.vue | 105 +++ .../src/components/Echarts/PieChart.vue | 84 ++ eladmin-web/src/components/Echarts/Point.vue | 149 +++ .../src/components/Echarts/RadarChart.vue | 120 +++ eladmin-web/src/components/Echarts/Rich.vue | 149 +++ eladmin-web/src/components/Echarts/Sankey.vue | 100 ++ .../src/components/Echarts/Scatter.vue | 143 +++ .../src/components/Echarts/Sunburst.vue | 107 +++ .../src/components/Echarts/ThemeRiver.vue | 148 +++ .../src/components/GithubCorner/index.vue | 54 ++ .../src/components/Hamburger/index.vue | 44 + .../src/components/HeaderSearch/index.vue | 188 ++++ .../src/components/IconSelect/index.vue | 68 ++ .../src/components/IconSelect/requireIcons.js | 11 + eladmin-web/src/components/Iframe/index.vue | 30 + eladmin-web/src/components/JavaEdit/index.vue | 78 ++ .../src/components/Pagination/index.vue | 101 ++ eladmin-web/src/components/PanThumb/index.vue | 140 +++ .../src/components/ParentView/index.vue | 3 + .../src/components/Permission/index.js | 13 + .../src/components/Permission/permission.js | 21 + .../src/components/RightPanel/index.vue | 149 +++ .../src/components/Screenfull/index.vue | 60 ++ .../src/components/SizeSelect/index.vue | 57 ++ eladmin-web/src/components/SvgIcon/index.vue | 62 ++ .../src/components/ThemePicker/index.vue | 165 ++++ .../src/components/UploadExcel/index.vue | 138 +++ eladmin-web/src/components/YamlEdit/index.vue | 81 ++ eladmin-web/src/layout/components/AppMain.vue | 63 ++ eladmin-web/src/layout/components/Navbar.vue | 200 ++++ .../src/layout/components/Settings/index.vue | 108 +++ .../layout/components/Sidebar/FixiOSBug.js | 26 + .../src/layout/components/Sidebar/Item.vue | 29 + .../src/layout/components/Sidebar/Link.vue | 36 + .../src/layout/components/Sidebar/Logo.vue | 82 ++ .../layout/components/Sidebar/SidebarItem.vue | 95 ++ .../src/layout/components/Sidebar/index.vue | 54 ++ .../layout/components/TagsView/ScrollPane.vue | 85 ++ .../src/layout/components/TagsView/index.vue | 286 ++++++ eladmin-web/src/layout/components/index.js | 5 + eladmin-web/src/layout/index.vue | 116 +++ eladmin-web/src/layout/mixin/ResizeHandler.js | 45 + eladmin-web/src/main.js | 41 + eladmin-web/src/mixins/crud.js | 342 +++++++ eladmin-web/src/router/index.js | 72 ++ eladmin-web/src/router/routers.js | 68 ++ eladmin-web/src/settings.js | 46 + eladmin-web/src/store/getters.js | 24 + eladmin-web/src/store/index.js | 25 + eladmin-web/src/store/modules/api.js | 26 + eladmin-web/src/store/modules/app.js | 56 ++ eladmin-web/src/store/modules/permission.js | 83 ++ eladmin-web/src/store/modules/settings.js | 36 + eladmin-web/src/store/modules/tagsView.js | 165 ++++ eladmin-web/src/store/modules/user.js | 94 ++ eladmin-web/src/utils/auth.js | 18 + eladmin-web/src/utils/clipboard.js | 36 + eladmin-web/src/utils/datetime.js | 216 +++++ eladmin-web/src/utils/index.js | 388 ++++++++ eladmin-web/src/utils/permission.js | 23 + eladmin-web/src/utils/request.js | 88 ++ eladmin-web/src/utils/rsaEncrypt.js | 14 + eladmin-web/src/utils/shortcuts.js | 76 ++ eladmin-web/src/utils/upload.js | 11 + eladmin-web/src/utils/validate.js | 167 ++++ eladmin-web/src/views/components/Echarts.vue | 110 +++ eladmin-web/src/views/components/Editor.vue | 74 ++ eladmin-web/src/views/components/MarkDown.vue | 55 ++ eladmin-web/src/views/components/YamlEdit.vue | 207 +++++ .../views/components/excel/upload-excel.vue | 41 + .../views/components/icons/element-icons.js | 74 ++ .../src/views/components/icons/index.vue | 97 ++ .../src/views/components/icons/svg-icons.js | 10 + eladmin-web/src/views/dashboard/LineChart.vue | 135 +++ .../src/views/dashboard/PanelGroup.vue | 181 ++++ .../src/views/dashboard/mixins/resize.js | 55 ++ eladmin-web/src/views/features/401.vue | 89 ++ eladmin-web/src/views/features/404.vue | 225 +++++ eladmin-web/src/views/features/redirect.vue | 12 + eladmin-web/src/views/generator/config.vue | 311 +++++++ eladmin-web/src/views/generator/index.vue | 114 +++ eladmin-web/src/views/generator/preview.vue | 30 + eladmin-web/src/views/home.vue | 107 +++ eladmin-web/src/views/login.vue | 214 +++++ eladmin-web/src/views/mnt/app/index.vue | 144 +++ .../src/views/mnt/database/execute.vue | 86 ++ eladmin-web/src/views/mnt/database/index.vue | 148 +++ eladmin-web/src/views/mnt/deploy/deploy.vue | 190 ++++ eladmin-web/src/views/mnt/deploy/index.vue | 229 +++++ .../src/views/mnt/deploy/sysRestore.vue | 108 +++ .../src/views/mnt/deployHistory/index.vue | 93 ++ eladmin-web/src/views/mnt/server/index.vue | 136 +++ .../src/views/monitor/log/errorLog.vue | 135 +++ eladmin-web/src/views/monitor/log/index.vue | 114 +++ eladmin-web/src/views/monitor/log/search.vue | 24 + .../src/views/monitor/online/index.vue | 121 +++ .../src/views/monitor/server/index.vue | 291 ++++++ eladmin-web/src/views/monitor/sql/index.vue | 16 + .../src/views/nested/menu1/menu1-1/index.vue | 36 + .../src/views/nested/menu1/menu1-2/index.vue | 5 + eladmin-web/src/views/nested/menu2/index.vue | 5 + eladmin-web/src/views/system/dept/index.vue | 254 +++++ .../src/views/system/dict/dictDetail.vue | 115 +++ eladmin-web/src/views/system/dict/index.vue | 135 +++ eladmin-web/src/views/system/job/index.vue | 110 +++ .../src/views/system/job/module/form.vue | 110 +++ .../src/views/system/job/module/header.vue | 32 + eladmin-web/src/views/system/menu/index.vue | 252 +++++ eladmin-web/src/views/system/role/index.vue | 360 ++++++++ eladmin-web/src/views/system/timing/index.vue | 210 +++++ eladmin-web/src/views/system/timing/log.vue | 104 +++ eladmin-web/src/views/system/user/center.vue | 221 +++++ .../views/system/user/center/updateEmail.vue | 137 +++ .../views/system/user/center/updatePass.vue | 95 ++ eladmin-web/src/views/system/user/index.vue | 484 ++++++++++ eladmin-web/src/views/tools/aliPay/config.vue | 98 ++ eladmin-web/src/views/tools/aliPay/index.vue | 48 + eladmin-web/src/views/tools/aliPay/toPay.vue | 86 ++ eladmin-web/src/views/tools/email/config.vue | 91 ++ eladmin-web/src/views/tools/email/index.vue | 41 + eladmin-web/src/views/tools/email/send.vue | 98 ++ eladmin-web/src/views/tools/storage/index.vue | 36 + .../src/views/tools/storage/local/index.vue | 184 ++++ .../src/views/tools/storage/qiniu/form.vue | 98 ++ .../src/views/tools/storage/qiniu/index.vue | 189 ++++ eladmin-web/src/views/tools/swagger/index.vue | 16 + eladmin-web/vue.config.js | 147 +++ eladmin/.gitignore | 8 + eladmin/LICENSE | 191 ++++ eladmin/README.md | 104 +++ eladmin/eladmin-common/pom.xml | 26 + .../zhengjie/annotation/AnonymousAccess.java | 30 + .../java/me/zhengjie/annotation/Limit.java | 49 + .../rest/AnonymousDeleteMapping.java | 91 ++ .../annotation/rest/AnonymousGetMapping.java | 90 ++ .../rest/AnonymousPatchMapping.java | 91 ++ .../annotation/rest/AnonymousPostMapping.java | 91 ++ .../annotation/rest/AnonymousPutMapping.java | 91 ++ .../java/me/zhengjie/aspect/LimitAspect.java | 99 ++ .../java/me/zhengjie/aspect/LimitType.java | 27 + .../main/java/me/zhengjie/base/BaseDTO.java | 40 + .../java/me/zhengjie/base/BaseEntity.java | 77 ++ .../me/zhengjie/config/AuditorConfig.java | 45 + .../me/zhengjie/config/AuthorityConfig.java | 37 + .../me/zhengjie/config/FileProperties.java | 60 ++ .../me/zhengjie/config/MultipartConfig.java | 47 + .../java/me/zhengjie/config/RedisConfig.java | 225 +++++ .../me/zhengjie/config/RsaProperties.java | 38 + .../me/zhengjie/config/SwaggerConfig.java | 152 +++ .../config/mybatis/MyMetaObjectHandler.java | 55 ++ .../config/mybatis/MybatisPlusConfig.java | 42 + .../exception/BadConfigurationException.java | 98 ++ .../exception/BadRequestException.java | 40 + .../exception/EntityExistException.java | 34 + .../exception/EntityNotFoundException.java | 34 + .../zhengjie/exception/handler/ApiError.java | 52 ++ .../handler/GlobalExceptionHandler.java | 113 +++ .../main/java/me/zhengjie/utils/CacheKey.java | 58 ++ .../main/java/me/zhengjie/utils/CallBack.java | 43 + .../java/me/zhengjie/utils/CloseUtil.java | 47 + .../main/java/me/zhengjie/utils/DateUtil.java | 169 ++++ .../java/me/zhengjie/utils/ElConstant.java | 34 + .../java/me/zhengjie/utils/EncryptUtils.java | 100 ++ .../main/java/me/zhengjie/utils/FileUtil.java | 395 ++++++++ .../main/java/me/zhengjie/utils/PageUtil.java | 63 ++ .../java/me/zhengjie/utils/RedisUtils.java | 713 +++++++++++++++ .../java/me/zhengjie/utils/RequestHolder.java | 33 + .../main/java/me/zhengjie/utils/RsaUtils.java | 198 ++++ .../java/me/zhengjie/utils/SecurityUtils.java | 95 ++ .../zhengjie/utils/SpringContextHolder.java | 156 ++++ .../java/me/zhengjie/utils/StringUtils.java | 247 +++++ .../java/me/zhengjie/utils/ThrowableUtil.java | 37 + .../me/zhengjie/utils/TranslatorUtil.java | 66 ++ .../me/zhengjie/utils/enums/CodeBiEnum.java | 50 + .../me/zhengjie/utils/enums/CodeEnum.java | 46 + .../zhengjie/utils/enums/DataScopeEnum.java | 53 ++ .../utils/enums/RequestMethodEnum.java | 74 ++ .../java/me/zhengjie/utils/DateUtilsTest.java | 26 + .../me/zhengjie/utils/EncryptUtilsTest.java | 33 + .../java/me/zhengjie/utils/FileUtilTest.java | 36 + .../me/zhengjie/utils/StringUtilsTest.java | 48 + eladmin/eladmin-generator/pom.xml | 39 + .../java/me/zhengjie/domain/ColumnInfo.java | 77 ++ .../java/me/zhengjie/domain/GenConfig.java | 78 ++ .../java/me/zhengjie/domain/vo/TableInfo.java | 48 + .../me/zhengjie/mapper/ColumnInfoMapper.java | 39 + .../me/zhengjie/mapper/GenConfigMapper.java | 31 + .../me/zhengjie/rest/GenConfigController.java | 51 ++ .../me/zhengjie/rest/GeneratorController.java | 99 ++ .../me/zhengjie/service/GenConfigService.java | 41 + .../me/zhengjie/service/GeneratorService.java | 93 ++ .../service/impl/GenConfigServiceImpl.java | 69 ++ .../service/impl/GeneratorServiceImpl.java | 166 ++++ .../main/java/me/zhengjie/utils/ColUtil.java | 54 ++ .../main/java/me/zhengjie/utils/GenUtil.java | 417 +++++++++ .../resources/mapper/ColumnInfoMapper.xml | 49 + .../main/resources/mapper/GenConfigMapper.xml | 27 + .../resources/template/admin/Controller.ftl | 88 ++ .../main/resources/template/admin/Entity.ftl | 68 ++ .../resources/template/admin/Mapper-xml.ftl | 62 ++ .../main/resources/template/admin/Mapper.ftl | 37 + .../template/admin/QueryCriteria.ftl | 45 + .../main/resources/template/admin/Service.ftl | 74 ++ .../resources/template/admin/ServiceImpl.ftl | 106 +++ .../src/main/resources/template/front/api.ftl | 27 + .../main/resources/template/front/index.ftl | 169 ++++ eladmin/eladmin-logging/pom.xml | 22 + .../main/java/me/zhengjie/annotation/Log.java | 31 + .../java/me/zhengjie/aspect/LogAspect.java | 98 ++ .../main/java/me/zhengjie/domain/SysLog.java | 78 ++ .../domain/vo/SysLogQueryCriteria.java | 37 + .../java/me/zhengjie/mapper/SysLogMapper.java | 40 + .../me/zhengjie/rest/SysLogController.java | 110 +++ .../me/zhengjie/service/SysLogService.java | 92 ++ .../service/impl/SysLogServiceImpl.java | 167 ++++ .../main/resources/mapper/SysLogMapper.xml | 69 ++ eladmin/eladmin-system/pom.xml | 108 +++ .../src/main/java/me/zhengjie/AppRun.java | 64 ++ .../me/zhengjie/config/ConfigurerAdapter.java | 88 ++ .../me/zhengjie/config/WebSocketConfig.java | 33 + .../config/thread/AsyncTaskProperties.java | 59 ++ .../config/thread/CustomExecutorConfig.java | 52 ++ .../me/zhengjie/modules/mnt/domain/App.java | 67 ++ .../zhengjie/modules/mnt/domain/Database.java | 57 ++ .../zhengjie/modules/mnt/domain/Deploy.java | 67 ++ .../modules/mnt/domain/DeployHistory.java | 60 ++ .../zhengjie/modules/mnt/domain/Server.java | 79 ++ .../mnt/domain/vo/AppQueryCriteria.java | 32 + .../mnt/domain/vo/DatabaseQueryCriteria.java | 34 + .../domain/vo/DeployHistoryQueryCriteria.java | 34 + .../mnt/domain/vo/DeployQueryCriteria.java | 36 + .../mnt/domain/vo/ServerQueryCriteria.java | 32 + .../modules/mnt/mapper/AppMapper.java | 39 + .../modules/mnt/mapper/DatabaseMapper.java | 39 + .../mnt/mapper/DeployHistoryMapper.java | 38 + .../modules/mnt/mapper/DeployMapper.java | 43 + .../mnt/mapper/DeployServerMapper.java | 38 + .../modules/mnt/mapper/ServerMapper.java | 39 + .../modules/mnt/rest/AppController.java | 87 ++ .../modules/mnt/rest/DatabaseController.java | 122 +++ .../modules/mnt/rest/DeployController.java | 156 ++++ .../mnt/rest/DeployHistoryController.java | 67 ++ .../modules/mnt/rest/ServerController.java | 95 ++ .../modules/mnt/service/AppService.java | 74 ++ .../modules/mnt/service/DatabaseService.java | 80 ++ .../mnt/service/DeployHistoryService.java | 67 ++ .../modules/mnt/service/DeployService.java | 108 +++ .../modules/mnt/service/ServerService.java | 88 ++ .../mnt/service/impl/AppServiceImpl.java | 120 +++ .../mnt/service/impl/DatabaseServiceImpl.java | 103 +++ .../impl/DeployHistoryServiceImpl.java | 85 ++ .../mnt/service/impl/DeployServiceImpl.java | 428 +++++++++ .../mnt/service/impl/ServerServiceImpl.java | 114 +++ .../modules/mnt/util/DataTypeEnum.java | 140 +++ .../modules/mnt/util/ExecuteShellUtil.java | 101 ++ .../modules/mnt/util/ScpClientUtil.java | 105 +++ .../zhengjie/modules/mnt/util/SqlUtils.java | 201 ++++ .../modules/mnt/websocket/MsgType.java | 31 + .../modules/mnt/websocket/SocketMsg.java | 33 + .../mnt/websocket/WebSocketServer.java | 139 +++ .../modules/quartz/config/JobRunner.java | 51 ++ .../modules/quartz/config/QuartzConfig.java | 52 ++ .../modules/quartz/domain/QuartzJob.java | 85 ++ .../modules/quartz/domain/QuartzLog.java | 63 ++ .../domain/vo/QuartzJobQueryCriteria.java | 34 + .../quartz/mapper/QuartzJobMapper.java | 41 + .../quartz/mapper/QuartzLogMapper.java | 38 + .../quartz/rest/QuartzJobController.java | 139 +++ .../quartz/service/QuartzJobService.java | 116 +++ .../service/impl/QuartzJobServiceImpl.java | 194 ++++ .../modules/quartz/task/TestTask.java | 41 + .../modules/quartz/utils/ExecutionJob.java | 133 +++ .../modules/quartz/utils/QuartzManage.java | 173 ++++ .../modules/quartz/utils/QuartzRunnable.java | 58 ++ .../config/ConfigBeanConfiguration.java | 43 + .../security/config/SpringSecurityConfig.java | 188 ++++ .../security/config/bean/LoginCode.java | 61 ++ .../security/config/bean/LoginCodeEnum.java | 43 + .../security/config/bean/LoginProperties.java | 125 +++ .../config/bean/SecurityProperties.java | 72 ++ .../rest/AuthorizationController.java | 147 +++ .../security/rest/OnlineController.java | 68 ++ .../security/JwtAccessDeniedHandler.java | 37 + .../security/JwtAuthenticationEntryPoint.java | 39 + .../security/security/TokenConfigurer.java | 43 + .../security/security/TokenFilter.java | 108 +++ .../security/security/TokenProvider.java | 123 +++ .../security/service/OnlineUserService.java | 191 ++++ .../security/service/UserCacheManager.java | 82 ++ .../service/UserDetailsServiceImpl.java | 72 ++ .../security/service/dto/AuthUserDto.java | 39 + .../security/service/dto/AuthorityDto.java | 34 + .../security/service/dto/JwtUserDto.java | 80 ++ .../security/service/dto/OnlineUserDto.java | 73 ++ .../zhengjie/modules/system/domain/Dept.java | 104 +++ .../zhengjie/modules/system/domain/Dict.java | 54 ++ .../modules/system/domain/DictDetail.java | 58 ++ .../zhengjie/modules/system/domain/Job.java | 72 ++ .../zhengjie/modules/system/domain/Menu.java | 123 +++ .../zhengjie/modules/system/domain/Role.java | 89 ++ .../zhengjie/modules/system/domain/User.java | 120 +++ .../system/domain/vo/DeptQueryCriteria.java | 40 + .../domain/vo/DictDetailQueryCriteria.java | 30 + .../system/domain/vo/DictQueryCriteria.java | 32 + .../system/domain/vo/JobQueryCriteria.java | 36 + .../modules/system/domain/vo/MenuMetaVo.java | 35 + .../system/domain/vo/MenuQueryCriteria.java | 36 + .../modules/system/domain/vo/MenuVo.java | 47 + .../system/domain/vo/RoleQueryCriteria.java | 36 + .../modules/system/domain/vo/UserPassVo.java | 31 + .../system/domain/vo/UserQueryCriteria.java | 47 + .../modules/system/mapper/DeptMapper.java | 47 + .../system/mapper/DictDetailMapper.java | 40 + .../modules/system/mapper/DictMapper.java | 37 + .../modules/system/mapper/JobMapper.java | 41 + .../modules/system/mapper/MenuMapper.java | 54 ++ .../modules/system/mapper/RoleDeptMapper.java | 34 + .../modules/system/mapper/RoleMapper.java | 54 ++ .../modules/system/mapper/RoleMenuMapper.java | 36 + .../modules/system/mapper/UserJobMapper.java | 34 + .../modules/system/mapper/UserMapper.java | 65 ++ .../modules/system/mapper/UserRoleMapper.java | 34 + .../modules/system/rest/DeptController.java | 116 +++ .../modules/system/rest/DictController.java | 99 ++ .../system/rest/DictDetailController.java | 95 ++ .../modules/system/rest/JobController.java | 94 ++ .../modules/system/rest/LimitController.java | 47 + .../modules/system/rest/MenuController.java | 144 +++ .../system/rest/MonitorController.java | 45 + .../modules/system/rest/RoleController.java | 152 +++ .../modules/system/rest/UserController.java | 200 ++++ .../modules/system/rest/VerifyController.java | 76 ++ .../modules/system/service/DataService.java | 34 + .../modules/system/service/DeptService.java | 124 +++ .../system/service/DictDetailService.java | 63 ++ .../modules/system/service/DictService.java | 74 ++ .../modules/system/service/JobService.java | 87 ++ .../modules/system/service/MenuService.java | 117 +++ .../system/service/MonitorService.java | 31 + .../modules/system/service/RoleService.java | 128 +++ .../modules/system/service/UserService.java | 127 +++ .../modules/system/service/VerifyService.java | 41 + .../system/service/impl/DataServiceImpl.java | 90 ++ .../system/service/impl/DeptServiceImpl.java | 276 ++++++ .../service/impl/DictDetailServiceImpl.java | 93 ++ .../system/service/impl/DictServiceImpl.java | 123 +++ .../system/service/impl/JobServiceImpl.java | 119 +++ .../system/service/impl/MenuServiceImpl.java | 344 +++++++ .../service/impl/MonitorServiceImpl.java | 192 ++++ .../system/service/impl/RoleServiceImpl.java | 221 +++++ .../system/service/impl/UserServiceImpl.java | 281 ++++++ .../service/impl/VerifyServiceImpl.java | 81 ++ .../src/main/resources/banner.txt | 8 + .../main/resources/config/application-dev.yml | 121 +++ .../resources/config/application-prod.yml | 125 +++ .../src/main/resources/config/application.yml | 58 ++ .../src/main/resources/generator.properties | 27 + .../main/resources/log4jdbc.log4j2.properties | 4 + .../src/main/resources/logback.xml | 45 + .../main/resources/mapper/mnt/AppMapper.xml | 37 + .../resources/mapper/mnt/DatabaseMapper.xml | 36 + .../mapper/mnt/DeployHistoryMapper.xml | 39 + .../resources/mapper/mnt/DeployMapper.xml | 82 ++ .../mapper/mnt/DeployServerMapper.xml | 33 + .../resources/mapper/mnt/ServerMapper.xml | 47 + .../mapper/quartz/QuartzJobMapper.xml | 49 + .../mapper/quartz/QuartzLogMapper.xml | 40 + .../resources/mapper/system/DeptMapper.xml | 70 ++ .../mapper/system/DictDetailMapper.xml | 53 ++ .../resources/mapper/system/DictMapper.xml | 59 ++ .../resources/mapper/system/JobMapper.xml | 36 + .../resources/mapper/system/MenuMapper.xml | 79 ++ .../mapper/system/RoleDeptMapper.xml | 25 + .../resources/mapper/system/RoleMapper.xml | 115 +++ .../mapper/system/RoleMenuMapper.xml | 30 + .../resources/mapper/system/UserJobMapper.xml | 25 + .../resources/mapper/system/UserMapper.xml | 172 ++++ .../mapper/system/UserRoleMapper.xml | 25 + .../src/main/resources/template/email.ftl | 48 + .../src/main/resources/template/taskAlarm.ftl | 69 ++ .../EladminSystemApplicationTests.java | 16 + eladmin/eladmin-tools/pom.xml | 50 + .../java/me/zhengjie/domain/AlipayConfig.java | 74 ++ .../java/me/zhengjie/domain/EmailConfig.java | 57 ++ .../java/me/zhengjie/domain/LocalStorage.java | 72 ++ .../java/me/zhengjie/domain/QiniuConfig.java | 68 ++ .../java/me/zhengjie/domain/QiniuContent.java | 59 ++ .../java/me/zhengjie/domain/vo/EmailVo.java | 44 + .../domain/vo/LocalStorageQueryCriteria.java | 32 + .../domain/vo/QiniuQueryCriteria.java | 32 + .../java/me/zhengjie/domain/vo/TradeVo.java | 63 ++ .../zhengjie/mapper/AliPayConfigMapper.java | 30 + .../me/zhengjie/mapper/EmailConfigMapper.java | 30 + .../zhengjie/mapper/LocalStorageMapper.java | 38 + .../me/zhengjie/mapper/QiniuConfigMapper.java | 31 + .../zhengjie/mapper/QiniuContentMapper.java | 41 + .../me/zhengjie/rest/AliPayController.java | 135 +++ .../me/zhengjie/rest/EmailController.java | 63 ++ .../zhengjie/rest/LocalStorageController.java | 98 ++ .../me/zhengjie/rest/QiniuController.java | 124 +++ .../me/zhengjie/service/AliPayService.java | 58 ++ .../me/zhengjie/service/EmailService.java | 50 + .../zhengjie/service/LocalStorageService.java | 75 ++ .../zhengjie/service/QiNiuConfigService.java | 44 + .../zhengjie/service/QiniuContentService.java | 92 ++ .../service/impl/AliPayServiceImpl.java | 118 +++ .../service/impl/EmailServiceImpl.java | 104 +++ .../service/impl/LocalStorageServiceImpl.java | 124 +++ .../service/impl/QiNiuConfigServiceImpl.java | 66 ++ .../service/impl/QiniuContentServiceImpl.java | 203 ++++ .../me/zhengjie/utils/AliPayStatusEnum.java | 46 + .../java/me/zhengjie/utils/AlipayUtils.java | 85 ++ .../java/me/zhengjie/utils/QiNiuUtil.java | 71 ++ .../resources/mapper/LocalStorageMapper.xml | 41 + .../resources/mapper/QiniuContentMapper.xml | 41 + eladmin/pom.xml | 230 +++++ sql/eladmin.sql | 825 +++++++++++++++++ sql/tool_picture.sql | 2 + sql/脚本如何选择.md | 11 + 576 files changed, 43334 insertions(+) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 eladmin-web/.editorconfig create mode 100644 eladmin-web/.env.development create mode 100644 eladmin-web/.env.production create mode 100644 eladmin-web/.eslintignore create mode 100644 eladmin-web/.eslintrc.js create mode 100644 eladmin-web/.gitignore create mode 100644 eladmin-web/.travis.yml create mode 100644 eladmin-web/LICENSE create mode 100644 eladmin-web/README.md create mode 100644 eladmin-web/babel.config.js create mode 100644 eladmin-web/jest.config.js create mode 100644 eladmin-web/package.json create mode 100644 eladmin-web/plopfile.js create mode 100644 eladmin-web/postcss.config.js create mode 100644 eladmin-web/public/favicon.ico create mode 100644 eladmin-web/public/index.html create mode 100644 eladmin-web/public/robots.txt create mode 100644 eladmin-web/src/App.vue create mode 100644 eladmin-web/src/api/data.js create mode 100644 eladmin-web/src/api/generator/genConfig.js create mode 100644 eladmin-web/src/api/generator/generator.js create mode 100644 eladmin-web/src/api/login.js create mode 100644 eladmin-web/src/api/mnt/app.js create mode 100644 eladmin-web/src/api/mnt/connect.js create mode 100644 eladmin-web/src/api/mnt/database.js create mode 100644 eladmin-web/src/api/mnt/deploy.js create mode 100644 eladmin-web/src/api/mnt/deployHistory.js create mode 100644 eladmin-web/src/api/mnt/serverDeploy.js create mode 100644 eladmin-web/src/api/monitor/log.js create mode 100644 eladmin-web/src/api/monitor/online.js create mode 100644 eladmin-web/src/api/system/code.js create mode 100644 eladmin-web/src/api/system/dept.js create mode 100644 eladmin-web/src/api/system/dict.js create mode 100644 eladmin-web/src/api/system/dictDetail.js create mode 100644 eladmin-web/src/api/system/job.js create mode 100644 eladmin-web/src/api/system/menu.js create mode 100644 eladmin-web/src/api/system/role.js create mode 100644 eladmin-web/src/api/system/timing.js create mode 100644 eladmin-web/src/api/system/user.js create mode 100644 eladmin-web/src/api/tools/alipay.js create mode 100644 eladmin-web/src/api/tools/email.js create mode 100644 eladmin-web/src/api/tools/localStorage.js create mode 100644 eladmin-web/src/api/tools/qiniu.js create mode 100644 eladmin-web/src/assets/401_images/401.gif create mode 100644 eladmin-web/src/assets/404_images/404.png create mode 100644 eladmin-web/src/assets/404_images/404_cloud.png create mode 100644 eladmin-web/src/assets/icons/index.js create mode 100644 eladmin-web/src/assets/icons/svg/Steve-Jobs.svg create mode 100644 eladmin-web/src/assets/icons/svg/alipay.svg create mode 100644 eladmin-web/src/assets/icons/svg/anq.svg create mode 100644 eladmin-web/src/assets/icons/svg/app.svg create mode 100644 eladmin-web/src/assets/icons/svg/backup.svg create mode 100644 eladmin-web/src/assets/icons/svg/blog.svg create mode 100644 eladmin-web/src/assets/icons/svg/chain.svg create mode 100644 eladmin-web/src/assets/icons/svg/chart.svg create mode 100644 eladmin-web/src/assets/icons/svg/codeConsole.svg create mode 100644 eladmin-web/src/assets/icons/svg/dashboard.svg create mode 100644 eladmin-web/src/assets/icons/svg/database.svg create mode 100644 eladmin-web/src/assets/icons/svg/date.svg create mode 100644 eladmin-web/src/assets/icons/svg/deploy.svg create mode 100644 eladmin-web/src/assets/icons/svg/dept.svg create mode 100644 eladmin-web/src/assets/icons/svg/dev.svg create mode 100644 eladmin-web/src/assets/icons/svg/develop.svg create mode 100644 eladmin-web/src/assets/icons/svg/dictionary.svg create mode 100644 eladmin-web/src/assets/icons/svg/doc.svg create mode 100644 eladmin-web/src/assets/icons/svg/download.svg create mode 100644 eladmin-web/src/assets/icons/svg/edit.svg create mode 100644 eladmin-web/src/assets/icons/svg/education.svg create mode 100644 eladmin-web/src/assets/icons/svg/email.svg create mode 100644 eladmin-web/src/assets/icons/svg/error.svg create mode 100644 eladmin-web/src/assets/icons/svg/exit-fullscreen.svg create mode 100644 eladmin-web/src/assets/icons/svg/fullscreen.svg create mode 100644 eladmin-web/src/assets/icons/svg/fwb.svg create mode 100644 eladmin-web/src/assets/icons/svg/github.svg create mode 100644 eladmin-web/src/assets/icons/svg/gonggao.svg create mode 100644 eladmin-web/src/assets/icons/svg/icon.svg create mode 100644 eladmin-web/src/assets/icons/svg/image.svg create mode 100644 eladmin-web/src/assets/icons/svg/index.svg create mode 100644 eladmin-web/src/assets/icons/svg/international.svg create mode 100644 eladmin-web/src/assets/icons/svg/ipvisits.svg create mode 100644 eladmin-web/src/assets/icons/svg/java.svg create mode 100644 eladmin-web/src/assets/icons/svg/link.svg create mode 100644 eladmin-web/src/assets/icons/svg/list.svg create mode 100644 eladmin-web/src/assets/icons/svg/lock.svg create mode 100644 eladmin-web/src/assets/icons/svg/log.svg create mode 100644 eladmin-web/src/assets/icons/svg/login.svg create mode 100644 eladmin-web/src/assets/icons/svg/markdown.svg create mode 100644 eladmin-web/src/assets/icons/svg/menu.svg create mode 100644 eladmin-web/src/assets/icons/svg/message.svg create mode 100644 eladmin-web/src/assets/icons/svg/mnt.svg create mode 100644 eladmin-web/src/assets/icons/svg/money.svg create mode 100644 eladmin-web/src/assets/icons/svg/monitor.svg create mode 100644 eladmin-web/src/assets/icons/svg/nested.svg create mode 100644 eladmin-web/src/assets/icons/svg/password.svg create mode 100644 eladmin-web/src/assets/icons/svg/people.svg create mode 100644 eladmin-web/src/assets/icons/svg/peoples.svg create mode 100644 eladmin-web/src/assets/icons/svg/permission.svg create mode 100644 eladmin-web/src/assets/icons/svg/phone.svg create mode 100644 eladmin-web/src/assets/icons/svg/qiniu.svg create mode 100644 eladmin-web/src/assets/icons/svg/redis.svg create mode 100644 eladmin-web/src/assets/icons/svg/role.svg create mode 100644 eladmin-web/src/assets/icons/svg/search.svg create mode 100644 eladmin-web/src/assets/icons/svg/server.svg create mode 100644 eladmin-web/src/assets/icons/svg/shopping.svg create mode 100644 eladmin-web/src/assets/icons/svg/size.svg create mode 100644 eladmin-web/src/assets/icons/svg/skill.svg create mode 100644 eladmin-web/src/assets/icons/svg/source.svg create mode 100644 eladmin-web/src/assets/icons/svg/sqlMonitor.svg create mode 100644 eladmin-web/src/assets/icons/svg/swagger.svg create mode 100644 eladmin-web/src/assets/icons/svg/sys-tools.svg create mode 100644 eladmin-web/src/assets/icons/svg/system.svg create mode 100644 eladmin-web/src/assets/icons/svg/system1.svg create mode 100644 eladmin-web/src/assets/icons/svg/tab.svg create mode 100644 eladmin-web/src/assets/icons/svg/theme.svg create mode 100644 eladmin-web/src/assets/icons/svg/timing.svg create mode 100644 eladmin-web/src/assets/icons/svg/tools.svg create mode 100644 eladmin-web/src/assets/icons/svg/tree-table.svg create mode 100644 eladmin-web/src/assets/icons/svg/tree.svg create mode 100644 eladmin-web/src/assets/icons/svg/unlock.svg create mode 100644 eladmin-web/src/assets/icons/svg/user.svg create mode 100644 eladmin-web/src/assets/icons/svg/user1.svg create mode 100644 eladmin-web/src/assets/icons/svg/validCode.svg create mode 100644 eladmin-web/src/assets/icons/svg/visits.svg create mode 100644 eladmin-web/src/assets/icons/svg/web.svg create mode 100644 eladmin-web/src/assets/icons/svg/wechat.svg create mode 100644 eladmin-web/src/assets/icons/svg/weixin.svg create mode 100644 eladmin-web/src/assets/icons/svg/zujian.svg create mode 100644 eladmin-web/src/assets/icons/svgo.yml create mode 100644 eladmin-web/src/assets/images/avatar.png create mode 100644 eladmin-web/src/assets/images/background.webp create mode 100644 eladmin-web/src/assets/images/logo.png create mode 100644 eladmin-web/src/assets/styles/btn.scss create mode 100644 eladmin-web/src/assets/styles/eladmin.scss create mode 100644 eladmin-web/src/assets/styles/element-ui.scss create mode 100644 eladmin-web/src/assets/styles/element-variables.scss create mode 100644 eladmin-web/src/assets/styles/index.scss create mode 100644 eladmin-web/src/assets/styles/mixin.scss create mode 100644 eladmin-web/src/assets/styles/sidebar.scss create mode 100644 eladmin-web/src/assets/styles/transition.scss create mode 100644 eladmin-web/src/assets/styles/variables.scss create mode 100644 eladmin-web/src/components/Breadcrumb/index.vue create mode 100644 eladmin-web/src/components/Crud/CRUD.operation.vue create mode 100644 eladmin-web/src/components/Crud/Pagination.vue create mode 100644 eladmin-web/src/components/Crud/RR.operation.vue create mode 100644 eladmin-web/src/components/Crud/UD.operation.vue create mode 100644 eladmin-web/src/components/Crud/crud.js create mode 100644 eladmin-web/src/components/DateRangePicker/index.vue create mode 100644 eladmin-web/src/components/Dict/Dict.js create mode 100644 eladmin-web/src/components/Dict/index.js create mode 100644 eladmin-web/src/components/Doc/index.vue create mode 100644 eladmin-web/src/components/Echarts/BarChart.vue create mode 100644 eladmin-web/src/components/Echarts/Category.vue create mode 100644 eladmin-web/src/components/Echarts/Funnel.vue create mode 100644 eladmin-web/src/components/Echarts/Gauge.vue create mode 100644 eladmin-web/src/components/Echarts/Graph.vue create mode 100644 eladmin-web/src/components/Echarts/HeatMap.vue create mode 100644 eladmin-web/src/components/Echarts/PieChart.vue create mode 100644 eladmin-web/src/components/Echarts/Point.vue create mode 100644 eladmin-web/src/components/Echarts/RadarChart.vue create mode 100644 eladmin-web/src/components/Echarts/Rich.vue create mode 100644 eladmin-web/src/components/Echarts/Sankey.vue create mode 100644 eladmin-web/src/components/Echarts/Scatter.vue create mode 100644 eladmin-web/src/components/Echarts/Sunburst.vue create mode 100644 eladmin-web/src/components/Echarts/ThemeRiver.vue create mode 100644 eladmin-web/src/components/GithubCorner/index.vue create mode 100644 eladmin-web/src/components/Hamburger/index.vue create mode 100644 eladmin-web/src/components/HeaderSearch/index.vue create mode 100644 eladmin-web/src/components/IconSelect/index.vue create mode 100644 eladmin-web/src/components/IconSelect/requireIcons.js create mode 100644 eladmin-web/src/components/Iframe/index.vue create mode 100644 eladmin-web/src/components/JavaEdit/index.vue create mode 100644 eladmin-web/src/components/Pagination/index.vue create mode 100644 eladmin-web/src/components/PanThumb/index.vue create mode 100644 eladmin-web/src/components/ParentView/index.vue create mode 100644 eladmin-web/src/components/Permission/index.js create mode 100644 eladmin-web/src/components/Permission/permission.js create mode 100644 eladmin-web/src/components/RightPanel/index.vue create mode 100644 eladmin-web/src/components/Screenfull/index.vue create mode 100644 eladmin-web/src/components/SizeSelect/index.vue create mode 100644 eladmin-web/src/components/SvgIcon/index.vue create mode 100644 eladmin-web/src/components/ThemePicker/index.vue create mode 100644 eladmin-web/src/components/UploadExcel/index.vue create mode 100644 eladmin-web/src/components/YamlEdit/index.vue create mode 100644 eladmin-web/src/layout/components/AppMain.vue create mode 100644 eladmin-web/src/layout/components/Navbar.vue create mode 100644 eladmin-web/src/layout/components/Settings/index.vue create mode 100644 eladmin-web/src/layout/components/Sidebar/FixiOSBug.js create mode 100644 eladmin-web/src/layout/components/Sidebar/Item.vue create mode 100644 eladmin-web/src/layout/components/Sidebar/Link.vue create mode 100644 eladmin-web/src/layout/components/Sidebar/Logo.vue create mode 100644 eladmin-web/src/layout/components/Sidebar/SidebarItem.vue create mode 100644 eladmin-web/src/layout/components/Sidebar/index.vue create mode 100644 eladmin-web/src/layout/components/TagsView/ScrollPane.vue create mode 100644 eladmin-web/src/layout/components/TagsView/index.vue create mode 100644 eladmin-web/src/layout/components/index.js create mode 100644 eladmin-web/src/layout/index.vue create mode 100644 eladmin-web/src/layout/mixin/ResizeHandler.js create mode 100644 eladmin-web/src/main.js create mode 100644 eladmin-web/src/mixins/crud.js create mode 100644 eladmin-web/src/router/index.js create mode 100644 eladmin-web/src/router/routers.js create mode 100644 eladmin-web/src/settings.js create mode 100644 eladmin-web/src/store/getters.js create mode 100644 eladmin-web/src/store/index.js create mode 100644 eladmin-web/src/store/modules/api.js create mode 100644 eladmin-web/src/store/modules/app.js create mode 100644 eladmin-web/src/store/modules/permission.js create mode 100644 eladmin-web/src/store/modules/settings.js create mode 100644 eladmin-web/src/store/modules/tagsView.js create mode 100644 eladmin-web/src/store/modules/user.js create mode 100644 eladmin-web/src/utils/auth.js create mode 100644 eladmin-web/src/utils/clipboard.js create mode 100644 eladmin-web/src/utils/datetime.js create mode 100644 eladmin-web/src/utils/index.js create mode 100644 eladmin-web/src/utils/permission.js create mode 100644 eladmin-web/src/utils/request.js create mode 100644 eladmin-web/src/utils/rsaEncrypt.js create mode 100644 eladmin-web/src/utils/shortcuts.js create mode 100644 eladmin-web/src/utils/upload.js create mode 100644 eladmin-web/src/utils/validate.js create mode 100644 eladmin-web/src/views/components/Echarts.vue create mode 100644 eladmin-web/src/views/components/Editor.vue create mode 100644 eladmin-web/src/views/components/MarkDown.vue create mode 100644 eladmin-web/src/views/components/YamlEdit.vue create mode 100644 eladmin-web/src/views/components/excel/upload-excel.vue create mode 100644 eladmin-web/src/views/components/icons/element-icons.js create mode 100644 eladmin-web/src/views/components/icons/index.vue create mode 100644 eladmin-web/src/views/components/icons/svg-icons.js create mode 100644 eladmin-web/src/views/dashboard/LineChart.vue create mode 100644 eladmin-web/src/views/dashboard/PanelGroup.vue create mode 100644 eladmin-web/src/views/dashboard/mixins/resize.js create mode 100644 eladmin-web/src/views/features/401.vue create mode 100644 eladmin-web/src/views/features/404.vue create mode 100644 eladmin-web/src/views/features/redirect.vue create mode 100644 eladmin-web/src/views/generator/config.vue create mode 100644 eladmin-web/src/views/generator/index.vue create mode 100644 eladmin-web/src/views/generator/preview.vue create mode 100644 eladmin-web/src/views/home.vue create mode 100644 eladmin-web/src/views/login.vue create mode 100644 eladmin-web/src/views/mnt/app/index.vue create mode 100644 eladmin-web/src/views/mnt/database/execute.vue create mode 100644 eladmin-web/src/views/mnt/database/index.vue create mode 100644 eladmin-web/src/views/mnt/deploy/deploy.vue create mode 100644 eladmin-web/src/views/mnt/deploy/index.vue create mode 100644 eladmin-web/src/views/mnt/deploy/sysRestore.vue create mode 100644 eladmin-web/src/views/mnt/deployHistory/index.vue create mode 100644 eladmin-web/src/views/mnt/server/index.vue create mode 100644 eladmin-web/src/views/monitor/log/errorLog.vue create mode 100644 eladmin-web/src/views/monitor/log/index.vue create mode 100644 eladmin-web/src/views/monitor/log/search.vue create mode 100644 eladmin-web/src/views/monitor/online/index.vue create mode 100644 eladmin-web/src/views/monitor/server/index.vue create mode 100644 eladmin-web/src/views/monitor/sql/index.vue create mode 100644 eladmin-web/src/views/nested/menu1/menu1-1/index.vue create mode 100644 eladmin-web/src/views/nested/menu1/menu1-2/index.vue create mode 100644 eladmin-web/src/views/nested/menu2/index.vue create mode 100644 eladmin-web/src/views/system/dept/index.vue create mode 100644 eladmin-web/src/views/system/dict/dictDetail.vue create mode 100644 eladmin-web/src/views/system/dict/index.vue create mode 100644 eladmin-web/src/views/system/job/index.vue create mode 100644 eladmin-web/src/views/system/job/module/form.vue create mode 100644 eladmin-web/src/views/system/job/module/header.vue create mode 100644 eladmin-web/src/views/system/menu/index.vue create mode 100644 eladmin-web/src/views/system/role/index.vue create mode 100644 eladmin-web/src/views/system/timing/index.vue create mode 100644 eladmin-web/src/views/system/timing/log.vue create mode 100644 eladmin-web/src/views/system/user/center.vue create mode 100644 eladmin-web/src/views/system/user/center/updateEmail.vue create mode 100644 eladmin-web/src/views/system/user/center/updatePass.vue create mode 100644 eladmin-web/src/views/system/user/index.vue create mode 100644 eladmin-web/src/views/tools/aliPay/config.vue create mode 100644 eladmin-web/src/views/tools/aliPay/index.vue create mode 100644 eladmin-web/src/views/tools/aliPay/toPay.vue create mode 100644 eladmin-web/src/views/tools/email/config.vue create mode 100644 eladmin-web/src/views/tools/email/index.vue create mode 100644 eladmin-web/src/views/tools/email/send.vue create mode 100644 eladmin-web/src/views/tools/storage/index.vue create mode 100644 eladmin-web/src/views/tools/storage/local/index.vue create mode 100644 eladmin-web/src/views/tools/storage/qiniu/form.vue create mode 100644 eladmin-web/src/views/tools/storage/qiniu/index.vue create mode 100644 eladmin-web/src/views/tools/swagger/index.vue create mode 100644 eladmin-web/vue.config.js create mode 100644 eladmin/.gitignore create mode 100644 eladmin/LICENSE create mode 100644 eladmin/README.md create mode 100644 eladmin/eladmin-common/pom.xml create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/annotation/AnonymousAccess.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/annotation/Limit.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousDeleteMapping.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousGetMapping.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPatchMapping.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPostMapping.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/annotation/rest/AnonymousPutMapping.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/aspect/LimitAspect.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/aspect/LimitType.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/base/BaseDTO.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/base/BaseEntity.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/config/AuditorConfig.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/config/AuthorityConfig.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/config/FileProperties.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/config/MultipartConfig.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/config/RedisConfig.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/config/RsaProperties.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/config/SwaggerConfig.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/config/mybatis/MyMetaObjectHandler.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/config/mybatis/MybatisPlusConfig.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/exception/BadConfigurationException.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/exception/BadRequestException.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/exception/EntityExistException.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/exception/EntityNotFoundException.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/exception/handler/ApiError.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/exception/handler/GlobalExceptionHandler.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/CacheKey.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/CallBack.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/CloseUtil.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/DateUtil.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/ElConstant.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/EncryptUtils.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/PageUtil.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/RedisUtils.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/RequestHolder.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/RsaUtils.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/SecurityUtils.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/SpringContextHolder.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/ThrowableUtil.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/TranslatorUtil.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/enums/CodeBiEnum.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/enums/CodeEnum.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/enums/DataScopeEnum.java create mode 100644 eladmin/eladmin-common/src/main/java/me/zhengjie/utils/enums/RequestMethodEnum.java create mode 100644 eladmin/eladmin-common/src/test/java/me/zhengjie/utils/DateUtilsTest.java create mode 100644 eladmin/eladmin-common/src/test/java/me/zhengjie/utils/EncryptUtilsTest.java create mode 100644 eladmin/eladmin-common/src/test/java/me/zhengjie/utils/FileUtilTest.java create mode 100644 eladmin/eladmin-common/src/test/java/me/zhengjie/utils/StringUtilsTest.java create mode 100644 eladmin/eladmin-generator/pom.xml create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/domain/ColumnInfo.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/domain/GenConfig.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/domain/vo/TableInfo.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/mapper/ColumnInfoMapper.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/mapper/GenConfigMapper.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/rest/GenConfigController.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/rest/GeneratorController.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/service/GenConfigService.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/service/GeneratorService.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/service/impl/GenConfigServiceImpl.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/service/impl/GeneratorServiceImpl.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/utils/ColUtil.java create mode 100644 eladmin/eladmin-generator/src/main/java/me/zhengjie/utils/GenUtil.java create mode 100644 eladmin/eladmin-generator/src/main/resources/mapper/ColumnInfoMapper.xml create mode 100644 eladmin/eladmin-generator/src/main/resources/mapper/GenConfigMapper.xml create mode 100644 eladmin/eladmin-generator/src/main/resources/template/admin/Controller.ftl create mode 100644 eladmin/eladmin-generator/src/main/resources/template/admin/Entity.ftl create mode 100644 eladmin/eladmin-generator/src/main/resources/template/admin/Mapper-xml.ftl create mode 100644 eladmin/eladmin-generator/src/main/resources/template/admin/Mapper.ftl create mode 100644 eladmin/eladmin-generator/src/main/resources/template/admin/QueryCriteria.ftl create mode 100644 eladmin/eladmin-generator/src/main/resources/template/admin/Service.ftl create mode 100644 eladmin/eladmin-generator/src/main/resources/template/admin/ServiceImpl.ftl create mode 100644 eladmin/eladmin-generator/src/main/resources/template/front/api.ftl create mode 100644 eladmin/eladmin-generator/src/main/resources/template/front/index.ftl create mode 100644 eladmin/eladmin-logging/pom.xml create mode 100644 eladmin/eladmin-logging/src/main/java/me/zhengjie/annotation/Log.java create mode 100644 eladmin/eladmin-logging/src/main/java/me/zhengjie/aspect/LogAspect.java create mode 100644 eladmin/eladmin-logging/src/main/java/me/zhengjie/domain/SysLog.java create mode 100644 eladmin/eladmin-logging/src/main/java/me/zhengjie/domain/vo/SysLogQueryCriteria.java create mode 100644 eladmin/eladmin-logging/src/main/java/me/zhengjie/mapper/SysLogMapper.java create mode 100644 eladmin/eladmin-logging/src/main/java/me/zhengjie/rest/SysLogController.java create mode 100644 eladmin/eladmin-logging/src/main/java/me/zhengjie/service/SysLogService.java create mode 100644 eladmin/eladmin-logging/src/main/java/me/zhengjie/service/impl/SysLogServiceImpl.java create mode 100644 eladmin/eladmin-logging/src/main/resources/mapper/SysLogMapper.xml create mode 100644 eladmin/eladmin-system/pom.xml create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/AppRun.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/config/ConfigurerAdapter.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/config/WebSocketConfig.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/config/thread/AsyncTaskProperties.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/config/thread/CustomExecutorConfig.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/App.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/Database.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/Deploy.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/DeployHistory.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/Server.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/vo/AppQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/vo/DatabaseQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/vo/DeployHistoryQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/vo/DeployQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/domain/vo/ServerQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/mapper/AppMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/mapper/DatabaseMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/mapper/DeployHistoryMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/mapper/DeployMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/mapper/DeployServerMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/mapper/ServerMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/AppController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DatabaseController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/DeployHistoryController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/rest/ServerController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/AppService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DatabaseService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployHistoryService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/DeployService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/ServerService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/AppServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DatabaseServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployHistoryServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/DeployServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/service/impl/ServerServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/DataTypeEnum.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ExecuteShellUtil.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/ScpClientUtil.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/util/SqlUtils.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/MsgType.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/SocketMsg.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/mnt/websocket/WebSocketServer.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/config/JobRunner.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/config/QuartzConfig.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/QuartzJob.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/QuartzLog.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/domain/vo/QuartzJobQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/mapper/QuartzJobMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/mapper/QuartzLogMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/rest/QuartzJobController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/QuartzJobService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/service/impl/QuartzJobServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/task/TestTask.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/ExecutionJob.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzManage.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/quartz/utils/QuartzRunnable.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/ConfigBeanConfiguration.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/SpringSecurityConfig.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginCode.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginCodeEnum.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/LoginProperties.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/config/bean/SecurityProperties.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/AuthorizationController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/rest/OnlineController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAccessDeniedHandler.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/security/JwtAuthenticationEntryPoint.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenConfigurer.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenFilter.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/security/TokenProvider.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/service/OnlineUserService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserCacheManager.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/service/UserDetailsServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/AuthUserDto.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/AuthorityDto.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/JwtUserDto.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/security/service/dto/OnlineUserDto.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Dept.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Dict.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/DictDetail.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Job.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Menu.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/Role.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/User.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/DeptQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/DictDetailQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/DictQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/JobQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuMetaVo.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/MenuVo.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/RoleQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/UserPassVo.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/domain/vo/UserQueryCriteria.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/mapper/DeptMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/mapper/DictDetailMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/mapper/DictMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/mapper/JobMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/mapper/MenuMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/mapper/RoleDeptMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/mapper/RoleMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/mapper/RoleMenuMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/mapper/UserJobMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/mapper/UserMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/mapper/UserRoleMapper.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DeptController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/DictDetailController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/JobController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/LimitController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MenuController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/MonitorController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/RoleController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/UserController.java create mode 100755 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/rest/VerifyController.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DataService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DeptService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictDetailService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/DictService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/JobService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MenuService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/MonitorService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/RoleService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/UserService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/VerifyService.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DataServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DeptServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictDetailServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/DictServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/JobServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MenuServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/MonitorServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/RoleServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/UserServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/java/me/zhengjie/modules/system/service/impl/VerifyServiceImpl.java create mode 100644 eladmin/eladmin-system/src/main/resources/banner.txt create mode 100644 eladmin/eladmin-system/src/main/resources/config/application-dev.yml create mode 100644 eladmin/eladmin-system/src/main/resources/config/application-prod.yml create mode 100644 eladmin/eladmin-system/src/main/resources/config/application.yml create mode 100644 eladmin/eladmin-system/src/main/resources/generator.properties create mode 100644 eladmin/eladmin-system/src/main/resources/log4jdbc.log4j2.properties create mode 100644 eladmin/eladmin-system/src/main/resources/logback.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/mnt/AppMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/mnt/DatabaseMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/mnt/DeployHistoryMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/mnt/DeployMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/mnt/DeployServerMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/mnt/ServerMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/quartz/QuartzJobMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/quartz/QuartzLogMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/system/DeptMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/system/DictDetailMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/system/DictMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/system/JobMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/system/MenuMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/system/RoleDeptMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/system/RoleMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/system/RoleMenuMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/system/UserJobMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/system/UserMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/mapper/system/UserRoleMapper.xml create mode 100644 eladmin/eladmin-system/src/main/resources/template/email.ftl create mode 100644 eladmin/eladmin-system/src/main/resources/template/taskAlarm.ftl create mode 100644 eladmin/eladmin-system/src/test/java/me/zhengjie/EladminSystemApplicationTests.java create mode 100644 eladmin/eladmin-tools/pom.xml create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/domain/AlipayConfig.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/domain/EmailConfig.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/domain/LocalStorage.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/domain/QiniuConfig.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/domain/QiniuContent.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/domain/vo/EmailVo.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/domain/vo/LocalStorageQueryCriteria.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/domain/vo/QiniuQueryCriteria.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/domain/vo/TradeVo.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/mapper/AliPayConfigMapper.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/mapper/EmailConfigMapper.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/mapper/LocalStorageMapper.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/mapper/QiniuConfigMapper.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/mapper/QiniuContentMapper.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/rest/AliPayController.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/rest/EmailController.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/rest/LocalStorageController.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/rest/QiniuController.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/service/AliPayService.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/service/EmailService.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/service/LocalStorageService.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/service/QiNiuConfigService.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/service/QiniuContentService.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/service/impl/AliPayServiceImpl.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/service/impl/EmailServiceImpl.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/service/impl/LocalStorageServiceImpl.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiNiuConfigServiceImpl.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/service/impl/QiniuContentServiceImpl.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/utils/AliPayStatusEnum.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/utils/AlipayUtils.java create mode 100644 eladmin/eladmin-tools/src/main/java/me/zhengjie/utils/QiNiuUtil.java create mode 100644 eladmin/eladmin-tools/src/main/resources/mapper/LocalStorageMapper.xml create mode 100644 eladmin/eladmin-tools/src/main/resources/mapper/QiniuContentMapper.xml create mode 100644 eladmin/pom.xml create mode 100644 sql/eladmin.sql create mode 100644 sql/tool_picture.sql create mode 100644 sql/脚本如何选择.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ca38718 --- /dev/null +++ b/LICENSE @@ -0,0 +1,191 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "{}" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright 2019-2020 Zheng Jie + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..ad80a4d --- /dev/null +++ b/README.md @@ -0,0 +1,111 @@ +
~E&;2%VL9kmUa)4k8YU#^=tbO7I*Yv!ql|6YPRozl)v
zg-=g^FV-umda+yte&H9a7s=Ql)&$$|@C30L>-Ve!v>x#rtVt _bjC<1|h{OC4ctEDL
zd;C4xRRbB@`|}&{)-GEgbooj3)-fTE0aU{sB@5$EFHtjC(<5xetF&*)v&r1y;=_LN
zC3CBZF%TgVmz
7l&E*LGzvIkuB}#nV(m&|F7BxKtMZi^Xlb+aWHCDNQ
z&^YWq$JT1R76aa@1D
o$
z@CzRgdKL-M$$K+%g8#cht`(QdgjPy74oG;_tn)EieOO^(%N7F=S27#Z^E2BLV}rhy
zVw}luf$$8QX(+GBJo{o1>Zr_05S;^NufPL6#K_a$#^6cO1(Irz_1&hA#e*xeFc6&e
z-4qs3oOmopVKoTmuFL`JSE%Ec>4I?~L9uu+G8&o(Iq17nmZ3ry$#)Vl=+JjJ4X1ui
zl0To|hm6D$yw+c&ckt++B6h@ZmH=DF;@}jyMer{n5E&6H9WV0e7EUwl@QCesg6Y;_Q3xFO6I(@t^HK>4uZrZ-1v=
zfZyG|e@Lbr^Obf8&@1RDPWm_o$JWPidyw~5Zw#}ZIoYQTKI*~V2nYLoYU0TO(e^_!
zhm$wVna*m5e^C
1M2R{PdYEQ=(S1{QJJREf%tlI-R8pkN8;~>*YGVuPs#b@rr~8BBb8&g8Gqq
z5
(d^
z!uh-f(Cyy_R|(Dwf#j6RIN{$
CPKT2lYRs*!$%32f5~tZAUb8dXbxf5
ze#e*GGv{3v%f5OA!c&JLe}$QbKmesQ_wU+EhPS{!{!@E%l=0zg*`(Ef@rd)thZ2e0
zrtMeiS&;BJ^*`ZkwsAB@(h$JUqlLG?qG{omyFl(+e-3$lG;wtZ08;yp1?GB5_u#QV
zISg-stzOdj8u$mqrKBo(`B(yhRDo&v1$