From 03c459e5a3fad985edd887f8933db0f2b4219fd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90li?= <15040126243@163.com> Date: Wed, 23 Jun 2021 10:02:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=20dev=20=E5=88=86=E6=94=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 14 +- ruoyi-ui/.env.development | 3 + ruoyi-ui/.env.production | 3 + ruoyi-ui/.env.staging | 3 + ruoyi-ui/package.json | 3 +- ruoyi-ui/src/App.vue | 10 +- ruoyi-ui/src/api/demo/demo.js | 53 +++ ruoyi-ui/src/api/demo/test.js | 53 --- ruoyi-ui/src/assets/styles/ruoyi.scss | 9 + ruoyi-ui/src/components/DictTag/index.vue | 51 +++ ruoyi-ui/src/components/Pagination/index.vue | 6 + ruoyi-ui/src/components/iFrame/index.vue | 36 ++ .../src/layout/components/Settings/index.vue | 19 +- .../src/layout/components/Sidebar/Logo.vue | 4 +- ruoyi-ui/src/main.js | 8 +- ruoyi-ui/src/permission.js | 1 + ruoyi-ui/src/settings.js | 7 +- ruoyi-ui/src/store/modules/settings.js | 11 +- .../src/views/demo/{test => demo}/index.vue | 193 ++++---- ruoyi-ui/src/views/index.vue | 2 +- ruoyi-ui/src/views/monitor/druid/index.vue | 19 +- .../src/views/monitor/logininfor/index.vue | 19 +- ruoyi-ui/src/views/monitor/operlog/index.vue | 19 +- ruoyi-ui/src/views/system/dict/data.vue | 59 ++- ruoyi-ui/src/views/system/dict/index.vue | 10 +- ruoyi-ui/src/views/system/user/index.vue | 16 +- .../views/system/user/profile/userInfo.vue | 2 +- ruoyi-ui/src/views/tool/gen/genInfoForm.vue | 2 +- ruoyi-ui/src/views/tool/swagger/index.vue | 19 +- ruoyi-ui/vue.config.js | 3 +- ruoyi/pom.xml | 69 ++- .../main/java/com/ruoyi/RuoYiApplication.java | 5 +- .../ruoyi/common/annotation/RedisLock.java | 27 -- .../com/ruoyi/common/constant/Constants.java | 5 + .../core/controller/BaseController.java | 23 - .../ruoyi/common/core/domain/BaseEntity.java | 5 +- .../{ => cache}/MybatisPlusRedisCache.java | 2 +- .../core}/BaseMapperPlus.java | 8 +- .../core}/IServicePlus.java | 21 +- .../mybatisplus/core/ServicePlusImpl.java | 90 ++++ .../core/mybatisplus/methods/InsertAll.java | 52 +++ .../ruoyi/common/core/page/PageDomain.java | 39 -- .../ruoyi/common/core/page/TableSupport.java | 49 -- .../common/core/redis/RedisLockManager.java | 170 ------- .../ruoyi/common/enums/DataSourceType.java | 30 +- .../filter/RepeatedlyRequestWrapper.java | 16 +- .../filter/XssHttpServletRequestWrapper.java | 8 +- .../com/ruoyi/common/utils/JsonUtils.java | 101 ++++ .../com/ruoyi/common/utils/PageUtils.java | 19 +- .../com/ruoyi/common/utils/ServletUtils.java | 208 ++++----- .../ruoyi/common/utils/file/FileUtils.java | 90 +--- .../ruoyi/common/utils/http/HttpHelper.java | 56 --- .../ruoyi/common/utils/http/HttpUtils.java | 262 ----------- .../ruoyi/common/utils/ip/AddressUtils.java | 83 ++-- .../com/ruoyi/common/utils/ip/IpUtils.java | 196 -------- .../common/utils/reflect/ReflectUtils.java | 432 ++---------------- .../common/utils/spring/SpringUtils.java | 179 ++------ .../java/com/ruoyi/demo/bo/TestDemoAddBo.java | 6 +- .../demo/controller/RedisLockController.java | 61 +-- .../demo/controller/TestBatchController.java | 52 +++ .../java/com/ruoyi/demo/domain/TestDemo.java | 8 +- .../java/com/ruoyi/demo/domain/TestTree.java | 6 +- .../ruoyi/demo/feign/FeignTestService.java | 10 +- .../feign/constant/FeignTestConstant.java | 9 + .../com/ruoyi/demo/mapper/TestDemoMapper.java | 5 +- .../com/ruoyi/demo/mapper/TestTreeMapper.java | 6 +- .../ruoyi/demo/service/ITestDemoService.java | 3 +- .../ruoyi/demo/service/ITestTreeService.java | 2 +- .../service/impl/TestDemoServiceImpl.java | 4 +- .../service/impl/TestTreeServiceImpl.java | 5 +- .../java/com/ruoyi/demo/vo/TestDemoVo.java | 15 +- .../java/com/ruoyi/demo/vo/TestTreeVo.java | 6 +- .../framework/aspectj/DataSourceAspect.java | 79 ++-- .../ruoyi/framework/aspectj/LogAspect.java | 46 +- .../framework/aspectj/RedisLockAspect.java | 139 ------ .../ruoyi/framework/config/AsyncConfig.java | 11 +- .../ruoyi/framework/config/DruidConfig.java | 74 +-- .../config/FastJson2JsonRedisSerializer.java | 71 --- .../ruoyi/framework/config/FeignConfig.java | 8 +- .../ruoyi/framework/config/FilterConfig.java | 2 +- .../ruoyi/framework/config/JacksonConfig.java | 48 ++ .../framework/config/MybatisPlusConfig.java | 21 +- .../framework/config/ResourcesConfig.java | 5 +- .../framework/config/SecurityConfig.java | 10 +- .../config/properties/DruidProperties.java | 55 --- .../datasource/DynamicDataSource.java | 26 -- .../DynamicDataSourceContextHolder.java | 45 -- .../interceptor/RepeatSubmitInterceptor.java | 17 +- .../impl/SameUrlDataInterceptor.java | 21 +- .../ruoyi/framework/manager/AsyncManager.java | 55 --- .../framework/manager/ShutdownManager.java | 54 +-- .../manager/factory/AsyncFactory.java | 111 ----- .../handle/AuthenticationEntryPointImpl.java | 6 +- .../handle/LogoutSuccessHandlerImpl.java | 55 ++- .../framework/web/service/AsyncService.java | 96 ++++ .../web/service/SysLoginService.java | 20 +- .../framework/web/service/TokenService.java | 3 +- .../mapper/GenTableColumnMapper.java | 2 +- .../generator/mapper/GenTableMapper.java | 2 +- .../service/GenTableColumnServiceImpl.java | 4 +- .../service/GenTableServiceImpl.java | 41 +- .../service/IGenTableColumnService.java | 2 +- .../generator/service/IGenTableService.java | 2 +- .../com/ruoyi/generator/util/GenUtils.java | 22 +- .../ruoyi/generator/util/VelocityUtils.java | 40 +- .../quartz/controller/SysJobController.java | 16 +- .../ruoyi/quartz/mapper/SysJobLogMapper.java | 2 +- .../com/ruoyi/quartz/mapper/SysJobMapper.java | 2 +- .../quartz/service/ISysJobLogService.java | 2 +- .../ruoyi/quartz/service/ISysJobService.java | 2 +- .../service/impl/SysJobLogServiceImpl.java | 4 +- .../service/impl/SysJobServiceImpl.java | 4 +- .../ruoyi/system/mapper/SysConfigMapper.java | 2 +- .../ruoyi/system/mapper/SysDeptMapper.java | 4 +- .../system/mapper/SysDictDataMapper.java | 2 +- .../system/mapper/SysDictTypeMapper.java | 2 +- .../system/mapper/SysLogininforMapper.java | 2 +- .../ruoyi/system/mapper/SysMenuMapper.java | 2 +- .../ruoyi/system/mapper/SysNoticeMapper.java | 2 +- .../ruoyi/system/mapper/SysOperLogMapper.java | 2 +- .../ruoyi/system/mapper/SysPostMapper.java | 2 +- .../system/mapper/SysRoleDeptMapper.java | 12 +- .../ruoyi/system/mapper/SysRoleMapper.java | 2 +- .../system/mapper/SysRoleMenuMapper.java | 12 +- .../ruoyi/system/mapper/SysUserMapper.java | 2 +- .../system/mapper/SysUserPostMapper.java | 12 +- .../system/mapper/SysUserRoleMapper.java | 12 +- .../system/service/ISysConfigService.java | 2 +- .../ruoyi/system/service/ISysDeptService.java | 2 +- .../system/service/ISysDictDataService.java | 2 +- .../system/service/ISysDictTypeService.java | 2 +- .../system/service/ISysLogininforService.java | 2 +- .../ruoyi/system/service/ISysMenuService.java | 2 +- .../system/service/ISysNoticeService.java | 2 +- .../system/service/ISysOperLogService.java | 2 +- .../ruoyi/system/service/ISysPostService.java | 2 +- .../ruoyi/system/service/ISysRoleService.java | 2 +- .../ruoyi/system/service/ISysUserService.java | 2 +- .../service/impl/SysConfigServiceImpl.java | 4 +- .../service/impl/SysDeptServiceImpl.java | 60 ++- .../service/impl/SysDictDataServiceImpl.java | 4 +- .../service/impl/SysDictTypeServiceImpl.java | 4 +- .../impl/SysLogininforServiceImpl.java | 9 +- .../service/impl/SysMenuServiceImpl.java | 56 ++- .../service/impl/SysNoticeServiceImpl.java | 4 +- .../service/impl/SysOperLogServiceImpl.java | 9 +- .../service/impl/SysPostServiceImpl.java | 4 +- .../service/impl/SysRoleServiceImpl.java | 8 +- .../service/impl/SysUserServiceImpl.java | 8 +- .../controller/common/CommonController.java | 6 +- .../controller/system/SysDeptController.java | 2 +- ruoyi/src/main/resources/application-dev.yml | 34 +- ruoyi/src/main/resources/application-prod.yml | 36 +- ruoyi/src/main/resources/application.yml | 22 +- .../mapper/system/SysRoleDeptMapper.xml | 7 - .../mapper/system/SysRoleMenuMapper.xml | 7 - .../mapper/system/SysUserPostMapper.xml | 7 - .../mapper/system/SysUserRoleMapper.xml | 7 - .../main/resources/mybatis/mybatis-config.xml | 0 .../src/main/resources/vm/java/addBo.java.vm | 4 - .../src/main/resources/vm/java/domain.java.vm | 1 - .../src/main/resources/vm/java/editBo.java.vm | 4 - .../src/main/resources/vm/java/mapper.java.vm | 5 +- .../main/resources/vm/java/queryBo.java.vm | 3 - .../main/resources/vm/java/service.java.vm | 4 +- .../resources/vm/java/serviceImpl.java.vm | 6 +- ruoyi/src/main/resources/vm/java/vo.java.vm | 2 - .../main/resources/vm/vue/index-tree.vue.vm | 14 +- ruoyi/src/main/resources/vm/vue/index.vue.vm | 14 +- ry.sh | 2 +- 170 files changed, 1797 insertions(+), 2979 deletions(-) create mode 100644 ruoyi-ui/src/api/demo/demo.js delete mode 100644 ruoyi-ui/src/api/demo/test.js create mode 100644 ruoyi-ui/src/components/DictTag/index.vue create mode 100644 ruoyi-ui/src/components/iFrame/index.vue rename ruoyi-ui/src/views/demo/{test => demo}/index.vue (67%) delete mode 100644 ruoyi/src/main/java/com/ruoyi/common/annotation/RedisLock.java rename ruoyi/src/main/java/com/ruoyi/common/core/mybatisplus/{ => cache}/MybatisPlusRedisCache.java (98%) rename ruoyi/src/main/java/com/ruoyi/common/core/{page => mybatisplus/core}/BaseMapperPlus.java (55%) rename ruoyi/src/main/java/com/ruoyi/common/core/{page => mybatisplus/core}/IServicePlus.java (93%) create mode 100644 ruoyi/src/main/java/com/ruoyi/common/core/mybatisplus/core/ServicePlusImpl.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/core/mybatisplus/methods/InsertAll.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/common/core/page/PageDomain.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/common/core/page/TableSupport.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/common/core/redis/RedisLockManager.java create mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/JsonUtils.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpHelper.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java create mode 100644 ruoyi/src/main/java/com/ruoyi/demo/controller/TestBatchController.java create mode 100644 ruoyi/src/main/java/com/ruoyi/demo/feign/constant/FeignTestConstant.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/framework/aspectj/RedisLockAspect.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/JacksonConfig.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/framework/config/properties/DruidProperties.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/framework/datasource/DynamicDataSource.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/framework/datasource/DynamicDataSourceContextHolder.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/framework/manager/AsyncManager.java delete mode 100644 ruoyi/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java create mode 100644 ruoyi/src/main/java/com/ruoyi/framework/web/service/AsyncService.java delete mode 100644 ruoyi/src/main/resources/mybatis/mybatis-config.xml diff --git a/README.md b/README.md index 312f3e1fd..9c5dbd784 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ [![码云Gitee](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/badge/star.svg?theme=blue)](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus) [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/blob/master/LICENSE) [![使用IntelliJ IDEA开发维护](https://img.shields.io/badge/IntelliJ%20IDEA-提供支持-blue.svg)](https://www.jetbrains.com/?from=RuoYi-Vue-Plus) +[![JDK-8+](https://img.shields.io/badge/JDK-8-green.svg)]() +[![JDK-11](https://img.shields.io/badge/JDK-11-green.svg)]() 基于 RuoYi-Vue 集成 Mybatis-Plus Lombok Hutool 等便捷开发工具 适配重写相关业务 便于开发 定期与 RuoYi-Vue 同步 * 前端开发框架 Vue、Element UI @@ -16,9 +18,15 @@ * 监控框架 spring-boot-admin 全方位服务监控 * 校验框架 validation 增强接口安全性 严谨性 * 文档框架 knife4j 美化接口文档 +* 序列化框架 统一使用 jackson 高效可靠 * 代码生成器 一键生成前后端代码 +* 多数据源框架 dynamic-datasource 支持主从与多种类数据库异构 +* Redis客户端 采用 Redisson 性能更强 +* 分布式锁 Lock4j 注解锁、工具锁 多种多样 ## 参考文档 + +使用框架前请仔细阅读文档重点注意事项 [参考文档 Wiki](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/wikis/pages) ## 修改RuoYi功能 @@ -34,7 +42,10 @@ * 集成 Feign 接口化管理 Http 请求(如三方请求 支付,短信,推送等) * 移除 自带服务监控 改为 spring-boot-admin 全方位监控 * 增加 demo 模块示例(给不会增加模块的小伙伴做参考) -* 增加 redisson 支持分布式锁 功能更强大 +* 增加 redisson 高性能 Redis 客户端 +* 移除 fastjson 统一使用 jackson 序列化 +* 集成 dynamic-datasource 多数据源(默认支持MySQL,其他种类需自行适配) +* 集成 Lock4j 实现分布式 注解锁、工具锁 多种多样 ### 代码改动 @@ -46,6 +57,7 @@ * 项目修改为 maven多环境配置 * 项目配置修改为 application.yml 统一管理 * 数据权限修改为 适配支持单表、多表 +* 使用 redisson 实现分布式锁注解与工具类 * 使用 redisson 实现 spring-cache 整合 * 增加 mybatis-plus 二级缓存 redis 存储 diff --git a/ruoyi-ui/.env.development b/ruoyi-ui/.env.development index 28b97c7e1..abb97d464 100644 --- a/ruoyi-ui/.env.development +++ b/ruoyi-ui/.env.development @@ -1,3 +1,6 @@ +# 页面标题 +VUE_APP_TITLE = RuoYi-Vue-Plus后台管理系统 + # 开发环境配置 ENV = 'development' diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production index 27c717e97..7179b3291 100644 --- a/ruoyi-ui/.env.production +++ b/ruoyi-ui/.env.production @@ -1,3 +1,6 @@ +# 页面标题 +VUE_APP_TITLE = RuoYi-Vue-Plus后台管理系统 + # 生产环境配置 ENV = 'production' diff --git a/ruoyi-ui/.env.staging b/ruoyi-ui/.env.staging index 619573673..b5723d7b8 100644 --- a/ruoyi-ui/.env.staging +++ b/ruoyi-ui/.env.staging @@ -1,3 +1,6 @@ +# 页面标题 +VUE_APP_TITLE = RuoYi-Vue-Plus后台管理系统 + NODE_ENV = production # 测试环境配置 diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index d90fdbac6..48009bed7 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -41,7 +41,7 @@ "clipboard": "2.0.6", "core-js": "3.8.1", "echarts": "4.9.0", - "element-ui": "2.15.0", + "element-ui": "2.15.2", "file-saver": "2.0.4", "fuse.js": "6.4.3", "highlight.js": "9.18.5", @@ -55,6 +55,7 @@ "vue": "2.6.12", "vue-count-to": "1.0.13", "vue-cropper": "0.5.5", + "vue-meta": "^2.4.0", "vue-router": "3.4.9", "vuedraggable": "2.24.3", "vuex": "3.6.0" diff --git a/ruoyi-ui/src/App.vue b/ruoyi-ui/src/App.vue index e448b1130..391d951c4 100644 --- a/ruoyi-ui/src/App.vue +++ b/ruoyi-ui/src/App.vue @@ -6,6 +6,14 @@ diff --git a/ruoyi-ui/src/api/demo/demo.js b/ruoyi-ui/src/api/demo/demo.js new file mode 100644 index 000000000..fc9937df4 --- /dev/null +++ b/ruoyi-ui/src/api/demo/demo.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询测试单表列表 +export function listDemo(query) { + return request({ + url: '/demo/demo/list', + method: 'get', + params: query + }) +} + +// 查询测试单表详细 +export function getDemo(id) { + return request({ + url: '/demo/demo/' + id, + method: 'get' + }) +} + +// 新增测试单表 +export function addDemo(data) { + return request({ + url: '/demo/demo', + method: 'post', + data: data + }) +} + +// 修改测试单表 +export function updateDemo(data) { + return request({ + url: '/demo/demo', + method: 'put', + data: data + }) +} + +// 删除测试单表 +export function delDemo(id) { + return request({ + url: '/demo/demo/' + id, + method: 'delete' + }) +} + +// 导出测试单表 +export function exportDemo(query) { + return request({ + url: '/demo/demo/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/demo/test.js b/ruoyi-ui/src/api/demo/test.js deleted file mode 100644 index f4c642115..000000000 --- a/ruoyi-ui/src/api/demo/test.js +++ /dev/null @@ -1,53 +0,0 @@ -import request from '@/utils/request' - -// 查询测试列表 -export function listTest(query) { - return request({ - url: '/demo/test/list', - method: 'get', - params: query - }) -} - -// 查询测试详细 -export function getTest(id) { - return request({ - url: '/demo/test/' + id, - method: 'get' - }) -} - -// 新增测试 -export function addTest(data) { - return request({ - url: '/demo/test', - method: 'post', - data: data - }) -} - -// 修改测试 -export function updateTest(data) { - return request({ - url: '/demo/test', - method: 'put', - data: data - }) -} - -// 删除测试 -export function delTest(id) { - return request({ - url: '/demo/test/' + id, - method: 'delete' - }) -} - -// 导出测试 -export function exportTest(query) { - return request({ - url: '/demo/test/export', - method: 'get', - params: query - }) -} \ No newline at end of file diff --git a/ruoyi-ui/src/assets/styles/ruoyi.scss b/ruoyi-ui/src/assets/styles/ruoyi.scss index de1db7f34..dee6d091c 100644 --- a/ruoyi-ui/src/assets/styles/ruoyi.scss +++ b/ruoyi-ui/src/assets/styles/ruoyi.scss @@ -105,6 +105,15 @@ position: absolute; } +@media ( max-width : 768px) { + .pagination-container .el-pagination > .el-pagination__jump { + display: none !important; + } + .pagination-container .el-pagination > .el-pagination__sizes { + display: none !important; + } +} + .el-table .fixed-width .el-button--mini { padding-left: 0; padding-right: 0; diff --git a/ruoyi-ui/src/components/DictTag/index.vue b/ruoyi-ui/src/components/DictTag/index.vue new file mode 100644 index 000000000..7431bbb34 --- /dev/null +++ b/ruoyi-ui/src/components/DictTag/index.vue @@ -0,0 +1,51 @@ + + + + \ No newline at end of file diff --git a/ruoyi-ui/src/components/Pagination/index.vue b/ruoyi-ui/src/components/Pagination/index.vue index c815e132c..5e5d89046 100644 --- a/ruoyi-ui/src/components/Pagination/index.vue +++ b/ruoyi-ui/src/components/Pagination/index.vue @@ -6,6 +6,7 @@ :page-size.sync="pageSize" :layout="layout" :page-sizes="pageSizes" + :pager-count="pagerCount" :total="total" v-bind="$attrs" @size-change="handleSizeChange" @@ -38,6 +39,11 @@ export default { return [10, 20, 30, 50] } }, + // 移动端页码按钮的数量端默认值5 + pagerCount: { + type: Number, + default: document.body.clientWidth < 992 ? 5 : 7 + }, layout: { type: String, default: 'total, sizes, prev, pager, next, jumper' diff --git a/ruoyi-ui/src/components/iFrame/index.vue b/ruoyi-ui/src/components/iFrame/index.vue new file mode 100644 index 000000000..426857fb1 --- /dev/null +++ b/ruoyi-ui/src/components/iFrame/index.vue @@ -0,0 +1,36 @@ +