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 @@
[](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus)
[](https://gitee.com/JavaLionLi/RuoYi-Vue-Plus/blob/master/LICENSE)
[](https://www.jetbrains.com/?from=RuoYi-Vue-Plus)
+[]()
+[]()
基于 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 @@
+
+