2817 Commits

Author SHA1 Message Date
疯狂的狮子Li
ded2a32fdf fix 修复 selectDictTypeByType 查询方法错误问题 2023-12-21 11:31:11 +08:00
疯狂的狮子Li
80644cbba3 update 优化 删除 hikaricp 官方不推荐使用的配置 jdbc4 协议自带校验方法 2023-12-05 13:01:54 +08:00
疯狂的狮子Li
ed43f0a889 😴发布 4.8.2 正式进入维护状态 2023-11-27 11:38:39 +08:00
疯狂的狮子Li
a7daed30d8 fix 修复 OssFactory 并发多创建实例问题 2023-11-24 09:59:26 +08:00
疯狂的狮子Li
f2598e7961 update springboot 2.7.17 => 2.7.18 升级到2.X最终版本(官方停更) 2023-11-24 09:31:03 +08:00
疯狂的狮子Li
4c848cf4cb update 优化 页面关于权限标识符说明 2023-11-23 16:54:09 +08:00
疯狂的狮子Li
4d1bf7c25c !450 demo模块前端的form字段有误
Merge pull request !450 from dhb52/4.X
2023-11-20 08:42:55 +00:00
dhb52
88bd127b67 fix: demo的form字段有误 2023-11-20 16:39:19 +08:00
疯狂的狮子Li
1186b86f73 fix 修复 延迟队列在投递消息未到达时间的时候 服务死机导致重启收不到消息 2023-11-14 17:03:53 +08:00
疯狂的狮子Li
eb946e029d fix 修复 数据权限优化后 update delete 报null问题 2023-11-13 10:43:01 +08:00
疯狂的狮子Li
9b68b27168 fix 修复 五级路由缓存无效问题 2023-11-10 16:35:58 +08:00
疯狂的狮子Li
5dbb255323 fix 修复 oss服务无法连接 导致业务异常问题 查询不应该影响业务 2023-11-10 16:34:52 +08:00
疯狂的狮子Li
cc326e36cc fix 修复 内链iframe没有传递参数问题 2023-11-10 11:40:27 +08:00
疯狂的狮子Li
bacdd8d685 update 优化 数据权限拦截器优先判断方法是否有效 提高性能减少无用sql解析 2023-11-09 18:40:32 +08:00
疯狂的狮子Li
8ce96690fc update 优化 部门数据权限使用默认兜底方案 2023-11-09 12:25:48 +08:00
疯狂的狮子Li
9d0d52a48c update 优化 更改默认日志等级为info 避免日志过多(按需开启debug) 2023-11-08 16:05:50 +08:00
疯狂的狮子Li
8d0c06b5bf fix 修复 外链带端口出现的异常 2023-11-07 13:00:51 +08:00
疯狂的狮子Li
245ade0d79 update 优化 补全代码生成 columnList 接口参数注解缺失 2023-11-06 09:39:26 +08:00
疯狂的狮子Li
8de02e285e fix 修复 普通角色编辑使用内置管理员code越权问题 2023-11-01 16:41:32 +08:00
疯狂的狮子Li
0005710f45 update 优化 操作日志 部门信息完善 vue3页面 2023-10-28 15:53:47 +08:00
疯狂的狮子Li
88e09f2189 update 优化 操作日志 部门信息完善 vue3页面 2023-10-28 15:48:53 +08:00
疯狂的狮子Li
c7e79d2681 update 优化 AddressUtils 兼容linux系统本地ip 2023-10-28 15:41:24 +08:00
柏竹
86223d5a6b !435 操作日志 部门信息完善
* fix 操作日志部门信息完善 , 前端UI优化
2023-10-28 07:33:45 +00:00
疯狂的狮子Li
ce04052da3 fix 修复 代码生成 是否必填与数据库不匹配问题 2023-10-27 17:30:40 +08:00
疯狂的狮子Li
f91f225ba6 update mybatis-plus 3.5.3.2 => 3.5.4 2023-10-27 11:46:35 +08:00
疯狂的狮子Li
2cfdb9bcda fix 降级 poi 版本导致的依赖冲突 2023-10-20 12:09:16 +08:00
疯狂的狮子Li
a06f3255d0 update springboot 2.7.14 => 2.7.17
update poi 5.2.3 => 5.2.4
update satoken 1.36.0 => 1.37.0
update aws-java-sdk-s3 1.12.400 => 1.12.540
2023-10-20 10:19:38 +08:00
疯狂的狮子Li
2affe91837 update 优化 数据权限 减少二次校验查询 2023-10-13 11:25:46 +08:00
疯狂的狮子Li
7544ae318c fix 修复 漏改代码 2023-10-09 12:30:09 +08:00
疯狂的狮子Li
e59f04bfee update 优化 vue3 版本用户初始密码从字典查询 2023-10-09 11:19:11 +08:00
疯狂的狮子Li
e35df6d1d2 update 优化 富文本Editor组件检验图片格式 2023-10-09 10:39:59 +08:00
疯狂的狮子Li
81dcd8b512 fix 修复 HeaderSearch组件跳转query参数丢失问题 2023-10-09 10:39:59 +08:00
疯狂的狮子Li
8ca601dc66 update vue-quill 1.1.0 => 1.2.0 2023-10-09 10:39:59 +08:00
疯狂的狮子Li
5ff7203929 update 优化 操作日志列表新增IP地址查询 2023-10-09 10:39:59 +08:00
疯狂的狮子Li
a6ef8bb938 update 优化 全局数据存储用户编号 2023-10-09 10:39:59 +08:00
疯狂的狮子Li
79fd63599a update 优化 菜单管理类型为按钮状态可选 2023-10-09 10:39:59 +08:00
疯狂的狮子Li
3c89a83d6b fix 修复树结构代码生成新增方法赋值错误
Signed-off-by: 疯狂的狮子Li <15040126243@163.com>
2023-09-30 14:36:17 +00:00
疯狂的狮子Li
d45ae7ffc5 !426 fix 修复树结构代码生成新增方法赋值错误
Merge pull request !426 from 这夏天依然平凡/4.X
2023-09-30 14:31:01 +00:00
这夏天依然平凡
34babcbfa5 fix 修复树结构代码生成新增方法赋值错误
Signed-off-by: 这夏天依然平凡 <1822213252@qq.com>
2023-09-29 09:10:57 +00:00
疯狂的狮子Li
e5661a2cf4 Merge remote-tracking branch 'origin/dev' into 4.X 2023-09-25 10:05:44 +08:00
疯狂的狮子Li
cc40f9c4ac 🎃 发布 4.8.1 稳定性增强 修复部分bug 2023-09-25 10:03:11 +08:00
疯狂的狮子Li
6e38a9e412 update springboot 2.7.15 => 2.7.16
update springboot-admin 2.7.10 => 2.7.11
update satoken 1.35.0.RC => 1.36.0
update lombok 1.18.26 =. 1.18.30
2023-09-25 10:03:11 +08:00
疯狂的狮子Li
481170922e !423 fix 修复重置密码注释参数中文解释错误
Merge pull request !423 from 这夏天依然平凡/dev
2023-09-23 04:33:29 +00:00
这夏天依然平凡
f46b8d0758 fix 修复重置密码注释参数中文解释错误
Signed-off-by: 这夏天依然平凡 <1822213252@qq.com>
2023-09-23 03:56:31 +00:00
疯狂的狮子Li
1d43448423 !421 typo: getTokenActivityTimeout => getTokenActiveTimeout
Merge pull request !421 from dhb52/dev
2023-09-20 14:48:04 +00:00
dhb52
2de97fe45c typo: getTokenActivityTimeout => getTokenActiveTimeout
Signed-off-by: dhb52 <dhb52@126.com>
2023-09-20 14:46:58 +00:00
这夏天依然平凡
c41688831c !419 解决代码生成后 定义 'serialVersionUID' 字段的不可序列化类
* update 补全代码生成vo类序列号导包
* update 优化代码生成vo类的序列化
2023-09-19 02:38:20 +00:00
疯狂的狮子Li
2a36ce4302 fix 修复 自定义字典样式不生效的问题 2023-09-14 17:26:33 +08:00
疯狂的狮子Li
f2200df15a update 优化 !pr417 解决部分问题 支持vue3版本 2023-09-08 17:41:14 +08:00
疯狂的狮子Li
3b498c4939 !417 优化字典标签支持传分隔符分隔的字符串和数组,优化渲染效果
Merge pull request !417 from 抓蛙师/dev
2023-09-08 07:28:18 +00:00
抓蛙师
2cead2c5fd 优化字典标签支持传分隔符分隔的字符串和数组,优化渲染效果 2023-09-08 12:03:42 +08:00
疯狂的狮子Li
23bf840684 update 优化 控制台debuger位置错误问题
update 优化 TopNav 菜单样式
fix 修复 布局配置失效问题
2023-09-01 11:41:12 +08:00
疯狂的狮子Li
f8d551e226 fix 修复 新建用户可能会存在的越权行为 2023-08-30 21:49:19 +08:00
疯狂的狮子Li
2e3b068341 update springboot 2.7.14 => 2.7.15 2023-08-25 12:30:34 +08:00
疯狂的狮子Li
0d9b1c2e82 remove 删除无用配置 2023-08-24 19:46:45 +08:00
疯狂的狮子Li
148c7c588e fix 修复 字典缓存删除方法参数错误问题 2023-08-23 22:21:03 +08:00
疯狂的狮子Li
3a82fb82e8 fix 修复 修复树模板父级编码变量错误 2023-08-19 22:59:27 +08:00
疯狂的狮子Li
c319579c0b fix 修复 有界队列与优先队列 错误使用问题 2023-08-19 22:59:27 +08:00
疯狂的狮子Li
acfa39369e fix 修复 升级 mp 版本导致的问题 2023-08-15 10:57:36 +08:00
疯狂的狮子Li
f71b8110a9 update springboot 2.7.13 => 2.7.14
update mybatis-plus 3.5.3.1 => 3.5.3.2
update easyexcel 3.3.1 => 3.3.2
update hutool 5.8.18 => 5.8.20
2023-08-09 12:47:01 +08:00
疯狂的狮子Li
8311454342 update 优化 全局异常处理器 业务异常不输出具体堆栈信息 减少无用日志存储 2023-08-09 12:37:00 +08:00
疯狂的狮子Li
ed4df16201 update 优化 用户管理 只查询未禁用的部门角色岗位数据 2023-08-07 18:14:11 +08:00
疯狂的狮子Li
2f3dbbfe32 update 优化 岗位如果绑定了用户则不允许禁用 2023-08-07 18:14:03 +08:00
疯狂的狮子Li
dc752ade25 update 优化 部门与角色如果绑定了用户则不允许禁用 2023-08-07 18:13:49 +08:00
疯狂的狮子Li
ebef89be62 update 优化 加密实现 使用 EncryptUtils 统一处理 2023-08-07 12:40:16 +08:00
疯狂的狮子Li
7d209aeb41 update 优化 excel导出字典转下拉框 无需标记index自动处理(感谢一夏coco) 2023-08-01 13:22:00 +08:00
疯狂的狮子Li
e82a031dd0 fix 修复 vue3 版本注册页验证码不显示问题 2023-08-01 11:00:36 +08:00
疯狂的狮子Li
fea9fdaa5f update 优化 excel 导出字典默认转为下拉框 2023-07-28 20:09:03 +08:00
疯狂的狮子Li
952cd0b4d3 update 删除一些跟swagger有关的字眼 避免误解 2023-07-25 12:59:27 +08:00
疯狂的狮子Li
ec6704181f update 删除一些跟swagger有关的字眼 避免误解 2023-07-25 12:58:42 +08:00
疯狂的狮子Li
3389a11933 !396 改了一个字, 错别字看到了总想改了但是又怕改的多了后面同步冲突
Merge pull request !396 from saint/pr
2023-07-17 06:44:46 +00:00
疯狂的狮子Li
db0c882f1b update 优化 角色权限支持仅本人权限查看 解决无法查看自己创建的角色问题 2023-07-17 14:41:28 +08:00
赵志辉
13d468d8cc update 优化 RedisCacheController 注释错误 2023-07-17 14:40:02 +08:00
疯狂的狮子Li
b6daa886e0 Merge remote-tracking branch 'origin/dev' into dev 2023-07-13 19:32:50 +08:00
疯狂的狮子Li
1d10611172 update 优化 xxljob 端口随着主应用端口飘逸 避免集群冲突 2023-07-13 19:32:39 +08:00
疯狂的狮子Li
8a5cc7f76c update 优化 powerjob 端口随着主应用端口飘逸 避免集群冲突 2023-07-13 19:30:54 +08:00
疯狂的狮子Li
d4ab8a8e22 fix 修复 加密模块数据转换异常问题 2023-07-13 19:12:51 +08:00
疯狂的狮子Li
8a86c5bdc5 remove 删除无用注释 2023-07-11 18:13:28 +08:00
疯狂的狮子Li
e9cc7c3058 fix 修复 动态设置 token 有效期不生效问题 2023-07-11 17:38:20 +08:00
疯狂的狮子Li
f7dd7d1e42 fix 修复 token 过期登出无法清理在线用户问题 2023-07-11 17:25:23 +08:00
疯狂的狮子Li
71317201b8 Merge remote-tracking branch 'origin/dev' into 4.X 2023-07-10 10:16:07 +08:00
疯狂的狮子Li
19ba2b4207 🎃 发布 4.8.0 新增 sms4j 短信融合 2023-07-10 10:14:10 +08:00
疯狂的狮子Li
cb54a9576e update 优化 StreamUtils 方法过滤null值 2023-07-10 09:57:14 +08:00
疯狂的狮子Li
7f73bfc478 fix 修复 新增角色使用内置管理员标识符问题 2023-07-07 11:47:28 +08:00
疯狂的狮子Li
ed8d6b651a update 优化 页签在Firefox浏览器被遮挡 2023-07-06 09:47:29 +08:00
疯狂的狮子Li
fd2a1cb9b9 update 优化 在全局异常拦截器中增加两类异常处理 2023-07-06 09:47:09 +08:00
疯狂的狮子Li
775bd5925a update 优化 下载zip方法增加遮罩层 2023-07-04 16:38:43 +08:00
疯狂的狮子Li
fc0a33e512 fix 修复 缓存监控图表 支持跟随屏幕大小自适应调整 2023-07-04 15:50:18 +08:00
疯狂的狮子Li
e093b7b2ec !384 修复缓存监控图表跟随屏幕自适应调整
Merge pull request !384 from 抓蛙师/dev
2023-07-04 07:33:55 +00:00
抓蛙师
350e62c6cb 修复缓存监控图表支持跟随屏幕大小自适应调整 2023-07-04 15:16:49 +08:00
疯狂的狮子Li
2c3d2e4ea3 !383 下载方法新增遮罩层
Merge pull request !383 from 梁剑锋/dev
2023-07-04 06:50:19 +00:00
梁剑锋
57bddf259a update 下载方法新增遮罩层,避免单次点击回调未完成再次点击
Signed-off-by: 梁剑锋 <1822213252@qq.com>
2023-07-04 06:41:02 +00:00
疯狂的狮子Li
c40b45e7bb fix 修复 防重组件 错删注解问题 2023-07-03 16:08:03 +08:00
疯狂的狮子Li
7b924e2482 fix 修复 CacheName 缓存key存储错误问题 2023-07-01 11:57:21 +08:00
疯狂的狮子Li
9699d1fedb update 优化 用户昵称非空校验 2023-06-30 12:41:36 +08:00
疯狂的狮子Li
2004a0cc64 update 优化 修改角色如果未绑定用户则无需清理 2023-06-27 13:24:18 +08:00
疯狂的狮子Li
11485c2538 update 优化 RepeatSubmitAspect 逻辑避免并发请求问题 2023-06-26 23:25:29 +08:00
疯狂的狮子Li
36b5051cbd add 新增 RedisUtils.setObjectIfAbsent 不存在则设置 方法 2023-06-26 23:25:29 +08:00
疯狂的狮子Li
8b3310cd00 fix 修复 字典缓存注解使用错误问题 2023-06-26 12:42:38 +08:00
疯狂的狮子Li
788e370cc0 reset 回滚 satoken 使用 loginType 分离登录用户 存在限制 2023-06-26 12:29:02 +08:00
疯狂的狮子Li
c230eedbc0 update 优化 satoken 使用 loginType 分离登录用户 2023-06-25 16:14:44 +08:00
疯狂的狮子Li
39d4efee6a update satoken 1.34.0 => 1.35.0.RC 优化过期配置 支持多端token自定义有效期 2023-06-25 13:49:26 +08:00
疯狂的狮子Li
1bd9688533 update springboot 2.7.11 => 2.7.13
update easyexcel 3.2.1 => 3.3.1
2023-06-25 13:48:43 +08:00
疯狂的狮子Li
2e50b52ae8 update 优化 加密注解注释错误 2023-06-25 09:55:01 +08:00
疯狂的狮子Li
73e14d33fe update sms4j 2.1.1 => 2.2.0 2023-06-21 18:45:13 +08:00
疯狂的狮子Li
9dab37060b update 优化 切换 maven 仓库到 华为云 2023-06-21 18:45:13 +08:00
疯狂的狮子Li
1e69726d77 fix 修复 用户篡改管理员角色标识符越权问题 2023-06-17 22:38:22 +08:00
疯狂的狮子Li
45eec24b7f update 更改 readme 关于短信的说明 2023-06-15 18:19:47 +08:00
疯狂的狮子Li
618ba481b8 add 新增 sms4j 短信融合框架整合
remove 移除原短信功能
2023-06-14 14:04:03 +08:00
疯狂的狮子Li
81f488e24a fix 修复 登录校验错误次数未达到上限时,错误次数缓存未设置有效时间问题。 2023-06-14 14:04:03 +08:00
疯狂的狮子Li
7cdeb3d3d7 !368 增加级联选项快速建立方法
Merge pull request !368 from Emil.Zhang/dev
2023-06-09 10:44:06 +00:00
Emil.Zhang
0ff533e6b5 feat(增加自动创建级联选项功能):
1.DropDownOptions中增加自动创建级联选项的方法
2.示例方法中增加调用示例
2023-06-09 18:31:59 +08:00
疯狂的狮子Li
d785a01973 add 新增 OssClient File 文件上传方法 2023-06-05 13:37:13 +08:00
疯狂的狮子Li
bbbfeb59c8 fix 修复 OssClient 切换服务 实例不正确问题 2023-06-04 13:16:20 +08:00
疯狂的狮子Li
361e210583 update 迁移 vue3 前端到主仓库统一维护 2023-05-30 17:57:38 +08:00
疯狂的狮子Li
c7f14a8b21 update 迁移 vue3 前端到主仓库统一维护 2023-05-30 17:51:51 +08:00
疯狂的狮子li
040ce14acd add 增加 RedisUtils 批量删除 hash key 方法 2023-05-30 09:58:08 +08:00
疯狂的狮子li
cf66216f3e add 增加 gitee issue表单 2023-05-24 17:52:30 +08:00
疯狂的狮子li
adc286d25a add 增加 gitee issue表单 2023-05-24 17:52:09 +08:00
疯狂的狮子li
ad7731a0e9 add 增加 gitee issue表单 2023-05-24 17:47:44 +08:00
疯狂的狮子li
bbda70c2a0 add 增加 gitee issue表单 2023-05-24 17:47:41 +08:00
疯狂的狮子li
cbd0aca8eb add 增加 gitee issue表单 2023-05-24 17:44:21 +08:00
疯狂的狮子li
d2e18fd571 add 增加 gitee issue表单 2023-05-24 17:42:19 +08:00
疯狂的狮子li
df544f32c9 add 增加 gitee issue表单 2023-05-24 17:37:42 +08:00
疯狂的狮子li
cad98d8384 add 增加 gitee issue表单 2023-05-24 17:37:33 +08:00
疯狂的狮子li
88377e2e05 update 优化 EmailLoginBody 注释错误 2023-05-22 15:08:14 +08:00
疯狂的狮子Li
c6324e80af !351 excel导出存在合并项时,在初始化类时进行数据的处理,避免多次调用
Merge pull request !351 from 月夜/dev
2023-05-16 01:43:44 +00:00
疯狂的狮子Li
04eb841cde update 优化 登录流程代码注释 2023-05-15 21:19:08 +08:00
yueye
2ad0299493 excel导出存在合并项时,在初始化类时进行数据的处理,避免多次调用 2023-05-15 17:12:20 +08:00
疯狂的狮子Li
0f5603aed4 update 优化 !pr345 代码结构 2023-05-13 23:28:57 +08:00
Emil.Zhang
72882374be !345 增加Excel导出表格时级联下拉选项功能
* fixed(Excel工具类重载):
* fixed(字典接口耦合问题):
* fixed(调整接口):
* fixed(切换条件不正确):
* feat(优化注解|反向解析失效):
* feat(增加注释|编写Demo|修复bug):
* feat(Excel导出附带有下拉框):
2023-05-13 14:17:59 +00:00
疯狂的狮子Li
21570cbd33 !350 fix 修复element ui 因版本而未被工具识别问题
Merge pull request !350 from 梁剑锋/dev
2023-05-13 14:09:23 +00:00
梁剑锋
049da896f8 fix 修复element ui 因版本而未被工具识别问题
Signed-off-by: 梁剑锋 <1822213252@qq.com>
2023-05-13 07:50:30 +00:00
疯狂的狮子li
0affb8ab54 update 优化 重构 CellMergeStrategy 支持多级表头修复一些小问题 整理代码结构 2023-05-10 18:37:20 +08:00
疯狂的狮子li
a412b20118 fix 修复 admin监控 切换tab页需要重复登录问题 2023-05-10 14:06:19 +08:00
疯狂的狮子Li
2dcfb8e3ce update 更改说明 cglib 基于get set拷贝 不属于深拷贝 2023-05-10 00:00:38 +08:00
疯狂的狮子li
c631a084f3 Merge remote-tracking branch 'origin/dev' into 4.X
# Conflicts:
#	README.md
2023-05-08 09:32:40 +08:00
疯狂的狮子li
022d33bc41 ⚔ 发布 4.7.0 稳定性版本 2023-05-08 09:30:32 +08:00
疯狂的狮子li
47379dd702 update 同步 ruoyi
* update 优化 下拉图标选择组件优化:1.已选择图标高亮回显 2.滚动条采用el-scrollbar
* fix 修复 开启TopNav后一级菜单路由参数设置无效问题
* update 优化 Vue的DictTag组件 当value没有匹配的值时 展示空value
* update 优化 恢复翻页/切换路由滚动功能
* fix 修复 路由跳转被阻止时vue-router内部产生报错信息问题
* fix 修复 缓存列表:多次清除操作,提示不变的问题
2023-05-04 16:51:41 +08:00
疯狂的狮子Li
8c8b53e266 update springboot 2.7.10 => 2.7.11 修复CVE漏洞
update hutool 5.8.15 => 5.8.18
update redisson 3.20.0 => 3.20.1
2023-04-28 23:51:05 +08:00
疯狂的狮子Li
9e8a58af43 !342 加解密工具类中增加常用的sm3算法
Merge pull request !342 from _老马_/dev
2023-04-28 14:43:27 +00:00
mayuanfei
4409b96c74 SecurityUtils类中增加国密sm3的不可逆加密算法 2023-04-21 13:54:06 +08:00
疯狂的狮子li
9253186c27 add 新增 忽略数据权限写法 防止异常不执行关闭问题 2023-04-21 09:44:33 +08:00
疯狂的狮子li
b9eee8f399 remove 删除无用缓存key 2023-04-20 14:55:37 +08:00
疯狂的狮子li
230d5e7d56 update 优化 用户更改角色 踢掉角色相关所有在线用户 2023-04-20 13:04:51 +08:00
疯狂的狮子li
68404f3f6e update 优化 在线用户token获取方式 2023-04-20 13:04:51 +08:00
疯狂的狮子Li
a312794423 !339 add 新增 EncryptUtils 加解密工具类
Merge pull request !339 from _老马_/dev
2023-04-18 14:00:46 +00:00
mayuanfei
98e9c11378 SecurityUtils类名修改并且加入md5和sha256加密算法 2023-04-18 16:15:34 +08:00
mayuanfei
d9b8dd9cc2 增加一个加解密安全工具类.可以处理base64,aes,sm4,sm2,rsa加解密处理 2023-04-18 15:20:08 +08:00
疯狂的狮子Li
f366457aa1 fix 修复 取消oss预览状态修改 图标变化不正常问题 2023-04-14 22:31:06 +08:00
疯狂的狮子li
311df68fa6 update 优化 调整配置文件错误注释 2023-04-14 16:16:50 +08:00
疯狂的狮子Li
c5d071dbaf update 更新项目地址 2023-04-12 22:29:24 +08:00
疯狂的狮子Li
b55409bf37 update 优化 加解密模块 将null判断下推防止任何可能的null出现 2023-04-12 22:14:15 +08:00
疯狂的狮子li
11f548b53b fix 修复 加解密拦截器 对象属性为null问题 2023-04-12 18:33:54 +08:00
疯狂的狮子Li
d8b264a13d !336 合并 功能
Merge pull request !336 from 疯狂的狮子Li/main
2023-04-11 14:41:13 +00:00
疯狂的狮子li
77407899e8 update 优化 更改系统所有服务日志配置文件命名为 logback-plus.xml 避免与其他框架默认配置冲突 2023-04-10 18:37:07 +08:00
疯狂的狮子li
6296a50259 update 优化 极端情况获取LoginUser可能为null问题 2023-04-10 13:03:51 +08:00
zlyx
754b138abe update README.md ; 2023-04-10 10:59:14 +08:00
zlyx
811177f530 update README.md ; 2023-04-10 10:55:02 +08:00
疯狂的狮子Li
54a45d0900 !335 合并ruoyi改动
Merge pull request !335 from 疯狂的狮子Li/main
2023-04-08 10:12:52 +00:00
疯狂的狮子Li
b55d8faa67 !334 update 按代码规范补全重写注解
Merge pull request !334 from 梁剑锋/dev
2023-04-06 09:10:43 +00:00
梁剑锋
1ad5a526e7 update 按代码规范补全重写注解
Signed-off-by: 梁剑锋 <1822213252@qq.com>
2023-04-06 09:03:17 +00:00
疯狂的狮子li
ecdb629438 update 优化固定头部页签滚动条被隐藏的问题 2023-04-06 12:27:11 +08:00
疯狂的狮子li
df5eb800cd fix 修复tab栏“关闭其他”异常的问题 2023-04-06 12:26:07 +08:00
疯狂的狮子li
f3fa1386e7 update 移除vue-multiselect样式 2023-04-06 12:24:25 +08:00
疯狂的狮子li
a31d4a92d6 update 优化选择图标组件 2023-04-06 11:46:48 +08:00
疯狂的狮子li
0804854175 update delete build style 2023-04-06 11:40:42 +08:00
疯狂的狮子li
bb265274c5 update 优化$tab.closePage后存在非首页页签时不应该跳转首页 2023-04-06 11:39:00 +08:00
疯狂的狮子li
9895517097 update 优化弹窗后导航栏偏移的问题 2023-04-06 11:37:01 +08:00
疯狂的狮子li
93dda236dc fix 修复页面切换时布局错乱的问题 2023-04-06 11:33:22 +08:00
疯狂的狮子Li
8619d97749 !330 fix 修复单词拼写错误
Merge pull request !330 from jax/fix
2023-04-04 00:49:08 +00:00
yingyi
6762ab739a fix 修复单词拼写错误 2023-04-04 08:43:44 +08:00
疯狂的狮子Li
5b43d0e29f update 优化 限流注解 key 支持简单 spel 表达式 2023-04-03 13:23:32 +08:00
疯狂的狮子Li
0662756e8c update 更换默认用户头像 2023-04-01 22:05:58 +08:00
疯狂的狮子li
5cd6dcff4f first commit 2023-03-31 15:45:29 +08:00
疯狂的狮子li
0b0439b72e first commit 2023-03-31 15:44:10 +08:00
疯狂的狮子li
0abc2e9624 update 优化 角色 sort 值一样的排序问题 2023-03-31 14:37:44 +08:00
疯狂的狮子Li
7343cdbe70 !326 角色查询列表
Merge pull request !326 from enkang/dev
2023-03-31 02:01:03 +00:00
疯狂的狮子li
ded82af207 update 修改controller中校验直接返回R.fail 2023-03-31 09:54:21 +08:00
疯狂的狮子li
16d58bacbc add 增加 邮箱验证码发送接口
add 增加 邮箱登陆接口
2023-03-31 09:51:09 +08:00
qiaoenkang
a5abbbf988 fix:角色列表关联多表,sort值都一样,导致排序不稳定、临时表没有原来的主键顺序 2023-03-31 09:45:33 +08:00
疯狂的狮子li
5c040dc5cb fix 修复 oracle postgres 数据库日志表索引创建错误 2023-03-30 19:33:31 +08:00
疯狂的狮子li
6c41fd1cf3 update 遗漏了 vue3 前端链接 2023-03-30 12:04:30 +08:00
疯狂的狮子li
b4cf1dbb6d update 遗漏了 vue3 前端链接 2023-03-30 12:04:11 +08:00
疯狂的狮子Li
eba4c88833 !319 优化无用代码
Merge pull request !319 from 阿志同学/dev
2023-03-30 03:02:29 +00:00
yangs
773b497761 🎨 优化未使用代码 2023-03-30 10:52:49 +08:00
疯狂的狮子li
3832dc933d update 遗漏了 vue3 前端链接 2023-03-29 17:23:08 +08:00
疯狂的狮子li
7fd262fd8b update 遗漏了 vue3 前端链接 2023-03-29 17:22:40 +08:00
疯狂的狮子li
5e44843854 update 重写项目 readme 说明 2023-03-29 16:59:22 +08:00
疯狂的狮子li
09d72dceef update 重写项目 readme 说明 2023-03-29 16:57:35 +08:00
疯狂的狮子li
684b84a16d update minio 升级至最新版 避免低版本信息泄漏问题 2023-03-29 10:15:48 +08:00
疯狂的狮子li
35c289ab92 fix 修复文档前端地址修改错误 2023-03-28 18:04:41 +08:00
疯狂的狮子li
b91f02f5b7 fix 修复文档前端地址修改错误 2023-03-28 18:03:35 +08:00
疯狂的狮子li
ab7f6957b9 update 优化代码生成 同步操作使用批量处理 2023-03-28 11:10:12 +08:00
疯狂的狮子Li
b13c10ccd6 fix 修复 findInSet 在mysql下方法搜索非数字字段时 无引号报错问题 2023-03-25 19:35:04 +08:00
疯狂的狮子Li
eb23098a4d update 全新 logo 全新背景图(设计师打造) 2023-03-25 00:18:39 +08:00
疯狂的狮子Li
b02ad6a0cc update 全新 logo 全新背景图(设计师打造) 2023-03-25 00:17:55 +08:00
疯狂的狮子li
2fd44be9db update xxljob 2.3.1 => 2.4.0 2023-03-24 13:06:55 +08:00
疯狂的狮子li
fda19131ae update springboot 2.7.9 => 2.7.10 修复 DoS 漏洞 2023-03-24 11:05:15 +08:00
疯狂的狮子li
24d942f036 update 项目正式入驻 dromara 开源社区 更改项目地址 2023-03-23 17:18:16 +08:00
疯狂的狮子li
7484b9b6a9 update 项目正式入驻 dromara 开源社区 更改项目地址 2023-03-23 17:16:07 +08:00
疯狂的狮子li
9ae3e9902a fix 修复 用户密码更新无效问题 2023-03-16 18:34:25 +08:00
疯狂的狮子li
cbd50e6b3d fix 修复 用户密码更新无效问题 2023-03-16 18:34:00 +08:00
疯狂的狮子li
9a9507ce5a fix 修复 代码生成 点选按钮不生效问题 2023-03-16 18:16:41 +08:00
疯狂的狮子li
46e126dff7 fix 修复 代码生成 点选按钮不生效问题 2023-03-16 18:15:50 +08:00
疯狂的狮子li
56d7023e41 add 新增 ip2region 实现离线IP地址定位库 2023-03-15 18:20:54 +08:00
疯狂的狮子li
0e0370f532 update 优化 更改 sys_oss_config 表注释 避免误解 2023-03-14 11:24:42 +08:00
疯狂的狮子li
025f3a9bcf Merge remote-tracking branch 'origin/dev' into 4.X
# Conflicts:
#	ruoyi-common/pom.xml
2023-03-13 09:53:58 +08:00
疯狂的狮子li
4dc8af274b 🎇发布 4.6.0 新增 数据库加解密 与 通用翻译 功能 2023-03-13 09:51:42 +08:00
疯狂的狮子li
7f0661c007 update lombok 1.18.24 => 1.18.26 2023-03-13 09:48:24 +08:00
疯狂的狮子li
a847a1dbcc update springdoc 1.6.14 => 1.6.15
update hutool 5.8.12 => 5.8.15 (13与14有问题勿使用)
2023-03-10 10:02:12 +08:00
疯狂的狮子Li
a5ee33b559 !300 修复使用postgreSQL数据库生成代码时出现已删除的多余的字段
Merge pull request !300 from anzhi/dev
2023-03-08 15:37:01 +00:00
杨祖安
8f87da19ea fix(ruoyi-generator): 修复使用postgreSQL数据库时实体类代码生成多余的已删除字段的属性bug 2023-03-08 19:52:45 +08:00
疯狂的狮子li
a2d8ff9286 fix 修复 加解密拦截器 同一对象多次处理问题 2023-03-08 17:53:19 +08:00
疯狂的狮子li
8387ec6134 update 优化 oss 预览使用 ImagePreview 组件 2023-03-08 17:39:51 +08:00
疯狂的狮子li
9e0fca3b54 reset 回退 hutool 版本到 5.8.12 高版本有bug 2023-03-08 17:11:40 +08:00
疯狂的狮子Li
f8c079c651 * update 优化 日志管理使用索引提升查询性能
* update 优化 框架时间检索使用时间默认值 00:00:00 - 23:59:59
2023-03-07 22:50:58 +08:00
疯狂的狮子Li
9b7adfdaf4 fix 修复 用户密码注解误删暴露问题 2023-03-07 22:23:33 +08:00
疯狂的狮子Li
91a61b6927 fix 修复 加解密拦截器null问题 2023-03-07 22:22:50 +08:00
疯狂的狮子Li
d38fa0ec05 fix 修复 userId 无法获取问题 2023-03-07 22:22:24 +08:00
疯狂的狮子Li
d7d398763f !298 修复字段解密的方法在查询列表为空时,数组越界的异常
Merge pull request !298 from _老马_/dev
2023-03-07 09:53:23 +00:00
mayuanfei
f6d4e23bf6 修复数据加密bug:当查询的列表为空时,解密方法报数组越界的异常 2023-03-07 15:39:55 +08:00
疯狂的狮子li
4b07faf89a update springboot 2.7.8 => 2.7.9
update easyexcel 3.2.0 => 3.2.1
update hutool 5.8.11 => 5.8.14
update redisson 3.19.2 => 3.20.0
2023-03-07 12:25:08 +08:00
疯狂的狮子li
31194414eb update 同步 ruoyi
* update element-ui 2.15.10 => 2.15.12
* update 优化 tagsView右选框,首页不应该存在关闭左侧选项
* update copyright 2023
* update 优化 监控页面图标显示
* update 优化 日志注解支持排除指定的请求参数
* update 优化 业务校验优化代码
* fix 修复 优化文件下载出现的异常
* fix 修复 修改密码日志存储明文问题
2023-03-07 12:20:14 +08:00
Liang
d6c49b915f !295 新增EasyExcel枚举类数据翻译注解
* Merge remote-tracking branch 'origin/dev' into dev
* 利用ReflectUtil反射工具类获取Enum属性
* 利用ReflectUtil反射工具类获取Enum属性
* 新增EasyExcel枚举类数据翻译注解
2023-03-06 03:59:59 +00:00
疯狂的狮子Li
b465972e7c !291 fix 修复 获取全部url处理器 未加载到spring容器中问题
Merge pull request !291 from Evan Wang/dev
2023-03-02 03:18:45 +00:00
Evan Wang
7a5abcd0f8 fix 修复 获取全部url处理器 未加载到spring容器中问题 2023-03-02 11:07:20 +08:00
疯狂的狮子li
5464dfb830 update 优化 获取系统url存储重复问题 2023-02-28 19:58:19 +08:00
疯狂的狮子li
7a97377c28 update 优化 只拦截系统内存在的路径 减少不必要的拦截造成的性能消耗 2023-02-28 19:16:41 +08:00
疯狂的狮子li
453b8fcbb2 fix 修复 限流注解 默认不填key生成重复问题 2023-02-26 20:44:12 +08:00
疯狂的狮子li
2a46cdbd88 update 优化 限流功能 redis key 生成规则 以功能头+url+ip+key格式
fix 修复 !pr290 的问题
2023-02-26 20:39:51 +08:00
boasad
995578c561 !290 限流注解和实现的更新
* 限流注解的自定义注解以及使用SpringEl表达式动态定义Key
2023-02-26 12:27:25 +00:00
疯狂的狮子li
f88c93b335 fix 修复 LoginHelper 获取 LoginUser 缺失子类扩展数据问题 2023-02-20 20:57:55 +08:00
疯狂的狮子Li
edcd7c99ba update 优化 翻译组件 支持返回值泛型 支持多种类型数据翻译(例如: 根据主键翻译成对象) 2023-02-18 23:43:53 +08:00
疯狂的狮子Li
dadf05c25c fix 修复 因菜单权限过多 导致 token 臃肿过长问题 2023-02-17 22:50:17 +08:00
疯狂的狮子li
a2c43aceb1 update 优化 更新角色后踢掉所有相关的登录用户 用户量过大会导致redis阻塞卡顿(应粉丝要求) 2023-02-17 14:15:33 +08:00
疯狂的狮子li
4bd2691422 update 优化 encrypt 加解密模块语法 简化代码消除警告 2023-02-17 12:50:16 +08:00
疯狂的狮子li
088002bd62 update 优化 encrypt 加解密模块语法 简化代码消除警告 2023-02-17 12:48:23 +08:00
疯狂的狮子Li
5722ba3f6c !288 解决部门id无法查询到部门的空指针异常
Merge pull request !288 from 抓蛙师/auto-7465549-dev-af4ea3a0
2023-02-17 03:21:30 +00:00
抓蛙师
40aeeeced1 解决部门id无法查询到部门的空指针异常 2023-02-17 11:16:17 +08:00
疯狂的狮子li
6f209cad99 update 优化 启用 sqlserver 高版本语法 简化sql脚本语法 2023-02-15 13:03:16 +08:00
疯狂的狮子li
db6796e740 update 优化 SaToken 自定义扩展类 改为配置类注入 便于扩展 2023-02-15 12:53:18 +08:00
疯狂的狮子li
4382cf2217 update 重构 OssFactory 加载方式 改为每次比对配置做实例更新 2023-02-15 11:46:14 +08:00
疯狂的狮子li
d93307151a update 重构 将 LoginUser 数据存储到 token 内部 减少 redis 存储与查询(弊端不可更新) 2023-02-15 11:39:36 +08:00
疯狂的狮子li
f3d800d598 update 优化 DataPermissionHelper 增加 开启/关闭 忽略数据权限功能 2023-02-09 13:53:29 +08:00
疯狂的狮子li
d2baaaaf7b update 优化 连接池增加 keepaliveTime 探活参数 2023-02-09 12:38:56 +08:00
疯狂的狮子li
c203d0af46 update 优化 调整连接池最长生命周期 防止出现警告 2023-02-08 10:39:15 +08:00
疯狂的狮子li
1f507f2d22 update 优化 获取菜单数据权限接口 删除无用角色属性与逻辑 2023-02-07 19:06:42 +08:00
疯狂的狮子li
5cf3287064 update springboot 2.7.7 => 2.7.8
update easyexcel 3.1.5 => 3.2.0
update redisson 3.19.1 => 3.19.2
update aws-java-sdk-s3 1.12.373 => 1.12.400
update tencent-sms 3.1.660 => 3.1.687
2023-02-07 13:11:28 +08:00
疯狂的狮子li
57bcb5dbf6 update 优化 oss dept 业务代码 2023-02-06 15:50:09 +08:00
疯狂的狮子li
e803388cad add 新增 StringUtils splitTo 与 splitList 方法 优化业务代码 2023-02-06 14:26:21 +08:00
疯狂的狮子li
b9b76539ac update 优化 部门更新接口 清理缓存 2023-02-05 13:20:05 +08:00
疯狂的狮子li
bc06550918 add 新增 通用翻译注解及实现(部门名、字典、oss、用户名) 2023-02-05 12:46:11 +08:00
疯狂的狮子li
61db843576 update DictDataMapper 注解标注过期 推荐使用 Translation 注解 2023-02-05 12:46:11 +08:00
疯狂的狮子Li
6c6d92a776 fix 修复 接口问题开关不生效问题 2023-02-03 00:40:59 +08:00
疯狂的狮子li
f8ac8c085e update 调整 优化连接池默认参数 2023-02-01 17:35:22 +08:00
疯狂的狮子li
7c05920e73 update 优化 框架代码书写格式 2023-01-30 18:22:25 +08:00
疯狂的狮子Li
2d7535012e !279 修复vue3 模板 删除功能异常
Merge pull request !279 from 杜更新/dev
2023-01-30 01:57:30 +00:00
flyer
654944b5c7 修复vue3模板,点击删除按钮后弹框显示[object Object]或控制台报错的问题 2023-01-30 09:41:16 +08:00
疯狂的狮子li
d2675744f4 update 优化 重构 !pr274 简化结构 解决代码逻辑问题 规范注释 2023-01-18 14:11:48 +08:00
_老马_
e20dacbfd9 !274 add 新增 基于 Mybatis 实现数据库字段加解密功能 2023-01-18 04:13:43 +00:00
疯狂的狮子li
540afd839d update 优化 去除无用字典 2023-01-18 12:06:49 +08:00
疯狂的狮子li
b34c2fd6ee update 优化 修改 oss 配置页面开关说明 避免造成误解 2023-01-18 12:00:19 +08:00
疯狂的狮子li
1ae44c8124 update 优化 修改 oss 配置页面开关说明 避免造成误解 2023-01-18 11:59:08 +08:00
疯狂的狮子li
6fb34a7717 update 优化 修改 oss 配置页面开关说明 避免造成误解 2023-01-18 11:42:44 +08:00
疯狂的狮子Li
43982c5a36 !276 perf: 优化实体类中校验注解的提示信息
Merge pull request !276 from Baymax/dev
2023-01-17 08:18:01 +00:00
zenghuafan
d8062087c7 perf: 优化实体类中校验注解的提示信息 2023-01-17 14:24:42 +08:00
疯狂的狮子li
10f88f5458 add 新增 BeanCopyUtils#mapToMap 方法 2023-01-12 16:51:46 +08:00
疯狂的狮子li
c79c3ee5b6 remove 删除 多余版本号 2023-01-12 15:18:18 +08:00
疯狂的狮子li
cedb174ffd fix 修复 新版本 Redisson 存在与 boot 2.X 的兼容性问题 2023-01-12 15:12:26 +08:00
疯狂的狮子li
f9d9eb2d70 fix 修复 新版本 Redisson 存在与 boot 2.X 的兼容性问题 2023-01-12 15:11:56 +08:00
疯狂的狮子li
1a70cf658c Merge remote-tracking branch 'origin/dev' into 4.X 2023-01-12 09:57:07 +08:00
疯狂的狮子li
242e26abee 🧧发布 4.5.0 新春版 2023-01-12 09:54:54 +08:00
疯狂的狮子li
52d33195ec update sa-token 1.33.0 => 1.34.0 2023-01-11 15:24:35 +08:00
疯狂的狮子li
d8b486c793 remove 删除错误提交配置 2023-01-11 15:12:32 +08:00
疯狂的狮子li
00b6ca5dfe update springboot-admin 2.7.9 => 2.7.10
update easyexcel 3.1.4 => 3.1.5
update redisson 3.19.0 => 3.19.1
2023-01-10 17:40:42 +08:00
疯狂的狮子Li
9ebaf936c1 reset 回滚 错误优化导致问题
Signed-off-by: 疯狂的狮子Li <15040126243@163.com>
2023-01-08 08:07:48 +00:00
疯狂的狮子li
dac463efa6 update mybatis-plus 3.5.3 => 3.5.3.1 2023-01-03 11:52:22 +08:00
zlyx
da1b18792b refactor 重构 BaseMapperPlus, 引入 MP V3.5.3 工具类 Db 进行批量增删改操作 ; 2022-12-30 16:50:44 +08:00
疯狂的狮子li
85b4adf400 update 优化 将环境配置放到pom文件上方 便于查看使用 2022-12-29 18:06:07 +08:00
疯狂的狮子li
70f39cb1ee update 优化 代码生成与框架主体使用相同的主键生成器 全局统一避免问题 2022-12-29 15:42:31 +08:00
疯狂的狮子li
d87dfd6397 update mybatis-plus 3.5.2 => 3.5.3
update 优化 整理无用代码
2022-12-29 10:12:25 +08:00
疯狂的狮子li
1496220a74 update 优化 更细致的 issue 提问模板 2022-12-28 18:57:18 +08:00
疯狂的狮子li
996835d124 update 优化 更细致的 issue 提问模板 2022-12-28 18:53:29 +08:00
疯狂的狮子li
f6f3db1701 update hutool 5.8.10 => 5.8.11
update aws-s3 1.12.349 => 1.12.373
update aliyun-sms 2.0.22 => 2.0.23
update tencent-sms 3.1.635 => 3.1.660
2022-12-28 16:26:18 +08:00
疯狂的狮子li
6ee3085260 add 增加 GET 请求提交日期参数 默认格式化配置 2022-12-28 15:03:00 +08:00
疯狂的狮子li
a6f6562693 update 优化 系统登录 使用单表查询校验用户 避免多次join查询 2022-12-27 17:38:13 +08:00
疯狂的狮子li
d8585d0ee7 update 优化 删除 vue3 模板无用参数 2022-12-27 09:46:36 +08:00
疯狂的狮子li
4761237849 update 优化 xss包装器 变量命名错误 2022-12-27 09:45:32 +08:00
疯狂的狮子Li
f1a09711c1 !269 优化: 移除 UserOnlineDTO 导入但未使用的类
Merge pull request !269 from Baymax/dev
2022-12-26 04:06:40 +00:00
疯狂的狮子Li
346a3cf7f1 update 重构 ExcelUtil 全导出方法支持 OutputStream 流导出 不局限于 response 2022-12-26 11:11:14 +08:00
baymax
c42229bc54 优化: 移除 UserOnlineDTO 导入但未使用的类 2022-12-25 22:15:31 +08:00
疯狂的狮子Li
317ab351ce fix 修复 升级 echarts 导致缓存监控图表异常 2022-12-25 20:23:24 +08:00
疯狂的狮子li
e1579622de update 优化 maven 地址切换回 aliyun 仓库 2022-12-23 15:53:24 +08:00
疯狂的狮子li
f2ff839106 update springboot 2.7.6 => 2.7.7
update easyexcel 3.1.3 => 3.1.4
2022-12-23 13:29:40 +08:00
疯狂的狮子li
c494ab9963 update 优化 去除无用 guava 依赖管理 项目中已无此依赖 2022-12-23 13:28:37 +08:00
疯狂的狮子li
15f7d4dc47 update 优化 springdoc 配置鉴权头写死问题 增加持久化鉴权头配置 2022-12-22 18:26:18 +08:00
疯狂的狮子Li
dd9ef8431b fix 修复 根据key更新参数配置报null问题 2022-12-21 21:33:29 +08:00
疯狂的狮子li
e729a924d4 update 优化 验证码结果使用spel引擎自动计算 2022-12-21 10:41:32 +08:00
疯狂的狮子Li
aeacfea536 !266 add 增加 RedisUtils 检查缓存对象是否存在方法
Merge pull request !266 from KonBAI/dev
2022-12-20 02:33:10 +00:00
konbai
43b31edb75 add 增加 RedisUtils 检查缓存对象是否存在方法 2022-12-20 00:03:01 +08:00
疯狂的狮子Li
8448bcdc6d !265 update 更新LogininforEvent实体类名称为logininforEvent
Merge pull request !265 from 梁剑锋/dev
2022-12-19 07:29:39 +00:00
梁剑锋
e1efdb8602 update 更新LogininforEvent实体类名称为logininforEvent
Signed-off-by: 梁剑锋 <1822213252@qq.com>
2022-12-19 07:26:18 +00:00
疯狂的狮子li
409849db1a update springdoc 1.6.13 => 1.6.14
update snakeyaml 1.32 => 1.33
update springboot-admin 2.7.7 => 2.7.9
2022-12-19 14:38:08 +08:00
疯狂的狮子li
9d6b0b35a3 update redisson 3.18.0 => 3.19.0 2022-12-19 14:30:01 +08:00
疯狂的狮子Li
7f00861e68 update 优化 去除无用继承 2022-12-15 14:53:33 +08:00
疯狂的狮子Li
d2b1177580 !263 优化:代码规范
Merge pull request !263 from hzf/dev
2022-12-15 06:52:19 +00:00
houzhongfei
ef91551449 ·优化:代码规范 2022-12-14 18:50:48 +08:00
疯狂的狮子Li
4063b0c2dd fix 修复 用户注册 用户类型字段书写错误 2022-12-14 17:10:39 +08:00
疯狂的狮子Li
5117fe2958 update 同步 ruoyi 相关提交
* fix 修复 文件名包含特殊字符(+、-、*...)的文件无法下载问题
* update 优化 弹窗内容过多展示不全问题
* update echarts 4.9.0 => 5.4.0
* fix 修复 Vue3树形下拉不能默认选中
* update 优化 删除fuse无效选项maxPatternLength
* fix 修复 代码生成图片/文件/单选时选择必填无法校验问题
* fix 修复 修改参数键名时 未移除过期缓存配置
2022-12-14 15:11:09 +08:00
疯狂的狮子Li
9ed60f22de update 优化 minio安装警告 使用新版本参数 2022-12-14 14:28:11 +08:00
疯狂的狮子Li
8498ead56c !262 优化:删除无用依赖
Merge pull request !262 from hzf/dev
2022-12-14 06:23:40 +00:00
houzhongfei
53ae4ea6bc ·优化:删除无用依赖 2022-12-14 14:19:25 +08:00
疯狂的狮子li
4c8137daf2 update 优化 使用spring事件发布机制 重构登录日志与操作日志 2022-12-07 20:32:57 +08:00
疯狂的狮子li
6e017c35f7 update 优化 抽取 SysLoginService recordLogininfor 记录登录信息方法 简化日志记录 2022-12-07 19:57:28 +08:00
疯狂的狮子li
06cda3fb18 update 优化 使用 spring 事件机制 重构 OssConfig 缓存更新 2022-12-07 19:13:58 +08:00
疯狂的狮子Li
b38151a0bb !260 单元格合并判断cellValue是否相等方法调整
Merge pull request !260 from zendwang/dev
2022-12-06 03:32:35 +00:00
疯狂的狮子li
2790b5ddc4 fix 修复 读取 generator.yml 中文乱码问题 2022-12-06 10:51:58 +08:00
zendwang
f70951d374 update 单元格合并判断cellValue是否相等方法调整 2022-12-05 17:59:58 +08:00
疯狂的狮子Li
9ebe1ae918 !259 短信校验 国际化模板占位符错误
Merge pull request !259 from zendwang/dev
2022-11-29 11:01:20 +00:00
zendwang
06e6f7af0c update 短信校验模板参数传参错误 2022-11-29 18:48:25 +08:00
疯狂的狮子Li
d6894c89ed Merge remote-tracking branch 'origin/4.X' into 4.X 2022-11-28 14:04:16 +08:00
疯狂的狮子Li
ebf780617a Merge remote-tracking branch 'origin/dev' into 4.X 2022-11-28 14:02:59 +08:00
疯狂的狮子Li
e130475259 发布 4.4.0 正式版 2022-11-28 14:02:06 +08:00
疯狂的狮子Li
115af9c402 update 替换 mysql-jdbc 最新坐标 2022-11-28 13:59:58 +08:00
疯狂的狮子Li
8b914c1091 update mysql-docker 8.0.29 => 8.0.31 2022-11-28 13:58:05 +08:00
疯狂的狮子Li
9c368e8e68 update springboot 2.7.5 => 2.7.6
update lock4j 2.2.2 => 2.2.3
update s3-adk 1.12.324 => 1.12.349
2022-11-28 13:57:30 +08:00
疯狂的狮子li
700db1fc15 update 更新 代码生成文档链接 2022-11-24 17:38:20 +08:00
疯狂的狮子li
35f9c0fb72 update 更新 技术栈说明 2022-11-24 17:33:39 +08:00
疯狂的狮子li
3091241279 update 优化 代码缩进 2022-11-24 15:27:06 +08:00
疯狂的狮子li
56050aa650 update 同步 ruoyi 相关提交
* fix 修复Log注解GET请求记录不到参数问题
* fix 修复某些特性的环境生成代码变乱码TXT文件问题
* update 消除Vue3控制台出现的警告信息
* fix 开启TopNav没有子菜单隐藏侧边栏
* fix 修复回显数据字典数组异常问题(I60UYQ)
* update 忽略不必要的属性数据返回
2022-11-24 15:14:47 +08:00
疯狂的狮子li
b5cbb58c2d update 优化 简化一些方法的写法 2022-11-24 14:23:56 +08:00
scmiot
adaa93acfb !256 减小腾讯短信引入jar包的体积
* 减小腾讯短信引入jar包的体积
2022-11-24 03:13:31 +00:00
疯狂的狮子li
5d043078b2 update 优化 字典转换实现 去除字符串查找拼接优化效率 2022-11-24 10:38:24 +08:00
疯狂的狮子li
fe8db721d7 update 优化 使用本地缓存优化 excel 导出 数据量大字典转换慢问题 2022-11-23 17:45:36 +08:00
疯狂的狮子li
4d02466fed add 增加 skywalking 集成 默认注释不开启 2022-11-21 20:01:12 +08:00
疯狂的狮子li
ca69c00cf4 remove 移除 tlog(不支持UI界面 使用的人太少) 建议使用 skywalking 2022-11-21 19:47:36 +08:00
疯狂的狮子li
6733e48ea1 add 增加 RedisUtils 获取缓存Map的key列表 2022-11-21 18:57:07 +08:00
疯狂的狮子li
dca5d69dd2 add 增加 RedisUtils 获取缓存Map的key列表 2022-11-21 18:55:47 +08:00
疯狂的狮子Li
842af57d74 !254 优化代码 将空‘catch’块形参重命名为‘ignored’
Merge pull request !254 from 梁剑锋/dev
2022-11-21 07:29:58 +00:00
疯狂的狮子li
8dc92383d9 update spring-doc 1.6.12 => 1.6.13
update easyexcel 3.1.1 => 3.1.3
update hutool 5.8.8 => 5.8.10
update redisson 3.17.7 => 3.18.0
2022-11-21 15:22:42 +08:00
梁剑锋
1ae35032a5 优化代码 将空‘catch’块形参重命名为‘ignored’
Signed-off-by: 梁剑锋 <1822213252@qq.com>
2022-11-21 07:20:48 +00:00
疯狂的狮子li
223ae7ae72 update 优化 Dockerfile 创建目录命令 2022-11-21 13:37:51 +08:00
疯狂的狮子li
87a212f093 update 优化 RepeatedlyRequestWrapper 流处理 去除多余编码转换 2022-11-18 14:17:27 +08:00
G405G
5952b1c90e !253 过滤器链使用IoUtil.read方法导致request流关闭
* fix-过滤器链使用IoUtil.read方法导致request流关闭
2022-11-18 06:01:45 +00:00
疯狂的狮子li
83ba9be342 update 增加 字典映射注解 使用说明 2022-11-17 17:44:44 +08:00
疯狂的狮子Li
a1431c5cb1 !251 add 新增字典数据映射注解,根据字段数据(sys_dict_data表).dict_type 的 value 映射对应的 label
Merge pull request !251 from itino/dev-itino
2022-11-17 09:33:32 +00:00
itino
e41a58b10d update 字典数据json序列化工具加一个 bean的非空判断 2022-11-17 17:28:36 +08:00
itino
da94e89825 add 新增字典数据映射注解,可根据字段数据(sys_dict_data表).dict_type 转换对应的 value 和 label 2022-11-17 16:41:30 +08:00
疯狂的狮子li
0381df6b17 remove 移除过期 Anonymous 注解与其实现代码 2022-11-16 20:14:48 +08:00
疯狂的狮子li
31acd6b301 update sa-token 1.32.0 => 1.33.0 2022-11-16 20:10:18 +08:00
疯狂的狮子Li
3c5dfdcf57 !248 优化GlobalExceptionHandler.handleServiceException多余的类型转换,脚本乱码。
Merge pull request !248 from scmiot/dev
2022-11-16 01:41:47 +00:00
scmiot
e0b65b857d 前端ui脚本中文乱码
Signed-off-by: scmiot <scmiot@qq.com>
2022-11-16 00:49:25 +00:00
scmiot
83395d4e2f GlobalExceptionHandler.handleServiceException 多余的类型转换。
Signed-off-by: scmiot <scmiot@qq.com>
2022-11-16 00:48:19 +00:00
疯狂的狮子li
a6bed384d7 update 更新 系统演示文档地址 2022-11-14 18:10:43 +08:00
疯狂的狮子Li
afac00de33 fix 修复 使用缓冲流 导致上传异常问题 回滚错误提交 #35fac6c 2022-11-13 22:06:05 +08:00
疯狂的狮子li
ee80e97578 fix 修复 更改错误 内部调用未走aop代理问题 2022-11-09 09:45:49 +08:00
疯狂的狮子li
35fac6cc0c update 优化 oss 上传下载 使用流直接操作 减少读取字节码的内存消耗 2022-11-08 18:47:19 +08:00
疯狂的狮子li
e5515751fd update 修改 xxljob 演示案例 2022-11-08 10:25:31 +08:00
疯狂的狮子Li
c9c1e5ca7f !246 优化 p6spy 配置文件格式
Merge pull request !246 from scmiot/dev
2022-11-08 01:27:16 +00:00
scmiot
b47e67ff30 优化 p6spy 配置文件格式
Signed-off-by: scmiot <scmiot@qq.com>
2022-11-08 00:15:36 +00:00
疯狂的狮子Li
f5de8b9ddf update 优化 p6spy 排除健康检查 sql 执行记录 2022-11-07 23:41:40 +08:00
疯狂的狮子Li
a63abbf268 update 优化 hikari 参数顺序 最常用的放上面 删除无用 druid 监控页面 2022-11-07 22:27:21 +08:00
MichelleChung
1f42bd3d22 !245 数据源由 Druid 修改为 Hikari
* update 更新 dataSource 数据源, 由 druid 修改为 hikari, 更新相关配置 ;
2022-11-07 14:10:52 +00:00
疯狂的狮子Li
93c4cc2cd1 !244 【轻量级Pr】修正oss日志错误
Merge pull request !244 from 陈賝/dev
2022-11-07 09:01:46 +00:00
chenchen
ab4b21ff58 update oss相关 2022-11-07 16:54:04 +08:00
疯狂的狮子li
83a09c475d update 优化 桶权限类型标签 使用el-tag简化写法 2022-11-03 16:23:53 +08:00
疯狂的狮子li
9d99afd159 update 优化 桶权限类型字段 写法与vue3版本不兼容问题 2022-11-03 16:18:43 +08:00
疯狂的狮子li
1858ac6b25 reset 回滚错误提交 并不能解决问题 2022-11-03 11:58:48 +08:00
疯狂的狮子li
78290128e7 add 增加 4.3-4.4 更新 sql 文件 2022-11-03 11:38:40 +08:00
疯狂的狮子li
68193fd37f add 增加 sys_oss_config access_policy 桶权限类型字段 2022-11-03 11:38:19 +08:00
疯狂的狮子Li
cd9c3c3f4f !243 合并 oss 私有库功能
update 优化 支持 oss 私有库功能
2022-11-03 03:13:27 +00:00
疯狂的狮子li
8bd023b49f fix 修复 sqlserver 分页问题 2022-11-02 10:34:58 +08:00
疯狂的狮子li
57daef9ced update satoken 1.31.0 => 1.32.0 2022-10-31 10:45:08 +08:00
疯狂的狮子li
fb134da091 update springboot-admin 2.7.6 => 2.7.7 2022-10-31 10:42:38 +08:00
疯狂的狮子li
c1a3eaaffb Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	pom.xml
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
#	ruoyi-common/src/main/java/com/ruoyi/common/constant/HttpStatus.java
#	ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
#	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/AjaxResult.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java
#	ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
#	ruoyi-generator/src/main/resources/vm/java/controller.java.vm
#	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
#	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java
#	ruoyi-ui/src/assets/icons/svg/system.svg
#	ruoyi-ui/src/views/monitor/job/index.vue
#	ruoyi-ui/src/views/system/role/index.vue
#	ruoyi-ui/src/views/system/user/index.vue
#	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
2022-10-31 10:35:46 +08:00
疯狂的狮子li
b6dbe7b5a5 update 优化 新增返回警告消息提示 2022-10-31 10:33:29 +08:00
疯狂的狮子li
8138063bfe fix 修复 菜单激活无法修改其填充颜色 去除某些svg图标的fill="#bfbfbf"属性 2022-10-31 10:32:55 +08:00
疯狂的狮子li
4c8dc500c7 fix 修复 table中更多按钮切换主题色未生效修复问题 2022-10-31 10:24:29 +08:00
疯狂的狮子li
85247991b6 fix 修复 上传png透明图片 生成头像透明部分变成黑色 2022-10-31 10:22:46 +08:00
疯狂的狮子li
a127eaa0e9 update 优化 重置时取消部门选中 2022-10-31 10:19:54 +08:00
RuoYi
ebb9f15a75 新增返回警告消息提示 2022-10-30 12:02:06 +08:00
RuoYi
cd137bd9fc 升级fastjson到最新版2.0.16 2022-10-30 09:58:12 +08:00
若依
07bde5f88a !610 pagehelper-boot更新1.4.5
Merge pull request !610 from abbfun/N/A
2022-10-30 01:57:27 +00:00
abbfun
6fffa02acf pagehelper-boot更新1.4.5
Signed-off-by: abbfun <819589789@qq.com>
2022-10-29 14:45:55 +00:00
疯狂的狮子Li
5830c3c96d !242 优化调用toAjax时的冗余三元操作符。
Merge pull request !242 from scmiot/dev
2022-10-29 09:35:25 +00:00
scmiot
9f2dc5c233 删除几个Controller和代码生成模板中冗余的三元表达式。
Signed-off-by: scmiot <scmiot@qq.com>
2022-10-29 08:23:09 +00:00
疯狂的狮子Li
ec076c1e0d update 优化 单元测试乱码问题 指定运行编码 2022-10-29 00:00:00 +08:00
疯狂的狮子Li
6e8ef308ed add 增加 junit5 单元测试案例 2022-10-28 23:21:44 +08:00
RuoYi
dc48f9858b 修复table中更多按钮切换主题色未生效修复问题 2022-10-28 20:59:42 +08:00
RuoYi
a6b2ac5dcd 升级oshi到最新版本6.3.0 2022-10-28 19:57:35 +08:00
若依
c0685b7f7f !608 编辑头像时生成为透明png图片
Merge pull request !608 from BlossomWave/N/A
2022-10-28 11:48:22 +00:00
若依
fb2d616c57 !609 优化代码
Merge pull request !609 from lihy2021/N/A
2022-10-28 11:44:27 +00:00
若依
6ff6853082 !606 重置时取消部门选中
Merge pull request !606 from 也曾为你像超人/N/A
2022-10-28 11:42:26 +00:00
若依
f8014ae969 !602 去除某些svg图标的fill="#bfbfbf"属性,避免菜单激活无法修改其填充颜色
Merge pull request !602 from 清溪先生/master
2022-10-28 11:39:13 +00:00
疯狂的狮子li
88ed6e25ca update 优化 切换 maven 仓库到 华为云 2022-10-27 11:55:57 +08:00
lihy2021
1de2b7a57e 优化代码 2022-10-27 01:25:39 +00:00
疯狂的狮子li
95f7ba0080 update 优化 oss 云厂商增加 华为obs关键字 2022-10-26 14:30:18 +08:00
疯狂的狮子li
bb73b31e6b fix 修复 sqlserver 特定情况下报 ssl 证书问题 默认关闭 ssl 认证 2022-10-25 17:56:54 +08:00
疯狂的狮子li
9ecc4475dd fix 修复 sqlserver sql文件 重复主键数据问题 2022-10-25 17:56:27 +08:00
BlossomWave
f01aa37394 update ruoyi-ui/src/views/system/user/profile/userAvatar.vue.
默认修改头像时如果上传的图片为png透明图片,生成的头像透明部分会变成黑色,修改了生成头像为png格式。可正常显示图片透明部分。

Signed-off-by: BlossomWave <316975215@qq.com>
2022-10-24 08:25:33 +00:00
疯狂的狮子li
0208fa14af Merge remote-tracking branch 'origin/dev' into 4.X 2022-10-24 14:24:09 +08:00
疯狂的狮子li
efa2f23510 🐬发布 4.3.1 修复了一些问题建议升级 2022-10-24 14:22:38 +08:00
疯狂的狮子li
408155ff5c fix 修复 内链域名特殊字符替换 合并错误导致问题 2022-10-24 13:44:34 +08:00
疯狂的狮子li
785c7495c1 Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	pom.xml
#	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
#	ruoyi-ui/src/App.vue
#	ruoyi-ui/src/assets/styles/ruoyi.scss
#	ruoyi-ui/src/views/system/user/index.vue
#	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
2022-10-24 09:43:35 +08:00
也曾为你、像超人
4517dea98d 重置时取消部门选中
Signed-off-by: 也曾为你、像超人 <1553592282@qq.com>
2022-10-21 23:24:35 +00:00
疯狂的狮子li
0358dc233a update springboot 2.7.4 => 2.7.5
update springboot-admin 2.7.5 => 2.7.6
update springdoc 1.6.11 => 1.6.12
update poi 5.2.2 => 5.2.3
update hutool 5.8.7=>5.8.8
update aws-s3 1.12.300 => 1.12.324
update aliyun-sms 2.0.18 => 2.0.22
update tencent-sms 3.1.591 => 3.1.611
2022-10-21 13:02:52 +08:00
RuoYi
e21396870f 修正菜单状态注释信息 2022-10-21 11:56:15 +08:00
若依
b67f6a0fec !604 修复小屏幕上修改头像界面布局错位的问题
Merge pull request !604 from 也曾为你、像超人/master
2022-10-21 03:50:16 +00:00
若依
42d8104505 !603 update ruoyi-ui/src/views/system/user/index.vue.
Merge pull request !603 from kknd97/N/A
2022-10-21 03:46:49 +00:00
若依
f40a0eab23 !601 swagger-ui静态资源缓存
Merge pull request !601 from abbfun/N/A
2022-10-21 03:41:22 +00:00
刘元博
b6153d1aef 修正选择按钮宽度 2022-10-21 11:21:59 +08:00
若依
a2c585daa4 !605 升级fastjson到最新版2.0.15
Merge pull request !605 from Rain/N/A
2022-10-21 03:11:58 +00:00
Rain
5a60bf0b0a 升级fastjson到最新版2.0.15
Signed-off-by: Rain <938448486@qq.com>
2022-10-21 03:01:54 +00:00
疯狂的狮子Li
d2e58ba46b fix 修复 升级 nginx 1.21.6 => 1.22.1 修复漏洞 https://www.oschina.net/news/214309 2022-10-20 23:24:33 +08:00
刘元博
9dcddc7876 修复小屏幕上修改头像界面布局错位的问题 2022-10-20 19:18:10 +08:00
kknd97
b970185536 update ruoyi-ui/src/views/system/user/index.vue.
handleUpdate(row)方法中:this.form = response.data;语句
会导致【this.form.postIds = response.postIds;】和【this.form.roleIds = response.roleIds;】失效。
导致用户编辑对话框中,角色和部门多选框无法正常修改。
建议使用以下语句修改:
this.$set(this.form, "postIds", response.postIds);
this.$set(this.form, "roleIds", response.roleIds);

Signed-off-by: kknd97 <liujingwei@ln.chinamobile.com>
2022-10-20 06:27:02 +00:00
清溪先生
a64a029323 去除某些svg图标的fill="#bfbfbf"属性,避免菜单激活无法修改其填充颜色。
Signed-off-by: 清溪先生 <usfree2021@163.com>
2022-10-19 22:11:14 +08:00
疯狂的狮子li
98bb1f00ee fix 修复 修改用户信息 校验用户名未排除当前用户问题 2022-10-19 19:06:14 +08:00
abbfun
78f4d1c85b swagger-ui静态资源缓存
Signed-off-by: abbfun <819589789@qq.com>
2022-10-19 09:07:35 +00:00
RuoYi
bf83fe568b 修复主题颜色在Drawer组件不会加载问题(I5VCF0) 2022-10-19 10:54:01 +08:00
疯狂的狮子Li
02f4fdb2e5 !241 【轻量级 PR】修正Excel导出字典值转换方法由于内部调用缓存不生效问题
Merge pull request !241 from MichelleChung/dev
2022-10-19 01:16:06 +00:00
zlyx
cb61a84acb fix 修正 SysConfig, SysOss 方法内部调用导致缓存不生效 bug ; 2022-10-19 09:06:20 +08:00
zlyx
dc56e211e6 fix 修正Excel导出字典值转换方法由于内部调用缓存不生效 bug ; 2022-10-18 18:04:43 +08:00
疯狂的狮子li
e4d33b7d13 fix 修复 补全增量sql脚本缺失的符号 2022-10-14 14:58:32 +08:00
疯狂的狮子Li
f7de561ac5 update 优化 获取用户信息getInfo接口 使用缓存数据获取 2022-10-13 16:17:00 +08:00
疯狂的狮子Li
fde624998f Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	ruoyi-ui/src/components/FileUpload/index.vue
2022-10-13 15:59:43 +08:00
RuoYi
6505432bf4 修复文件上传组件格式验证问题(I5V32H) 2022-10-12 19:33:58 +08:00
疯狂的狮子Li
7d953c1a8b update 同步ruoyi 2022-10-12 10:58:32 +08:00
疯狂的狮子Li
95010d4a4c Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	README.md
#	pom.xml
#	ruoyi-admin/pom.xml
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
#	ruoyi-admin/src/main/resources/application.yml
#	ruoyi-common/pom.xml
#	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/R.java
#	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
#	ruoyi-framework/pom.xml
#	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java
#	ruoyi-generator/pom.xml
#	ruoyi-job/pom.xml
#	ruoyi-system/pom.xml
#	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
#	ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
#	ruoyi-ui/package.json
#	ruoyi-ui/src/views/index.vue
2022-10-12 10:55:42 +08:00
RuoYi
a32a931d24 升级core-js到最新版本3.25.3 2022-10-10 09:22:47 +08:00
RuoYi
4d72fb4289 R isError and isSuccess static 2022-10-10 09:22:37 +08:00
若依
186c04d90a !595 解决导出时包含空子列表数据异常的问题
Merge pull request !595 from 也曾为你、像超人/N/A
2022-10-10 01:20:41 +00:00
疯狂的狮子li
84de5a5d42 update redisson 3.17.6 => 3.17.7 修复设置NameMapper导致队列功能异常问题 2022-10-09 09:26:18 +08:00
疯狂的狮子Li
6fe80cff6b fix 修复开启账号同端互斥登录 被顶掉后登出报null异常问题 2022-10-01 23:26:18 +08:00
也曾为你、像超人
c542b7ac32 解决导出时包含空子列表数据异常的问题
Signed-off-by: 也曾为你、像超人 <1553592282@qq.com>
2022-09-30 23:06:10 +00:00
RuoYi
3607e008a3 优化限流打印日志KEY(I5SQ09) 2022-09-28 19:32:55 +08:00
RuoYi
5b8edbf381 修复代码生成勾选属性无效问题 2022-09-28 19:31:52 +08:00
RuoYi
03f7bc0f3f 导入更新用户数据前校验数据权限 2022-09-28 19:26:16 +08:00
疯狂的狮子li
0c54416040 fix 修复 snakeyaml 1.31 依旧存在漏洞 升级 1.32 2022-09-26 17:58:46 +08:00
疯狂的狮子li
0d188d6a39 fix 修复 snakeyaml 漏洞 强制升级依赖版本(临时处理等boot升级) 2022-09-26 17:09:41 +08:00
RuoYi
e95a1245c5 若依 3.8.4 2022-09-26 08:29:03 +08:00
疯狂的狮子li
a3b761f4e0 update 优化 vue3说明文件 编码问题 2022-09-23 15:06:28 +08:00
疯狂的狮子li
6e0c5817d5 update springboot 2.7.3 => 2.7.4
update springboot-admin 2.7.4 => 2.7.5
2022-09-23 09:37:18 +08:00
疯狂的狮子Li
e410fc8c41 !238 【轻量级 PR】优化 Sa-Token 拦截器排除配置
Merge pull request !238 from MichelleChung/dev
2022-09-22 05:08:04 +00:00
zlyx
9e7141f97c update 优化 Sa-Token 拦截器注册 SaTokenConfig#addInterceptors 排除拦截路径配置, 优化说明 ; 2022-09-22 11:36:58 +08:00
RuoYi
d7441edae7 升级core-js到最新版本3.25.2 2022-09-22 11:13:49 +08:00
RuoYi
5053361a7f 升级fastjson到最新版2.0.14 2022-09-22 11:13:32 +08:00
疯狂的狮子li
91c99d305c update hutool 5.8.6 => 5.8.7
update tlog 1.4.3 => 1.5.0 安全性升级
2022-09-21 14:56:55 +08:00
疯狂的狮子li
2c39f26de3 update 优化 替换 satoken 过期配置 2022-09-21 11:45:45 +08:00
抓蛙师
a680a84d91 !236 前端适配多字段排序功能案例OSS页面(重新排序需点击重置按钮,否则按照点击顺序依次排序,重复点击的字段排序位置不发生改变)
* 完善前端适配多字段排序功能案例OSS页面(完善排序图标显示效果和重置效果,支持正序,倒序,取消排序)
* 前端适配多字段排序功能案例OSS页面(重新排序需点击重置按钮,否则按照点击顺序依次排序,重复点击的字段排序位置不发生改变)
2022-09-20 08:41:40 +00:00
疯狂的狮子li
390edc5e3e update 优化 oss管理 支持时间排序 2022-09-20 10:51:08 +08:00
疯狂的狮子li
663024ac7f update 优化 pr235 解决小问题与优化写法 2022-09-20 10:46:43 +08:00
疯狂的狮子Li
0e75aa6250 !235 update 多排序参数支持
Merge pull request !235 from 抓蛙师/auto-7465549-dev-e641f38b
2022-09-20 02:45:06 +00:00
抓蛙师
693a33f660 完善功能:前端可以配置多排序参数支持依次排序 如:{isAsc:"asc",orderByColumn:"id"}
{isAsc:"asc",orderByColumn:"id,createTime"}
{isAsc:"asc,desc",orderByColumn:"id,createTime"}
共三种配置方式
2022-09-19 21:46:32 +08:00
MichelleChung
8af85e8066 !234 【轻量级 PR】使用 @SaIgnore 替换 @Anonymous
Merge pull request !234 from MichelleChung/dev
2022-09-19 12:30:46 +00:00
疯狂的狮子li
513bda53cd fix 修复 在线用户设置永不过期 超时时间-1推送redis无效问题 2022-09-19 18:18:01 +08:00
疯狂的狮子li
cf7df6a14c fix 修复 在线用户设置永不过期 被过滤问题 2022-09-19 17:24:58 +08:00
若依
acbdd6365a !581 优化日志操作中重置按钮时重复查询的问题
Merge pull request !581 from 也曾为你、像超人/N/A
2022-09-19 06:41:36 +00:00
也曾为你、像超人
e781f88eca 优化日志操作中重置按钮时重复查询的问题
Signed-off-by: 也曾为你、像超人 <1553592282@qq.com>
2022-09-19 06:30:47 +00:00
RuoYi
86d16d070d 通用下载方法新增config配置选项(I5PNXE) 2022-09-19 13:09:21 +08:00
疯狂的狮子Li
3c4c91dc7d update 更改差异命名 与镜像名同步 2022-09-18 22:58:53 +08:00
疯狂的狮子Li
574837a92a !229 升级sa-token到最新版1.31.0
Merge pull request !229 from Charles7c/dev
2022-09-18 14:14:11 +00:00
RuoYi
854b405d89 修改用户登录账号重复验证 2022-09-18 11:26:03 +08:00
Charles7c
7d66a5bd84 升级:升级sa-token到最新版1.31.0 2022-09-16 09:06:07 +08:00
疯狂的狮子li
2c7663d971 reset 回滚代码生成相关修复提交 2022-09-15 10:07:35 +08:00
疯狂的狮子li
6281ec0456 fix 修复 不同网段因reset请求头导致下载导出跨域问题 2022-09-15 09:48:17 +08:00
RuoYi
c3faa1a925 升级element-ui到最新版本2.15.10 2022-09-15 08:48:43 +08:00
疯狂的狮子Li
111db70908 !233 【轻量级 PR】修正控制台日志打印格式化问题
Merge pull request !233 from MichelleChung/dev
2022-09-14 06:44:11 +00:00
zlyx
d6400e382a fix 修正控制台日志打印格式化问题 ; 2022-09-14 14:22:49 +08:00
疯狂的狮子li
8f34644692 Merge remote-tracking branch 'origin/dev' into 4.X 2022-09-13 18:26:34 +08:00
疯狂的狮子li
7135a917c5 fix 修复 日志转换非json数据导致报错 2022-09-13 18:26:12 +08:00
疯狂的狮子li
e2bcd943f5 fix 修复 用户导入存在则更新不生效 2022-09-13 18:19:48 +08:00
疯狂的狮子li
d7c855b6f5 fix 修复 用户导入存在则更新不生效 2022-09-13 18:12:24 +08:00
疯狂的狮子li
d2774d3706 Merge remote-tracking branch 'origin/dev' into 4.X 2022-09-13 16:33:41 +08:00
疯狂的狮子li
adfae03953 🐣发布 4.3.0 正式版 2022-09-13 16:30:13 +08:00
疯狂的狮子Li
8298a08592 !232 update 缩进配置文件.editorconfig添加.yaml文件格式支持
Merge pull request !232 from 枕梦记/N/A
2022-09-13 08:25:35 +00:00
枕梦记
9a3111487a update 缩进配置文件.editorconfig添加.yaml文件格式支持
Signed-off-by: 枕梦记 <545073804@qq.com>
2022-09-13 08:25:05 +00:00
疯狂的狮子Li
0788bcfcb0 !231 回退 'Pull Request !230 : 【轻量级 PR】:update 缩进配置文件.editorconfig添加.yaml文件格式支持'
Merge pull request !231 from 疯狂的狮子Li/revert-merge-230-4.X
2022-09-13 08:22:04 +00:00
疯狂的狮子Li
e4fff795b8 回退 'Pull Request !230 : 【轻量级 PR】:update 缩进配置文件.editorconfig添加.yaml文件格式支持' 2022-09-13 08:20:54 +00:00
疯狂的狮子Li
fd7dc204de !230 update 缩进配置文件.editorconfig添加.yaml文件格式支持
Merge pull request !230 from 枕梦记/N/A
2022-09-13 08:20:05 +00:00
枕梦记
4e807455e0 update 缩进配置文件.editorconfig添加.yaml文件格式支持
Signed-off-by: 枕梦记 <545073804@qq.com>
2022-09-13 08:19:19 +00:00
疯狂的狮子li
8c9c52417e Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	README.md
#	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/R.java
#	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
#	ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml
#	ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java
#	ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
#	ruoyi-ui/src/views/index.vue
2022-09-13 14:57:56 +08:00
疯狂的狮子li
be51b4bf25 fix 修复 没有权限的用户编辑部门缺少数据 2022-09-13 14:06:53 +08:00
疯狂的狮子li
5761ba4271 update druid 1.2.11 => 1.2.12
update hutool 5.8.5 => 5.8.6
update dynamic-ds 3.5.1 => 3.5.2
update aws-java-sdk-s3 1.12.264 => 1.12.300
update aliyun-sms 2.0.16 => 2.0.18
update tencent-sms 3.1.555 => 3.1.591
2022-09-13 11:02:44 +08:00
疯狂的狮子li
9e075f5c85 fix 修复 oss配置删除内部数据id匹配类型问题 2022-09-13 09:31:44 +08:00
RuoYi
37d6cc8146 优化代码生成同步后值NULL问题(I5OJDW) 2022-09-13 08:23:30 +08:00
RuoYi
2293822dc2 优化没有权限的用户编辑部门缺少数据(I5OF3O) 2022-09-12 17:22:23 +08:00
RuoYi
f5bec70911 R add isError and isSuccess method 2022-09-12 17:22:07 +08:00
若依
87c53a049b !574 修复 issue#I5Q2ZO
Merge pull request !574 from 捏造的信仰/fix-I5Q2ZO
2022-09-09 01:45:12 +00:00
若依
5bcd2825b6 !568 style重复赋值
Merge pull request !568 from coverme/N/A
2022-09-09 01:25:22 +00:00
疯狂的狮子Li
fc442f482d !226 【轻量级Pr】修正文档说明时间单位错误
Merge pull request !226 from MichelleChung/dev
2022-09-08 14:35:02 +00:00
zlyx
a26c02006f fix 修正文档说明时间单位错误 ; 2022-09-08 22:27:44 +08:00
疯狂的狮子li
be37190c09 fix 修复 openapi结构体 因springdoc缓存导致多次拼接接口路径问题 2022-09-07 14:51:09 +08:00
捏造的信仰
036144b9ea 插入 SysOperLog 时,限制 operUrl 属性的长度
Signed-off-by: 捏造的信仰 <yiding.he@gmail.com>
2022-09-07 03:00:51 +00:00
疯狂的狮子Li
2f2021caaf !225 【轻量级 PR】:update 修复镜像标签命名与docker-compose不一致
Merge pull request !225 from JackyTang/N/A
2022-09-03 07:12:05 +00:00
JackyTang
4a00e4c9b1 update 修复镜像标签命名与docker-compose不一致
Signed-off-by: JackyTang <5206969+jackytang_520@user.noreply.gitee.com>
2022-09-03 06:14:06 +00:00
疯狂的狮子li
541c2df8db fix 修复 运行配置错误命名 2022-09-02 18:55:25 +08:00
疯狂的狮子li
0e39f6fa2d remove 移除部署脚本 使用idea功能替代 2022-09-02 17:55:02 +08:00
疯狂的狮子li
17f0c20242 remove 移除maven docker插件 过于老旧功能缺陷大 使用idea自带的docker插件替代 2022-09-02 16:30:20 +08:00
疯狂的狮子Li
24be022d4c fix 修复 minio 特殊配置导致其他 oss 出现的问题 2022-08-31 21:44:46 +08:00
疯狂的狮子li
1f41b1db02 remove 删除 无用方法 2022-08-31 19:29:53 +08:00
疯狂的狮子li
bd338dd934 update 重构 QueueUtils 抽取通用方法 统一使用 适配优先队列新用法 2022-08-31 19:19:31 +08:00
疯狂的狮子li
1920ba94b7 add 增加 QueueUtils 操作普通队列的方法 2022-08-31 18:28:06 +08:00
疯狂的狮子Li
ccb1449fb2 !224 fix 修复 对象存储js注解错误
Merge pull request !224 from 梁剑锋/dev
2022-08-31 09:01:46 +00:00
梁剑锋
3fb15d8ec3 fix 修复 注解文字错误
Signed-off-by: 梁剑锋 <1822213252@qq.com>
2022-08-31 08:56:50 +00:00
疯狂的狮子Li
3f4d51b485 !223 fix 修复 spring cache 获取在线用户失败问题
Merge pull request !223 from MichelleChung/dev
2022-08-30 04:42:59 +00:00
zlyx
64ce9daf88 fix 修正 spring cache 获取在线用户失败问题, 回退为使用 redis 工具缓存 ; 2022-08-30 11:44:44 +08:00
疯狂的狮子li
0a07236347 update 优化 操作日志密码脱敏 2022-08-29 14:30:56 +08:00
RuoYi
42d602b7a8 添加新群号:160110482 2022-08-28 20:09:25 +08:00
胡亚飞
d4b800036c style重复赋值
Signed-off-by: 胡亚飞 <huyafeily@aliyun.com>
2022-08-26 16:26:09 +00:00
疯狂的狮子Li
0b0a52c699 !221 hutool版本影响
Merge pull request !221 from 沉浸独/dev
2022-08-26 07:21:24 +00:00
疯狂的狮子li
b289f4c1b1 update 优化 调整 oss表key 与 ossconfig的service 字段长度不匹配 2022-08-26 14:54:31 +08:00
沉浸独
edbde96487 sa-token-jwt中hutool是5.7.14,会影响到项目中的5.8.5的使用;使用Ipv4Util时,用的是5.7.14 2022-08-26 14:46:08 +08:00
若依
2f380f0c41 !564 修复执行任务时,若方法入口在任务的父类,则无法执行的问题
Merge pull request !564 from 捏造的信仰/fix-issue-I5NNXI
2022-08-26 00:42:03 +00:00
疯狂的狮子Li
bc76319f28 !220 【轻量级Pr】修复角色表实体类非表字段注解缺失
Merge pull request !220 from MichelleChung/dev
2022-08-25 05:59:41 +00:00
zlyx
5c2313d622 [fix]:
1. (common) SysRole 角色表 - 修正表字段不存在异常 ;
2022-08-25 13:54:31 +08:00
疯狂的狮子li
aa638475e9 update 同步 ruoyi 新功能 2022-08-25 12:30:32 +08:00
疯狂的狮子li
4af334f2ad update 同步 ruoyi 新功能 2022-08-25 12:08:50 +08:00
疯狂的狮子li
21ab56ff78 update 优化 菜单sql脚本注释错误 2022-08-25 09:53:34 +08:00
疯狂的狮子li
09c4c40d4d update 优化 菜单状态注释错误 2022-08-25 09:44:43 +08:00
疯狂的狮子li
2cb1b84204 fix 修复 部门与角色 状态导出字典使用错误 2022-08-25 09:42:07 +08:00
疯狂的狮子li
d1ef8f5eb3 fix 修复 postgresql 时间查询类型转换报错问题 2022-08-24 18:03:09 +08:00
RuoYi
39efed1710 修复多文件上传报错出现的异常问题 2022-08-24 11:18:52 +08:00
RuoYi
9a895763d5 优化页面内嵌iframe切换tab不刷新数据 2022-08-23 20:59:26 +08:00
疯狂的狮子li
3950f3c869 fix 修复 文件/图片上传组件 第一次上传报错导致后续上传无限loading问题 2022-08-23 18:34:42 +08:00
RuoYi
7347cbaedf 优化页面内嵌iframe切换tab不刷新数据 2022-08-23 17:29:09 +08:00
疯狂的狮子li
ba2994210c fix 修复 点击删除后点击取消控制台报错问题 2022-08-23 16:19:31 +08:00
梁剑锋
f1a4b363c6 !219 修复点击删除后再点取消控制台报错
* 修复点击删除后再点取消控制台报错,并修改样式
* 修复取消控制台报错
2022-08-23 08:16:23 +00:00
捏造的信仰
a78b5b7b2a 修复执行任务时,若方法入口在任务的父类,则无法执行的问题
实际项目开发中,可能会为所有定时任务类建一个共同的父类,任务的执行入口在父类定义,以便管理。此时使用 `getDeclaredMethod()` 是无法从子类找到要执行的方法的,而是要换用 `getMethod()` 方法。

Signed-off-by: 捏造的信仰 <yiding.he@gmail.com>
2022-08-23 05:36:29 +00:00
疯狂的狮子li
e104f0cce5 fix 修复 minio配置https遇到的问题 2022-08-22 18:42:33 +08:00
疯狂的狮子li
5d6f76d11a fix 修复 国际化文件提交为特殊编码问题 2022-08-22 15:34:45 +08:00
RuoYi
99d1760b98 优化代码 2022-08-22 15:27:58 +08:00
若依
4d71cfa90a !562 修复菜单管理已知问题
Merge pull request !562 from 稚屿/N/A
2022-08-22 06:20:18 +00:00
稚屿
e02f692359 修复菜单管理已知问题
问题描述:在菜单管理下,类型为菜单或者按钮的条目下点击修改按钮。
情况1,如果是类型为菜单,第一次点击修改按钮正常,则第二次点击另一个条目后面的修改按钮时报错!
情况2,如果是类型为按钮,第一次点击修改时正常,当点击取消按钮关闭弹窗时,浏览器报错!

报错代码:this.resetForm("form")

修复方案:添加遗漏的表单 prop 属性

Signed-off-by: 稚屿 <1491182878@qq.com>
2022-08-22 06:19:08 +00:00
疯狂的狮子li
9a7e66826c update springboot 2.7.2 => 2.7.3
update springboot-admin 2.7.3 => 2.7.4
update springdoc 1.6.9 => 1.6.11
2022-08-22 13:00:52 +08:00
RuoYi
77ec8d1c9a 修复代码生成权限父编号错误(I5NATP) 2022-08-22 12:21:07 +08:00
RuoYi
66ce21ec29 升级fastjson到最新版2.0.12 2022-08-22 12:04:01 +08:00
RuoYi
27e0937235 支持多权限字符匹配角色数据权限 2022-08-22 12:03:51 +08:00
RuoYi
aadb7a41cb 优化Context信息,防止泄漏问题 2022-08-22 10:24:20 +08:00
RuoYi
9b3767a954 优化多角色数据权限匹配规则 2022-08-21 22:53:57 +08:00
疯狂的狮子li
67e20711d4 Merge remote-tracking branch 'origin/dev' into 4.X 2022-08-17 18:22:04 +08:00
疯狂的狮子li
d1681dc18c 👀 发布 4.3.0-beta2 公测版 2022-08-17 18:19:48 +08:00
疯狂的狮子li
0c58ba5057 fix 修复 部署脚本 cp 命令缺少参数问题 2022-08-17 17:44:42 +08:00
疯狂的狮子Li
34997ef3e1 add 新增 获取oss对象元数据方法 2022-08-16 22:11:55 +08:00
疯狂的狮子li
7d57725490 fix 修复 xxljob prod 环境配置文件 数据库ip漏改 2022-08-16 18:06:33 +08:00
疯狂的狮子li
0fa0070062 fix 修复 短信功能是否启用判断不生效BUG 2022-08-16 16:30:56 +08:00
RuoYi
851dc54b49 修复图片预览组件src属性为null值控制台报错问题(I5KBAS) 2022-08-15 12:07:24 +08:00
疯狂的狮子li
9f2fe90e50 update 优化 业务缓存代码 2022-08-15 10:55:43 +08:00
RuoYi
cf2c4e02c6 字典管理操作类型新增其他 2022-08-14 09:40:36 +08:00
疯狂的狮子Li
d351c59b38 update 优化 缓存列表管理 适配 spring-cache 缓存的数据 2022-08-14 01:50:32 +08:00
疯狂的狮子Li
8837119aad update 优化 在线用户功能 使用 spring-cache 管理 2022-08-14 01:50:00 +08:00
疯狂的狮子Li
f9a9431958 update 优化 pr215 解决一些问题 2022-08-14 01:49:05 +08:00
疯狂的狮子Li
56d209cd20 fix 修复 BaseMapperPlus 方法命令不一致问题 2022-08-13 23:53:04 +08:00
MichelleChung
0936aaccea !215 使用Spring Cache注解优化缓存 2022-08-13 15:35:55 +00:00
疯狂的狮子Li
89c1e4f91d update 重写 spring-cache 实现 更人性化的操作 支持注解指定ttl等一些参数 2022-08-13 11:30:33 +08:00
RuoYi
88b5715eae 升级oshi到最新版本6.2.2 2022-08-12 12:17:48 +08:00
RuoYi
5b05d4a123 个人中心修改密码去除多余的user传递 2022-08-12 12:17:28 +08:00
RuoYi
893ef39401 防止用户个人信息修改部门 2022-08-12 12:16:30 +08:00
RuoYi
890ad682d7 优化修改资料头像被覆盖的问题(I5LK04) 2022-08-11 13:22:55 +08:00
疯狂的狮子li
5d367b7bf8 update 优化 getLoginId 增加必要参数空校验 2022-08-11 12:40:21 +08:00
RuoYi
b9f45057b8 操作日志记录支持排除敏感属性字段 2022-08-10 18:01:02 +08:00
RuoYi
89008c28df 升级fastjson到最新版2.0.11 2022-08-10 14:03:35 +08:00
RuoYi
af7d0a3409 优化导出对象的子列表判断条件 2022-08-10 13:59:57 +08:00
RuoYi
1cd2eef899 优化excel/scale属性导出单元格数值类型 2022-08-09 08:02:24 +08:00
若依
8c7b93ec4f !547 fix: 账户解锁接口去掉多余的 /
Merge pull request !547 from iacker/N/A
2022-08-08 23:44:57 +00:00
iacker
3f7bf545b5 fix: 账户解锁接口去掉多余的 / 2022-08-08 13:55:08 +00:00
疯狂的狮子li
138842e9ba fix 修复 用户登录与短信登录 国际化格式不一致 2022-08-08 18:23:10 +08:00
疯狂的狮子li
07f3517b6f fix 修复 用户登录与短信登录 国际化格式不一致 2022-08-08 18:20:29 +08:00
疯狂的狮子li
1a8e2b3e63 Merge remote-tracking branch 'origin/dev' into 4.X
# Conflicts:
#	script/docker/nginx/conf/nginx.conf
2022-08-08 16:08:45 +08:00
疯狂的狮子li
e57682aa53 👀 发布 4.3.0-beta1 公测版 2022-08-08 15:59:22 +08:00
疯狂的狮子li
46287da60e update springboot-admin 2.7.2 => 2.7.3
update redisson 3.17.4 => 3.17.5
update hutool 5.8.4 => 5.8.5
2022-08-08 15:47:31 +08:00
疯狂的狮子li
0cecbec3b3 update 更新 解锁菜单权限sql 2022-08-08 11:21:44 +08:00
疯狂的狮子li
515657616a update 适配ruoyi错误登录与解锁功能 2022-08-08 10:21:20 +08:00
疯狂的狮子li
be7766b5f0 update 同步ruoyi 2022-08-08 10:03:56 +08:00
abbfun
168d49fe0b 优化表格上右侧工具条(搜索按钮显隐&右侧样式凸出)
无搜索条件时可通过search隐藏搜索按钮,工具条组右侧样式超出5px(相对于底部表格),其父节点gutter代码生成默认10,此处也默认10,使工具组样式左右一致

(cherry picked from commit d4475d0e8d)
2022-08-08 09:46:08 +08:00
RuoYi
cbedec7ca6 登录日志新增解锁账户功能 2022-08-08 09:23:52 +08:00
RuoYi
fb1bac2114 新增删除Hash中的某条数据 2022-08-07 19:31:04 +08:00
RuoYi
d0f399a66a 优化xss过滤后格式出现的异常 2022-08-07 19:30:54 +08:00
RuoYi
e73dbd470a Excel注解支持导出对象的子列表方法 2022-08-07 18:33:04 +08:00
RuoYi
e0cd5381e2 数据逻辑删除不进行唯一验证 2022-08-03 16:48:55 +08:00
疯狂的狮子li
8fe07a7e6d fix 修复用户导出字典使用错误 2022-08-01 18:13:16 +08:00
疯狂的狮子li
4a796d0e81 update 优化 前后端多环境部署保持一致 删除无用环境文件 2022-08-01 13:34:19 +08:00
RuoYi
aee5d417ed 支持配置密码最大错误次数/锁定时间 2022-07-30 14:01:38 +08:00
RuoYi
250c5ba226 优化任务过期不执行调度 2022-07-29 20:28:59 +08:00
若依
b91c848962 !538 优化表格上右侧工具条(搜索按钮显隐&右侧样式凸出)
Merge pull request !538 from abbfun/N/A
2022-07-29 12:28:38 +00:00
疯狂的狮子li
027cd821a2 fix 修复 脱敏没有实现类导致返回数据异常问题 2022-07-29 14:25:28 +08:00
疯狂的狮子li
e3e9fe5106 update 同步 ruoyi 2022-07-27 18:40:35 +08:00
疯狂的狮子li
26b0dc336a update 同步 ruoyi 2022-07-27 18:34:45 +08:00
abbfun
d4475d0e8d 优化表格上右侧工具条(搜索按钮显隐&右侧样式凸出)
无搜索条件时可通过search隐藏搜索按钮,工具条组右侧样式超出5px(相对于底部表格),其父节点gutter代码生成默认10,此处也默认10,使工具组样式左右一致
2022-07-27 09:05:31 +00:00
疯狂的狮子Li
1c935819db update 优化 生成接口路径 支持服务自定义 contextPath 路径 2022-07-26 23:43:01 +08:00
疯狂的狮子Li
0c9398776a fix 修复 幂等组件 逻辑问题导致线程变量未清除 2022-07-26 20:20:20 +08:00
RuoYi
aff54ab5fe 自定义数据权限不排除重复 2022-07-26 20:02:17 +08:00
RuoYi
06177addf5 添加新群号:104748341 2022-07-25 18:45:51 +08:00
若依
9f3b91fe57 !535 所有的覆写方法,必须加@Override注解
Merge pull request !535 from 天才的逻辑/master
2022-07-25 10:32:48 +00:00
若依
80d25863db !536 防止主键字段名与'row'或'ids'一致导致报错的问题。
Merge pull request !536 from 张政/N/A
2022-07-25 10:32:42 +00:00
张政
cf8a7f8678 防止主键字段名与'row'或'ids'一致导致报错的问题。 2022-07-23 08:29:52 +00:00
疯狂的狮子li
a8d798c38a fix 修复 RedisUtils 并发 set ttl 错误问题 2022-07-22 17:34:14 +08:00
疯狂的狮子li
975b84a394 update 优化 pr210 注释 2022-07-22 15:40:54 +08:00
疯狂的狮子Li
ef121fa664 !210 优化:OSS文件上传,主动设置文件公共读,适配天翼云OSS
Merge pull request !210 from JaneYork/dev
2022-07-22 07:39:37 +00:00
JaneYork
f4c1816084 主动设置文件公共读,适配天翼云OSS
主动设置文件公共读,适配天翼云OSS。
天翼云,即便bucket设置公共读,文件默认也是private,除非手动设置,详见天翼云:https://console.xstore.ctyun.cn/doc/store/sdk/java/objectOperation/putObject.html
已测试:
所有兼容S3协议的OSS,已测试:阿里云、腾讯云、百度、京东、天翼、自建Minio、七牛
2022-07-22 07:27:00 +00:00
RuoYi
86fc709b03 升级pagehelper到最新版1.4.3 2022-07-22 14:54:38 +08:00
疯狂的狮子li
afc4f9552f update 更改首页过时的技术 2022-07-22 12:34:14 +08:00
b8b58cb202 所有的覆写方法,必须加@Override注解 2022-07-22 10:57:00 +08:00
96970ff951 所有的覆写方法,必须加@Override注解 2022-07-22 10:35:31 +08:00
疯狂的狮子li
c2c0a03932 update 更新框架文档 专栏与视频 链接地址 2022-07-22 10:24:09 +08:00
疯狂的狮子li
9bc2d2981b update springboot 2.7.1 => 2.7.2
update hutool 5.8.3 => 5.8.4
update okhttp 4.9.1 => 4.10.0
update lock4j 2.2.1 => 2.2.2
update aws-java-sdk-s3 1.12.248 => 1.12.264 修复依赖安全漏洞
update aliyun.sms 2.0.9 => 2.0.16
update tencent.sms 3.1.537 => 3.1.555
update guava 30.0-jre => 31.1-jre
2022-07-22 09:59:19 +08:00
RuoYi
7cc9d17424 支持自定义隐藏Excel属性列 2022-07-21 13:52:05 +08:00
RuoYi
bc8b5f1079 优化布局设置使用el-drawer抽屉显示 2022-07-21 08:50:48 +08:00
RuoYi
5ec5e1a65d 优化字典数据使用store存取 2022-07-20 19:38:16 +08:00
RuoYi
1f0e742710 Excel注解支持backgroundColor属性设置背景色 2022-07-20 09:39:58 +08:00
疯狂的狮子Li
801615f780 update 优化 数据导致权限生成 SQL 重复问题 2022-07-19 19:06:21 +08:00
RuoYi
28b9fbb4d2 优化多个相同角色数据导致权限SQL重复问题 2022-07-19 15:55:03 +08:00
疯狂的狮子li
d51b77f42b add 增加框架声明 2022-07-19 11:31:54 +08:00
疯狂的狮子li
6f83ed3285 reset 回滚错误合并 2022-07-18 11:55:52 +08:00
疯狂的狮子Li
369e4be31c !207 update 优化 OSS 自定义域名拼接 无需配置HTTP等前缀
Merge pull request !207 from JaneYork/4.X
2022-07-18 03:50:54 +00:00
JaneYork
5c9fe22780 修复:OSS自定义域名拼接问题,无需配置HTTP等前缀
修复:OSS自定义域名拼接问题,无需配置HTTP、HTTPS等前缀
2022-07-18 03:46:13 +00:00
疯狂的狮子Li
a2843b599d !205 StreamUtils优化分组方法返回由HashMap无序转为LinkedHashMap有序
Merge pull request !205 from 抓蛙师/auto-7465549-dev-1657957318499
2022-07-16 07:44:26 +00:00
抓蛙师
55ba098e50 StreamUtils优化分组方法返回由HashMap无序转为LinkedHashMap有序 2022-07-16 15:41:51 +08:00
疯狂的狮子Li
1fdd81b4fa !203 首页允许匿名访问
Merge pull request !203 from 抓蛙师/auto-7465549-dev-1657880190877
2022-07-15 10:17:15 +00:00
抓蛙师
d4af02f600 首页允许匿名访问 2022-07-15 18:16:26 +08:00
疯狂的狮子li
d7cf341eb3 update 格式化代码 2022-07-15 14:45:56 +08:00
疯狂的狮子li
079e6f7c20 update 优化 部署脚本 防止出现权限问题 2022-07-15 14:30:08 +08:00
疯狂的狮子li
8a930bd7d5 update 优化 pr201 代码逻辑 2022-07-14 21:26:51 +08:00
RuoYi
2c79dc906e 升级oshi到最新版本6.2.1 2022-07-14 19:49:32 +08:00
RuoYi
1852017ecc 修改验证码开关变量名 2022-07-14 19:49:00 +08:00
疯狂的狮子li
ca301891db update 优化 缓存监控 相关代码 2022-07-14 19:16:09 +08:00
抓蛙师
ce7536df9f !201 redission处理增加前缀
* redission处理判断无前缀则不处理
* redission处理增加前缀
2022-07-14 11:15:17 +00:00
若依
424d11896a !531 去除生成验证码多余的逻辑判断
Merge pull request !531 from 稚屿/N/A
2022-07-14 09:28:46 +00:00
疯狂的狮子li
ae707d340b update 优化 DateColumn 支持单模板多key场景 2022-07-14 10:55:49 +08:00
稚屿
edefee46b2 去除生成验证码多余的逻辑判断 2022-07-13 01:00:44 +00:00
疯狂的狮子Li
77ac99a1d0 !198 Merge remote-tracking branch 'origin/dev' into dev
Merge pull request !198 from 孤舟烟雨/auto-494979-dev-1657633741164
2022-07-12 14:52:06 +00:00
liyang
918708a227 Merge remote-tracking branch 'origin/dev' into dev 2022-07-12 21:48:55 +08:00
liyang
3ba8cf4102 修改方法描述 2022-07-12 21:48:42 +08:00
孤舟烟雨
73db68b08b !197 修改方法描述
* 修改方法描述
2022-07-12 13:02:08 +00:00
liyang
ecc4aa5571 修改方法描述 2022-07-12 21:00:55 +08:00
liyang
a1a13708be 修改方法描述 2022-07-12 20:59:21 +08:00
RuoYi
c7c3da2038 升级fastjson到最新版2.0.9 2022-07-12 18:07:05 +08:00
RuoYi
eb9f3d3772 修改验证码开关变量名 2022-07-12 18:04:49 +08:00
若依
1a61790407 !523 修改错误的变量名
Merge pull request !523 from SG/N/A
2022-07-12 10:02:50 +00:00
若依
fe98fba5b5 !527 调增数组格式声明,random随机转换修正
Merge pull request !527 from 靖少毅/jsy20220705
2022-07-12 10:01:56 +00:00
疯狂的狮子Li
ff3ad74fb4 !196 删除代码生成中swagger引用
Merge pull request !196 from 梁剑锋/dev
2022-07-12 07:53:08 +00:00
疯狂的狮子li
7cf93278d3 remove 删除 代码生成模板 多余的 swagger 导包代码 2022-07-12 15:52:03 +08:00
梁剑锋
1d9f2d2ce7 remove 删除swagger引用 2022-07-12 07:50:42 +00:00
疯狂的狮子li
f109bd4a02 update springboot 2.6.9 => 2.7.1 2022-07-12 11:09:42 +08:00
疯狂的狮子li
aeebf7fa95 fix 修复 获取 bean 存在多个问题 2022-07-12 10:33:38 +08:00
疯狂的狮子li
c57ab693e4 update 更新 README.md 与 项目首页 关于接口文档介绍 2022-07-11 16:34:31 +08:00
疯狂的狮子li
af54608f62 update 优化 移除自带 swagger-ui 界面包 建议使用外置工具 2022-07-11 16:29:16 +08:00
疯狂的狮子li
f2d502faf8 fix 修复 sqlserver 更新sql错误提交 2022-07-11 16:21:20 +08:00
疯狂的狮子li
6c1e146bc1 update 优化 docker 部署方式 使用 host 模式简化部署流程 降低使用成本 2022-07-11 13:10:41 +08:00
疯狂的狮子li
15d5eb858c fix 修复 短信功能返回实体 SysSms 序列化问题 2022-07-11 09:39:39 +08:00
疯狂的狮子Li
ac1d7aa69f update 优化 路由与 springfox 兼容问题 启用新路由方式 2022-07-09 12:57:46 +08:00
疯狂的狮子Li
da4077f3b7 update 修改 生成错误注释 2022-07-09 04:05:40 +00:00
疯狂的狮子Li
25f9f72366 remove 删除无用导包 2022-07-08 22:44:29 +08:00
疯狂的狮子li
7f04327625 update 优化 自定义 openapi 处理器 彻底实现零注解无入侵生成文档 2022-07-08 19:17:48 +08:00
疯狂的狮子li
dd25573ebc update 使用 @param 注释替换 @Parameter 注解
fix 修复 token 无法传递 与 无法持久化问题
2022-07-08 15:49:15 +08:00
疯狂的狮子li
d9e54388e7 add 整合 springdoc-openapi-javadoc 基于代码注释生成文档 2022-07-07 19:07:59 +08:00
疯狂的狮子li
0b07780619 add 整合 springdoc 移除 knife4j 2022-07-07 18:08:14 +08:00
疯狂的狮子li
48cb0a1bb1 update 更新过时配置 WebSecurityConfigurerAdapter 改为 bean 注入 2022-07-06 16:13:42 +08:00
疯狂的狮子li
84f00e7cad 同步ruoyi 2022-07-06 15:46:56 +08:00
疯狂的狮子li
a46a7458e1 Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	README.md
#	pom.xml
#	ruoyi-admin/pom.xml
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
#	ruoyi-admin/src/main/resources/application.yml
#	ruoyi-common/pom.xml
#	ruoyi-common/src/main/java/com/ruoyi/common/annotation/RateLimiter.java
#	ruoyi-common/src/main/java/com/ruoyi/common/constant/CacheConstants.java
#	ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
#	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/R.java
#	ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatedlyRequestWrapper.java
#	ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java
#	ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java
#	ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java
#	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
#	ruoyi-framework/pom.xml
#	ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
#	ruoyi-generator/pom.xml
#	ruoyi-job/pom.xml
#	ruoyi-system/pom.xml
#	ruoyi-system/src/main/java/com/ruoyi/system/domain/SysCache.java
#	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDictTypeMapper.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
#	ruoyi-ui/package.json
#	ruoyi-ui/src/views/index.vue
#	ruoyi-ui/src/views/monitor/cache/list.vue
#	ruoyi-ui/src/views/system/dict/data.vue
#	ruoyi-ui/vue.config.js
#	sql/ry_20220625.sql
2022-07-06 15:46:19 +08:00
疯狂的狮子li
c33aa5c969 add 同步ruoyi 新增缓存列表菜单功能 2022-07-06 15:42:45 +08:00
疯狂的狮子li
0ee5fd1ac0 fix 修复 hutool 工具返回不可操纵类型 导致报错问题 2022-07-05 19:00:10 +08:00
靖少毅
4eb8809a8a 调增数组格式声明,random随机转换修正 2022-07-05 16:43:55 +08:00
疯狂的狮子li
9315417935 update 修改 oss 客户端自定义域名 统一使用https开关控制协议头 2022-07-05 15:31:48 +08:00
疯狂的狮子li
1bb1b3886b fix 修复 minio 上传自定义域名回显路径错误问题 2022-07-05 15:20:32 +08:00
疯狂的狮子li
9cd4f0c332 update 补全 StreamUtils 类注释 2022-07-05 11:03:28 +08:00
疯狂的狮子li
0d8510b8b3 update 优化 使用 StreamUtils 简化业务流操纵 2022-07-05 11:02:04 +08:00
疯狂的狮子li
6b57a8161c add 增加 StreamUtils 流工具 简化 stream 流操纵 2022-07-05 11:00:27 +08:00
疯狂的狮子Li
0a893d196e update 优化魔法值 2022-07-05 02:06:31 +00:00
疯狂的狮子li
a0a09c23da update 优化 pr194 代码 2022-07-05 09:59:18 +08:00
疯狂的狮子Li
1270b6717f !194 魔法值优化
Merge pull request !194 from zendwang/dev
2022-07-05 01:57:19 +00:00
zendwang
d1f8b2ed17 update 优化魔法值 2022-07-04 13:07:07 +08:00
zendwang
765deae84d update 优化魔法值 2022-07-04 13:06:18 +08:00
zendwang
686068c8ed update 优化魔法值 2022-07-04 11:30:43 +08:00
SG
ec45cf04af 修改错误的变量名 2022-07-01 13:56:44 +00:00
疯狂的狮子Li
b9931cda30 !192 优化登出方法
Merge pull request !192 from zendwang/dev
2022-06-30 07:25:22 +00:00
zendwang
8a97d2717b update 优化登出方法 2022-06-30 15:20:02 +08:00
疯狂的狮子Li
b80f733cdb !191 bug-修复代码生成首字母大写问题
Merge pull request !191 from 友杰/dev
2022-06-30 05:43:25 +00:00
友杰
c6b0e61f44 update ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java.
bug-修复代码生成首字母大写问题
2022-06-30 05:41:03 +00:00
疯狂的狮子li
b2a927cc5e fix 修复 更正错误提交 2022-06-29 15:28:43 +08:00
疯狂的狮子li
b73324e800 fix 修复 更正错误提交 2022-06-29 15:28:24 +08:00
疯狂的狮子li
23cbed3aac fix 修复 更正错误提交 2022-06-29 15:26:18 +08:00
疯狂的狮子li
2bd6ad9963 fix 修复 更正错误提交 2022-06-29 15:25:40 +08:00
疯狂的狮子li
ea3d66fda3 fix 修复 获取 SensitiveService 空问题 增加空兼容 2022-06-29 12:43:41 +08:00
疯狂的狮子Li
8acce4a7fc Merge remote-tracking branch 'origin/dev' into 4.X 2022-06-28 21:10:14 +08:00
疯狂的狮子Li
181eaefea8 fix 修复 mysql sys_notice 与 sys_config 表主键类型长度不够问题 2022-06-28 21:09:30 +08:00
疯狂的狮子Li
5e73b88a8a !190 新增短信接口实现类@Override注解
Merge pull request !190 from 梁剑锋/dev
2022-06-28 11:06:17 +00:00
梁剑锋
5e6d0b79e3 update 新增短信接口实现类@Override注解 2022-06-28 10:56:05 +00:00
疯狂的狮子li
bf362b9aba update 更改 readme 版本号 2022-06-28 13:15:45 +08:00
疯狂的狮子li
6b0d9214a9 update 更改 readme 版本号 2022-06-28 13:15:20 +08:00
疯狂的狮子li
9b57c67d3e Merge remote-tracking branch 'origin/dev' into 4.X 2022-06-28 09:44:10 +08:00
疯狂的狮子li
7545323eba 😘 发布 4.2.0 2022-06-28 09:39:34 +08:00
疯狂的狮子Li
5eff9a50b6 update 优化 nginx 限制外网访问内网 actuator 相关路径 2022-06-27 23:02:20 +08:00
疯狂的狮子Li
7dc33c9247 update springboot 2.6.8 => 2.6.9
update easyexcel 3.1.0 => 3.1.1
update hutool 5.8.2 => 5.8.3
update redisson 3.17.2 => 3.17.4
update aws-java-sdk-s3 1.12.215 => 1.12.248
update tencentcloud-sdk-java 3.1.500 => 3.1.537
2022-06-27 11:03:27 +08:00
RuoYi
6f48fc3c58 若依 3.8.3 2022-06-27 08:23:47 +08:00
若依
8558954da7 !516 修复缓存列表页面变量名错误导致错误
Merge pull request !516 from zbk/N/A
2022-06-27 00:10:17 +00:00
zbk
2ae41df23b 修复缓存列表页面变量名错误导致错误 2022-06-26 12:51:55 +00:00
RuoYi
47b8daf69c 字典类型删除多余的mapper注解 2022-06-26 13:10:44 +08:00
RuoYi
ef31a0de42 升级fastjson到最新版2.0.8 2022-06-26 10:37:45 +08:00
RuoYi
8c956d681b 默认不启用压缩文件缓存防止node_modules过大 2022-06-26 08:53:56 +08:00
RuoYi
89eb44afbc 优化字典数据回显样式下拉框显示值 2022-06-26 08:53:15 +08:00
RuoYi
9d7e32fb07 新增缓存列表菜单功能 2022-06-25 09:39:39 +08:00
RuoYi
abb88d622a 调整响应成功状态码与全局保持一致 2022-06-24 09:22:05 +08:00
若依
1ccdd75019 !515 调整响应成功状态码为200,与全局保持一致
Merge pull request !515 from 武玉航/master
2022-06-24 01:16:59 +00:00
陈烁键
aaedafff52 调整响应成功状态码为200,与全局保持一致 2022-06-23 14:42:10 +08:00
RuoYi
3ccf5c0e50 新增内容编码/解码方便插件集成使用 2022-06-22 17:57:33 +08:00
疯狂的狮子li
f25a9832b8 update 优化 logback 删除无用配置 2022-06-20 14:48:55 +08:00
疯狂的狮子li
11d5e2cdbb update 优化 代码生成 业务接口 增加事务回滚 2022-06-17 10:35:43 +08:00
疯狂的狮子li
15f7a7db65 fix 修复 代码生成表字段类型不匹配 导致查询不准确问题 2022-06-17 10:23:40 +08:00
疯狂的狮子li
aec194ba61 update druid 1.2.9 => 1.2.11 2022-06-15 18:22:50 +08:00
疯狂的狮子li
63eb145772 update 同步 ruoyi 2022-06-15 18:18:51 +08:00
RuoYi
db5fea922f 升级fastjson到最新版2.0.7 2022-06-15 17:08:29 +08:00
RuoYi
0214d93299 删除多余的salt字段 2022-06-15 17:08:06 +08:00
RuoYi
1124a203cc 升级druid到最新版本1.2.11 2022-06-14 21:29:06 +08:00
RuoYi
e8fbf5fdbd reset babel 2022-06-14 21:26:14 +08:00
RuoYi
8fd4ae1282 优化druid开启wall过滤器出现的异常问题 2022-06-13 21:43:31 +08:00
RuoYi
eab1b450d5 优化代码 2022-06-13 21:43:11 +08:00
若依
98fc30786e !504 update 优化新增用户与角色信息、用户与岗位信息逻辑
Merge pull request !504 from 疯狂的狮子Li/N/A
2022-06-13 13:26:04 +00:00
疯狂的狮子Li
4cb8e239ae !186 fix: 修复用户注销时,没有记录注销日志
Merge pull request !186 from 沫离/dev
2022-06-13 09:31:45 +00:00
mroldx
ea781293df fix: 修复用户注销时,没有记录注销日志 2022-06-13 17:23:59 +08:00
疯狂的狮子li
0a2979360e update 优化 替换 MP 过期常量 2022-06-10 11:48:38 +08:00
疯狂的狮子li
0c75048e70 update tlog 1.4.0 => 1.4.3 2022-06-09 10:36:11 +08:00
疯狂的狮子li
a07c004983 update 补全导包 2022-06-09 10:35:45 +08:00
疯狂的狮子Li
1018a0eda6 update 满足用户需求 2022-06-09 00:47:47 +08:00
疯狂的狮子Li
d1e4898924 update 简化生成代码注释 2022-06-09 00:45:06 +08:00
疯狂的狮子Li
a46c4bf04e update 优化新增用户与角色信息、用户与岗位信息逻辑 2022-06-08 13:53:08 +00:00
疯狂的狮子Li
d40667a798 !182 优化新增用户与角色信息、用户与岗位信息逻辑
Merge pull request !182 from zendwang/dev
2022-06-08 13:45:44 +00:00
zendwang
0eca9e7401 update 优化新增用户与角色信息、用户与岗位信息逻辑 2022-06-08 15:37:40 +08:00
疯狂的狮子li
b76af31155 update 更新 readme 版本号错误问题 2022-06-07 11:06:23 +08:00
疯狂的狮子li
426aeb0a7f 发布 4.2.0-beta1 公测版 2022-06-07 11:04:43 +08:00
疯狂的狮子li
8a222df60e update docker mysql 8.0.27 => 8.0.29
update docker nginx 1.21.3 => 1.21.6
update docker redis 6.2.6 => 6.2.7
update docker minio 2021-10-27 => 2022-05-26
2022-06-07 11:04:00 +08:00
疯狂的狮子li
4c79fcb6ed update 优化 单表案例 导入接口文档注解写法 2022-06-06 16:16:57 +08:00
疯狂的狮子li
b27e55f4de add 增加 Excel 模板导出 测试类 2022-06-06 15:16:20 +08:00
疯狂的狮子li
a246cd044e add 增加 ExcelUtil 模板导出方法 支持 单列表/多列表 2022-06-06 15:16:07 +08:00
疯狂的狮子li
880101f338 remove 删除无用依赖 2022-06-06 13:48:14 +08:00
疯狂的狮子li
a2d0ff1328 update poi 4.1.2 => 5.2.2 性能大幅提升 2022-06-06 13:46:09 +08:00
疯狂的狮子Li
5479b4db2b update 使用 SaStorage 优化 LoginHelper 一级缓存 避免 ThreadLocal 清理不干净问题 2022-06-03 00:02:55 +08:00
疯狂的狮子li
da0c86dd54 update mybatis-plus 3.5.1 => 3.5.2 解决新版本兼容性问题 关键字冲突修改 2022-06-01 13:06:42 +08:00
疯狂的狮子li
e9f29cd147 update hutool 5.8.1 => 5.8.2 2022-06-01 13:03:59 +08:00
疯狂的狮子li
263448faa2 remove 移除不需要的依赖 2022-06-01 13:03:33 +08:00
疯狂的狮子li
34396de03a update 优化 ExcelUtil 工具支持合并处理器 2022-05-31 13:37:16 +08:00
疯狂的狮子li
f6fa17a3a8 add 新增 easyexcel 单元格合并注解与处理器 2022-05-31 13:36:55 +08:00
疯狂的狮子Li
1dceadba4c update 用户头像上传限制只能为图片格式 2022-05-28 23:47:16 +08:00
疯狂的狮子Li
666c80877c update 修改 代码生成 controller 去除查询校验 由用户自行选择是否校验 2022-05-28 23:30:58 +08:00
疯狂的狮子Li
4cb9aab9ce update 优化 验证码 登录 登出 注册 等接口 使用匿名注解放行 2022-05-28 23:23:39 +08:00
疯狂的狮子Li
51593aafb2 update 支持注解配置匿名访问 2022-05-28 23:10:45 +08:00
疯狂的狮子Li
5ced7e05f5 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	README.md
	pom.xml
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java
	ruoyi-common/pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/R.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/text/Convert.java
	ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/RepeatSubmitInterceptor.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
	ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
	ruoyi-ui/src/views/index.vue
2022-05-28 22:30:06 +08:00
RuoYi
b97a662f2e 新增Anonymous匿名访问不鉴权注解 2022-05-28 09:34:05 +08:00
RuoYi
9639c096ba 用户列表查询不显示密码字段 2022-05-27 17:50:49 +08:00
若依
e4af41e89a !497 增加对空字符串参数的过滤
Merge pull request !497 from root/master
2022-05-27 08:53:42 +00:00
mingliangyang
52e1717014 增加对空字符串参数的过滤 2022-05-27 12:06:27 +08:00
疯狂的狮子li
0ced5d2eaa update 优化 oss 回显查询 使用 redis 缓存 2022-05-27 09:58:34 +08:00
疯狂的狮子li
ab8111bdeb fix 修复 登录未选部门报空问题 2022-05-27 09:32:18 +08:00
疯狂的狮子li
8dc23ea1ce update 修改PR规范 2022-05-27 09:29:37 +08:00
RuoYi
8a2e3d13f2 表单构建按钮不显示正则校验 2022-05-27 09:18:26 +08:00
RuoYi
a29a0648ad 升级spring-boot到最新版本2.5.14 2022-05-27 08:37:34 +08:00
RuoYi
63d471ec94 修复字典导出序列化报错问题 2022-05-27 08:37:14 +08:00
RuoYi
9fa3eac3aa 升级fastjson到最新版2.0.4 2022-05-26 09:02:32 +08:00
疯狂的狮子li
a3ba78d7bd fix 修复脱敏实现逻辑问题 2022-05-25 10:37:33 +08:00
疯狂的狮子li
4b07be6bfd update redisson 3.17.0 => 3.17.2 2022-05-25 09:45:09 +08:00
若依
e320c50e49 !492 fastjson 版本升级
Merge pull request !492 from abbfun/N/A
2022-05-24 01:54:24 +00:00
abbfun
524ad4e6dd fastjson 版本升级
fastjson <= 1.2.80 存在反序列化任意代码执行漏洞
2022-05-23 07:36:18 +00:00
疯狂的狮子li
e515d6f776 update 手动配置 Undertow 缓冲池 消除运行警告 2022-05-23 13:47:19 +08:00
疯狂的狮子li
c137965dec update 增加 redis 无密码使用说明 2022-05-23 11:23:14 +08:00
疯狂的狮子li
a9e68e13a8 update 优化 getLoginUser 获取 使用一级缓存 2022-05-23 10:56:41 +08:00
RuoYi
77fffda10e 添加新群号:139821253 2022-05-23 09:38:52 +08:00
疯狂的狮子Li
88fe5c641f update 优化 redis 与 jackson 使用自动装配定制器简化配置 2022-05-23 02:06:38 +08:00
RuoYi
da0309eb09 用户头像上传限制只能为图片格式 2022-05-22 18:21:26 +08:00
疯狂的狮子Li
4e6f47d50a update springboot 2.6.7 => 2.6.8 2022-05-22 14:13:53 +08:00
疯狂的狮子Li
7e626ea219 update xxl-job 2.3.0 => 2.3.1 2022-05-22 13:07:36 +08:00
疯狂的狮子Li
8a6ccabffb update easyexcel 3.0.5 => 3.1.0 去除cglib 支持jdk17
update hutool 5.8.0 => 5.8.1
2022-05-22 12:50:43 +08:00
疯狂的狮子Li
f546ba85aa update 优化 DataPermissionHelper 上下文存储 使用 SaToken 的请求存储器 2022-05-22 12:39:01 +08:00
疯狂的狮子Li
73e1d3b046 !180 把SysRoleController的remove的@Param岗位id串改成了角色id串
Merge pull request !180 from water/dev
2022-05-20 09:15:11 +00:00
water
b2c8062131 style 修改一个错误的参数注释
public R<Void> remove(@ApiParam("岗位ID串") @PathVariable Long[] roleIds) {
        return toAjax(roleService.deleteRoleByIds(roleIds));
    }

    public R<Void> remove(@ApiParam("角色ID串") @PathVariable Long[] roleIds) {
        return toAjax(roleService.deleteRoleByIds(roleIds));
    }


这个service上的注释是这样的
    /**
     * 批量删除角色信息
     *
     * @param roleIds 需要删除的角色ID
     * @return 结果
     */
    int deleteRoleByIds(Long[] roleIds);
2022-05-20 09:09:28 +00:00
RuoYi
6805a96e53 接口使用泛型使其看到响应属性字段 2022-05-20 16:25:51 +08:00
RuoYi
a92667c000 新增获取配置文件中的属性值方法 2022-05-20 16:23:52 +08:00
RuoYi
4a0619cadb 优化switch case条件 2022-05-20 16:23:36 +08:00
若依
a7e16d582d !488 修复操作日志列表查询业务类型时的bug
Merge pull request !488 from 也曾为你、像超人/N/A
2022-05-20 07:56:27 +00:00
疯狂的狮子Li
b3a4da5e4d fix 修复 postgres 数据库 菜单部分字段类型无法转换问题 2022-05-19 21:54:23 +08:00
疯狂的狮子Li
5ea298a238 reset 重置错误修改 2022-05-19 21:48:21 +08:00
疯狂的狮子Li
859c0915fb fix 修复 菜单部分字段 类型与数据库不匹配问题 2022-05-19 21:27:58 +08:00
疯狂的狮子li
45fd96cd0d fix 修复 编辑 OssConfig 在 postgres 字段重复报错 补全 remark 字段 2022-05-18 10:05:36 +08:00
疯狂的狮子Li
ffe2b3c24d fix 修复 S3 协议 minio 使用 localhost 问题 采用 127.0.0.1 代替 2022-05-18 01:50:26 +08:00
也曾为你、像超人
b5b8d941f3 update ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml.
问题:查业务类型为其他(businessType = 0)的数据时,会查到所有数据

原因:当参数为 Integer 类型 0 时,MyBatis 会把 0 当做空字符串处理
2022-05-17 02:08:37 +00:00
疯狂的狮子li
970561b956 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
	ruoyi-ui/src/assets/styles/element-variables.scss
	ruoyi-ui/src/views/monitor/server/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/user/index.vue
2022-05-16 09:38:03 +08:00
RuoYi
9c3b53b701 用户管理左侧树型组件增加选中高亮保持 2022-05-13 15:02:16 +08:00
疯狂的狮子li
6a69be88c5 update 调整 图片预览组件 去除无用根目录拼接 2022-05-13 09:41:54 +08:00
疯狂的狮子li
3a918ae8f6 update 调整 CacheManager 使用系统 系统序列化器 2022-05-13 09:37:44 +08:00
疯狂的狮子Li
f668089e64 fix 修复 TestDemo 的 bo 和 vo 与 entity 属性类型不匹配问题 2022-05-13 00:24:49 +08:00
疯狂的狮子li
af6a08398e update 优化 文件与图片上传组件 使用id存储回显 2022-05-12 10:55:44 +08:00
疯狂的狮子li
4d7def4311 fix 修复 腾讯云短信 依赖缺失问题 2022-05-12 09:54:24 +08:00
疯狂的狮子li
ae960f5220 update 更新 短信演示案例 增加依赖判断与使用说明 2022-05-12 09:54:24 +08:00
疯狂的狮子Li
5be9ce1823 fix 修复 token 超时时间设置 -1 导致的单位转换问题 2022-05-11 23:47:05 +08:00
RuoYi
5693bbe1f5 升级oshi到最新版本6.1.6 2022-05-11 09:58:25 +08:00
疯狂的狮子Li
e4267c5c56 update 优化 弹窗点击遮罩层 默认不关闭 可在 main.js 修改 2022-05-10 23:45:33 +08:00
疯狂的狮子Li
99dfd42372 update 优化 上传组件 部分用户存储url串 导致无法回显问题 2022-05-10 23:35:54 +08:00
疯狂的狮子li
8d36924cb6 fix 修复 sqlserver 新增数据 id 错误 2022-05-10 16:15:12 +08:00
疯狂的狮子li
80d1e28d0f update springboot-admin 2.6.6 => 2.6.7
update springboot-mybatis 2.2.0 => 2.2.2
update sa-token 1.29.0 => 1.30.0
update hutool 5.7.22 => 5.8.0
update druid 1.2.8 => 1.2.9
update tlog 1.3.6 => 1.4.0
2022-05-10 14:42:02 +08:00
疯狂的狮子li
60132e9947 fix 修复 update-sql 追加字段因顺序问题导致插入失败 2022-05-10 10:24:25 +08:00
疯狂的狮子Li
940b996e2d !175 [重大改动] 基于S3协议重新实现 OSS模块 支持自定义域名
* [重大改动] 基于S3协议重新实现 OSS模块 支持自定义域名
2022-05-10 01:40:40 +00:00
RuoYi
0055f479cb 修复字典数据显示不全问题(I55MR3) 2022-05-09 20:27:09 +08:00
RuoYi
1c41b701dd 优化excel创建表格样式 2022-05-09 17:37:33 +08:00
疯狂的狮子Li
e1e26d53e6 !174 fix 修复 短信验证码校验逻辑错误
Merge pull request !174 from SPPan/dev
2022-05-07 07:21:50 +00:00
SPPan
f9131832c7 短信验证码校验逻辑BUG修复 2022-05-07 15:17:08 +08:00
疯狂的狮子li
ce14b5e9fb fix 修复 关闭短信功能 找不到bean异常问题 2022-05-07 15:10:58 +08:00
疯狂的狮子li
c40aa1f950 update 完善短信验证码发送接口 2022-05-07 11:24:42 +08:00
疯狂的狮子li
7d1d3d3f05 update 完善短信验证码发送接口 2022-05-07 11:18:14 +08:00
疯狂的狮子li
5e6a895fef update 更新 readme 短信模块说明 与 文档地址 2022-05-07 10:30:46 +08:00
疯狂的狮子li
d2fe2a7fc5 fix 修复 腾讯短信 与 minio okhttp依赖冲突问题 2022-05-07 09:39:11 +08:00
疯狂的狮子li
44a8025e0f update 更正 短信演示案例 方法命名 2022-05-06 18:15:31 +08:00
疯狂的狮子li
71e392c1f9 add 增加 获取短信验证码接口 2022-05-06 18:08:16 +08:00
疯狂的狮子li
416088a2de add 增加 demo 短信演示案例 2022-05-06 18:07:43 +08:00
疯狂的狮子li
e57d11d55a add 增加 ruoyi-sms 短信模块 整合 阿里云、腾讯云 短信功能 2022-05-06 18:07:00 +08:00
疯狂的狮子li
781ae8d5c8 update 修改邮件开关类型 2022-05-06 17:19:35 +08:00
疯狂的狮子li
b01d45cf5c add 增加 RedisUtils 操作原子值方法 2022-05-05 15:07:23 +08:00
疯狂的狮子Li
4941aaa5c1 update 重构 pr_172 集成邮件发送功能 2022-05-02 23:12:16 +08:00
疯狂的狮子Li
07559a5aaa !172 邮件发送功能
Merge pull request !172 from MichelleChung/dev
2022-05-02 15:11:25 +00:00
zlyx
92f030887b [add]:
1. (common) pom.xml - 增加邮件依赖 ;
2. (admin) application-dev.yml - 增加邮件配置 ;
3. (framework) MailProperties, MailConfig - 增加邮件属性配置 ;
4. (common) MailUtils - 重写 Hutool MailUtil方法 ;
5. (demo) MailController - 邮件发送测试方法 ;
2022-05-02 21:21:14 +08:00
RuoYi
9476f7f616 升级spring-boot到最新版本2.5.13 2022-05-01 20:22:35 +08:00
RuoYi
cbe405f6ea ui code format 2022-05-01 20:22:25 +08:00
疯狂的狮子Li
e18cf51c01 update 优化 RedisUtils 重构过期方法 2022-04-30 22:21:49 +08:00
疯狂的狮子li
f32813951f update 优化 redis 序列化 使用系统自带json工具 全局统一 2022-04-29 11:35:51 +08:00
疯狂的狮子li
7ba8fc256b fix 修复 查询未分配用户角色列表 角色无绑定用户情况下 空列表问题 2022-04-28 10:16:13 +08:00
疯狂的狮子Li
c7972aa5e6 fix 修复 全局线程池配置 核心线程与最大线程 参数填反问题 2022-04-25 15:25:43 +08:00
疯狂的狮子Li
eaef38f79c fix 修复 ExcelUtil 表达式解析 参数添反导致无法解析问题 2022-04-25 15:24:10 +08:00
RuoYi
7414bc492e 修改代码生成树选择组件 2022-04-25 10:27:06 +08:00
RuoYi
6f14087a16 修改显示顺序orderNum类型为整型 2022-04-25 10:23:47 +08:00
疯狂的狮子li
0700c60636 Merge remote-tracking branch 'origin/dev' into 4.X 2022-04-24 13:32:10 +08:00
疯狂的狮子li
aac6e0521a 发布 4.1.0 2022-04-24 13:28:52 +08:00
疯狂的狮子li
7e25a80c5b Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
	ruoyi-ui/package.json
2022-04-24 11:46:25 +08:00
RuoYi
328d4b916d Excel注解支持color字体颜色 2022-04-23 20:53:16 +08:00
疯狂的狮子li
596ff28207 update springboot 2.6.6 => 2.6.7 2022-04-22 13:39:49 +08:00
疯狂的狮子li
70c1a37bbd update 删除一些基本用不上的配置 简化折叠一些配置 2022-04-22 12:16:03 +08:00
疯狂的狮子li
4902276921 update 移除 重复提交 配置文件全局配置 使用注解默认值替代 2022-04-22 12:07:32 +08:00
疯狂的狮子li
83cdeacaa8 update 简化 全局线程池配置 使用cpu核心数自动处理 2022-04-22 12:06:56 +08:00
疯狂的狮子li
e6e2f48f7e update 更新 readme 技术栈介绍 2022-04-21 10:40:37 +08:00
疯狂的狮子li
e316f613d0 update 首页 更新日志 指向官网 2022-04-21 10:26:18 +08:00
疯狂的狮子Li
9a8c87a43e update .gitee/ISSUE_TEMPLATE.zh-CN.md. 2022-04-20 16:14:13 +00:00
疯狂的狮子li
67140f996b fix 修复 BeanCopyUtils 工具导包错误 2022-04-20 10:41:27 +08:00
疯狂的狮子li
2f5d9ced6d update 更新多数据库说明 2022-04-19 15:07:02 +08:00
疯狂的狮子Li
3dfb116fdd update 优化文件上传、图片上传组件 文件列表展示文件原名便于后续处理, 完善组件删除功能 2022-04-18 19:55:23 +08:00
疯狂的狮子Li
eb1047a149 update 优化登录失败相关部分代码结构 2022-04-17 21:51:41 +08:00
RuoYi
b42a8176ca 设置分页参数默认值 2022-04-17 10:29:12 +08:00
RuoYi
2a9beec31d 检查定时任务bean所在包名是否为白名单配置 2022-04-16 22:06:25 +08:00
RuoYi
910fe6261b 新增获取不带后缀文件名称方法 2022-04-16 22:06:15 +08:00
若依
0c820b96d8 !471 新增一个取文件名而不带后缀的整合方法,干净又卫生啊兄弟们
Merge pull request !471 from XCSDN/N/A
2022-04-16 13:53:10 +00:00
疯狂的狮子Li
9689efedc4 fix 修复 tlog 依赖漏洞 2022-04-16 15:01:27 +08:00
疯狂的狮子Li
97561f428e fix 修复 guava 漏洞 统一依赖版本 2022-04-16 15:01:11 +08:00
疯狂的狮子Li
df0497fb58 fix 修复 cos_api bcprov-jdk15on 漏洞 2022-04-16 15:00:38 +08:00
疯狂的狮子Li
30f0bdc754 update 使用 spring cglib 替换 停止维护的 cglib 2022-04-16 14:08:11 +08:00
XCSDN
c3c49a05c2 新增一个取文件名而不带后缀的整合方法,干净又卫生啊兄弟们 2022-04-16 06:02:07 +00:00
疯狂的狮子Li
e72b878380 fix 修复 使用雪花id 导致 部门祖籍字段 长度不够问题 2022-04-15 11:52:44 +08:00
疯狂的狮子Li
d51d8ad877 fix 修复 OssConfig 主键类型错误 2022-04-15 11:42:52 +08:00
RuoYi
68a616d7c7 升级element-ui到最新版本2.15.8 2022-04-15 09:32:21 +08:00
RuoYi
a0447de061 字典类型必须以字母开头,且只能为(小写字母,数字,下滑线) 2022-04-15 09:31:51 +08:00
若依
46db06a22b !465 update ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java.
Merge pull request !465 from XCSDN/N/A
2022-04-15 01:17:21 +00:00
疯狂的狮子Li
7984fdfd20 update 演示树表 增加 展开/折叠 功能 2022-04-11 12:09:42 +08:00
疯狂的狮子Li
d637f03067 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	README.md
	pom.xml
	ruoyi-admin/pom.xml
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-common/pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-framework/pom.xml
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
	ruoyi-generator/pom.xml
	ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
	ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
	ruoyi-job/pom.xml
	ruoyi-system/pom.xml
	ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
	ruoyi-ui/README.md
	ruoyi-ui/bin/package.bat
	ruoyi-ui/package.json
	ruoyi-ui/src/views/index.vue
2022-04-11 11:58:44 +08:00
疯狂的狮子Li
4c57c2a044 update springboot-admin 2.6.5 => 2.6.6
update qiniu 7.9.3 => 7.9.5
update qcloud 5.6.68 => 5.6.72
update minio 8.3.7 => 8.3.8
update okhttp 4.9.2 => 4.9.3
2022-04-11 11:50:16 +08:00
疯狂的狮子Li
94b09c3fc0 fix 修复 minio 上传, 因 socket 导致 available 获取数值不精确问题 2022-04-08 19:43:07 +08:00
RuoYi
de5ae4a05e 添加页签openPage支持传递参数 2022-04-08 15:42:10 +08:00
疯狂的狮子Li
517c5705b6 add 增加 Mybatis 全局异常处理 开启多数据源切换 严格模式 找不到数据源报错 2022-04-08 11:39:40 +08:00
疯狂的狮子Li
5d3e977761 update springboot-admin 2.6.3 => 2.6.5
update dynamic-datasource 3.5.0 => 3.5.1
update redisson 3.16.8 => 3.17.0
2022-04-08 10:50:13 +08:00
XCSDN
c0d430f4e5 update ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDictType.java.
字典类型必须以字母开头,且字典类型只能由小写字母或加下划线还有数字组成
防止由于字典类型不符合前端开发规范而报错
2022-04-07 04:57:56 +00:00
RuoYi
d910888181 代码生成树表新增(展开/折叠) 2022-04-07 10:56:40 +08:00
RuoYi
db2dfee6ae 用户缓存信息添加部门ancestors祖级列表 2022-04-07 09:50:42 +08:00
RuoYi
d311d56bbf 修复Excel注解prompt/combo同时使用不生效问题 2022-04-03 18:28:30 +08:00
KonBAI
a33898c2a0 !167 update 修改角色"菜单树选择项"和"部门树选择项"是否关联显示字段为Boolean类型
* fix 修改 postgres sql脚本,处理角色表字段类型错误问题。
* fix 修复postgreSQL新增或更新角色信息报错。修改角色"菜单树选择项"和"部门树选择项"是否关联显示字段为Boolean类型。
2022-04-02 05:02:56 +00:00
疯狂的狮子Li
e6940d48e3 update 更名 SaInterfaceImpl 为 SaPermissionImpl 完善相关注释 2022-04-02 11:54:44 +08:00
RuoYi
3bc5ef38d3 升级spring-boot到最新版本2.5.12 防止RCE漏洞 2022-04-02 10:16:09 +08:00
RuoYi
bac3b3a0dc 降级jsencrypt版本兼容IE浏览器 2022-04-02 10:15:25 +08:00
RuoYi
07fded4da9 update readme 2022-04-02 10:13:58 +08:00
疯狂的狮子Li
4f0a584efc update springboot 2.6.5 => 2.6.6 修复 CVE-2022-22965 漏洞 2022-04-01 17:57:00 +08:00
疯狂的狮子Li
1139fb39c5 update bat 脚本转换为 utf-8 编码 防止上传乱码 需要者自行修改编码 2022-04-01 17:17:39 +08:00
疯狂的狮子Li
4cd7c07344 update 优化 sa-token 路由拦截器语法 增加注释 避免误操作 2022-04-01 15:43:51 +08:00
RuoYi
a854e0ca8e 若依 3.8.2 2022-04-01 08:30:48 +08:00
RuoYi
de1766abde 新增清理分页的线程变量方法 2022-03-31 11:48:27 +08:00
疯狂的狮子Li
ebd005e1b1 update 优化 DateUtils 代码格式 2022-03-30 23:22:31 +08:00
疯狂的狮子Li
9ba61037a4 update 优化代码与注释 2022-03-30 23:04:51 +08:00
疯狂的狮子Li
c74b878372 fix 修复设置角色报错问题 2022-03-30 11:41:56 +08:00
RuoYi
01a566c794 升级spring-boot到最新版本2.5.11 2022-03-30 10:40:07 +08:00
RuoYi
5362a633e6 升级fastjson到最新版1.2.80 2022-03-30 10:39:47 +08:00
RuoYi
b2c3f45141 update registry source 2022-03-30 10:39:09 +08:00
RuoYi
d5f9b5b74a topNav自定义隐藏侧边栏路由 2022-03-30 10:38:51 +08:00
疯狂的狮子li
95a2c74462 fix 修复 数据权限 从 aop 切换到 拦截器 导致获取代理失败问题 2022-03-28 21:01:22 +08:00
疯狂的狮子Li
d217ef37bf update springboot 2.6.4 => 2.6.5
update springboot-admin 2.6.2 => 2.6.3
update hutool 5.7.21 => 5.7.22
2022-03-28 14:26:01 +08:00
疯狂的狮子Li
95bea7f64a update 优化 pr 165 2022-03-28 14:05:16 +08:00
疯狂的狮子Li
58b63a24c2 !165 在全局异常处理器中引入DuplicateKeyException的主键冲突异常,来处理解决主键或UNIQUE索引的数据重复异常。
Merge pull request !165 from xlt/dev
2022-03-28 06:01:00 +00:00
xlt
53c90cfc99 update 在全局异常处理器中引入DuplicateKeyException的主键冲突异常,来处理解决主键或UNIQUE索引的数据重复异常。 2022-03-27 21:57:44 +08:00
RuoYi
2043d1f439 优化IP地址获取到多个的问题 2022-03-27 14:36:48 +08:00
RuoYi
61034d4dde 优化导出excel单元格验证,包含变更为开头.防止正常内容被替换 2022-03-27 14:36:31 +08:00
RuoYi
6605bf35a8 reset pr 452 2022-03-26 17:28:58 +08:00
若依
b2b93e5060 !457 修改RedisCache方法形参命名
Merge pull request !457 from lu_ming/master
2022-03-26 09:25:05 +00:00
“lumingsyc”
098286fcaf 修改RedisCache方法形参命名 2022-03-25 18:50:51 +08:00
疯狂的狮子Li
a6f30412ad update 修改角色适配 采用 get set 转换数据类型 2022-03-25 15:22:01 +08:00
疯狂的狮子Li
b624648115 fix 修复增加应用路径路由不生效问题 2022-03-25 15:21:27 +08:00
疯狂的狮子Li
9d1d74c022 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	README.md
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
	ruoyi-ui/src/layout/components/Sidebar/Item.vue
	ruoyi-ui/src/layout/index.vue
	ruoyi-ui/src/store/modules/app.js
	ruoyi-ui/src/store/modules/user.js
	ruoyi-ui/src/views/index.vue
2022-03-25 11:17:51 +08:00
疯狂的狮子Li
0c79d1a619 fix 修正 用户行为监听 日志编写错误问题 2022-03-25 11:13:36 +08:00
疯狂的狮子Li
1ea8eebfec update 更新小程序登录 单独的结构体 2022-03-24 10:28:42 +08:00
疯狂的狮子Li
1dcc03aae0 update 放行 短信登录 与 小程序登录 接口 2022-03-24 10:21:07 +08:00
疯狂的狮子Li
3be9535225 fix 修复单独访问 接口文档 请求 favicon.ico 报错问题 2022-03-24 10:20:42 +08:00
疯狂的狮子Li
8cad83a9dc fix 修复 用户绑定角色 与 角色绑定用户 异常 编写错误 2022-03-23 22:18:56 +08:00
疯狂的狮子Li
0488495a34 !164 fix 修复swagger描述错误
Merge pull request !164 from Yjoioooo/auto-5403234-dev-1648027721128
2022-03-23 09:36:59 +00:00
Yjoioooo
a5eb8ce21e fix 修复swagger描述错误 2022-03-23 17:28:11 +08:00
疯狂的狮子li
1dbcd4ee6e update 代码生成 支持界面动态配置切换数据源(找不到默认查 primary 数据源) 2022-03-23 15:14:16 +08:00
疯狂的狮子li
7e1f024d28 update 适配 sqlserver 代码生成 解决一下小问题 2022-03-23 15:02:38 +08:00
疯狂的狮子Li
4a353896e3 add 增加 短信登录 与 小程序登录 示例 2022-03-23 00:33:28 +08:00
RuoYi
eaa12de740 添加新群号:167385320 2022-03-22 16:47:56 +08:00
疯狂的狮子li
0e4372b4a3 update 优化 logback 日志 异步输出 2022-03-21 13:01:36 +08:00
疯狂的狮子li
b0c31ae486 add 增加 sqlserver 测试 sql 2022-03-21 10:44:18 +08:00
疯狂的狮子li
a43e4b8aa7 add 增加 postgres 测试 sql 2022-03-21 10:44:17 +08:00
疯狂的狮子li
ce3f80144a update 优化 DataBaseHelper 工具 2022-03-21 10:43:05 +08:00
疯狂的狮子Li
cd33cd66ae !158 修复demo模块字段类型错误问题
Merge pull request !158 from KonBAI/demo_field_type
2022-03-18 12:53:26 +00:00
konbai
f2a2c2d407 fix 修复demo模块字段类型错误问题。 2022-03-18 20:38:17 +08:00
疯狂的狮子Li
5f0481c067 !157 修复执行"查询当前数据库类型"后未关闭数据库链接,导致当前连接池中活跃连接数达到最大连接数的bug
Merge pull request !157 from KonBAI/close_dataSource_conn
2022-03-17 17:53:38 +00:00
konbai
f30f3ac37b fix 修复执行"查询当前数据库类型"后未关闭数据库链接,导致当前连接池中活跃连接数达到最大连接数的bug 2022-03-18 01:37:04 +08:00
疯狂的狮子li
d31ed1f2e1 update 修正错误提交 2022-03-17 19:53:42 +08:00
疯狂的狮子li
cf67d606ae update 初步适配 postgres (代码生成两次导入有问题) 2022-03-17 19:52:40 +08:00
疯狂的狮子li
76b859f6ba update 调整菜单排序字段与数据库类型对应 2022-03-17 12:42:49 +08:00
疯狂的狮子li
a326e301f0 update 调整菜单排序字段与数据库类型对应 2022-03-17 12:40:20 +08:00
疯狂的狮子Li
a16ae7dadc !156 修复角色、岗位、字典数据在PostgreSQL执行插入或者更新SQL报错问题,修改对应实体类的排序属性为Integer类型。
Merge pull request !156 from KonBAI/sort_type
2022-03-17 04:32:51 +00:00
hewenqiang
ac47375aba fix 修复角色、岗位、字典数据在PostgreSQL执行插入或者更新SQL报错问题,修改对应实体类的排序属性为Integer类型。 2022-03-17 11:45:42 +08:00
RuoYi
857054179c 优化固定Header后顶部导航栏样式问题(I4XDN5) 2022-03-17 09:42:39 +08:00
疯狂的狮子Li
fd5a87eedf !155 修复根据用户ID查询菜单信息SQL报错
Merge pull request !155 from KonBAI/selectMenuPerms_sql
2022-03-16 09:10:04 +00:00
hewenqiang
4770b0d3e3 fix 修复根据用户ID查询菜单信息SQL报错。status字段为char类型,应该传字符类型,此处存在隐式转换问题。(MySQL能自动转换,PostgreSQL转换报错)。 2022-03-16 16:53:17 +08:00
疯狂的狮子li
181ec4633b update 调整数据库驱动依赖至输出模块 2022-03-16 14:09:39 +08:00
疯狂的狮子li
dc5e5c6c08 add 增加 postgres sqlserver jdbc连接适配 2022-03-16 14:07:46 +08:00
疯狂的狮子li
dcdf423d66 update 更新 sqlserver sql脚本 处理遇到的问题 2022-03-16 14:06:00 +08:00
疯狂的狮子li
1a19c3b3a5 update 单独指定oracle心跳检查 2022-03-16 14:05:29 +08:00
若依
0a3fcfd9f4 !453 update ruoyi-ui/src/store/modules/user.js.
Merge pull request !453 from guxin0123/N/A
2022-03-16 05:19:33 +00:00
疯狂的狮子li
49ac180329 update 优化 SysRole 部分字段类型 防止数据库类型映射异常 2022-03-16 12:59:04 +08:00
guxin0123
0271aa5414 update ruoyi-ui/src/store/modules/user.js.
修复数据库用户表 头像列为 null 时不显示默认头像问题
2022-03-16 04:52:33 +00:00
疯狂的狮子Li
880b3290e8 fix 修复代码生成导入表报错 2022-03-15 23:22:42 +08:00
RuoYi
a0364f0758 优化菜单名称过长悬停显示标题 2022-03-15 14:24:52 +08:00
若依
ed693e89c9 !452 跨域问题
Merge pull request !452 from younger007/master
2022-03-15 06:23:38 +00:00
若依
526957e0ac !447 优化:解决导出数据时,LocalDateTime类型数据导出没数据问题
Merge pull request !447 from 黄严/dev
2022-03-15 06:23:24 +00:00
疯狂的狮子li
3341eb5f2c update 优化 TreeEntity 树实体 去除未知泛型 2022-03-15 13:18:24 +08:00
疯狂的狮子li
51fba42b83 update 修复oracle因编码问题导致插入日志报错 2022-03-15 12:51:34 +08:00
疯狂的狮子li
12f5327e0e add 增加 oracle postgres sqlserver 模板sql 2022-03-15 11:58:53 +08:00
疯狂的狮子li
40f9fac1a5 update 代码生成sql模板适配雪花id 2022-03-15 11:58:26 +08:00
疯狂的狮子li
0b5e924a21 update 代码生成适配雪花id 2022-03-15 11:58:07 +08:00
疯狂的狮子li
cd312f1348 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
	ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/src/assets/styles/sidebar.scss
	ruoyi-ui/src/layout/components/Settings/index.vue
	ruoyi-ui/src/layout/index.vue
	ruoyi-ui/src/store/modules/app.js
	ruoyi-ui/src/store/modules/permission.js
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/job/log.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/online/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/tool/gen/importTable.vue
2022-03-15 10:20:53 +08:00
疯狂的狮子li
e480f616e0 update 使用 in 优化 or 提升索引命中率 2022-03-14 15:58:27 +08:00
疯狂的狮子li
2285a94958 update 更新首页关于 权限认证框架 框架说明 改为 Sa-Token 2022-03-14 14:06:43 +08:00
疯狂的狮子li
7f1356a447 update 重构代码生成 多数据库sql加载 使用xml特性动态切换sql 2022-03-14 14:05:37 +08:00
younger007
420a43cdd5 update ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java.
和文件下载那边一样,存在跨域问题
2022-03-14 02:52:29 +00:00
疯狂的狮子li
1aab88859d update 重命名 oracle postgres sqlserver 菜单字段 query -> query_param 2022-03-11 19:02:46 +08:00
疯狂的狮子li
3210fce113 update 删除 自定义 find_in_set 函数 在代码层面适配 2022-03-11 18:55:04 +08:00
疯狂的狮子li
0a1b026d92 update 格式化 postgres sql格式 增加 find_in_set 函数 2022-03-11 17:36:51 +08:00
疯狂的狮子li
29e1bf3f2e add 增加 4.0 升级 4.1 的 sql 脚本 2022-03-11 13:29:21 +08:00
疯狂的狮子li
333a38978e update 重命名 菜单字段 query -> query_param 解决系统关键字问题 2022-03-11 13:29:04 +08:00
疯狂的狮子li
91c7b46d52 add 增加 postgresql 主sql脚本 2022-03-11 13:00:53 +08:00
疯狂的狮子li
870d51bf10 add 增加 postgresql docker 镜像 2022-03-11 13:00:40 +08:00
疯狂的狮子li
7c0f41c785 update 确保更好的适配 多数据库 主键策略统一改为 雪花ID 2022-03-11 13:00:09 +08:00
疯狂的狮子li
647d3391bb add 增加 SQL Server 主数据库脚本 2022-03-10 19:53:58 +08:00
疯狂的狮子li
0d24f34d83 add 增加 SQL Server docker 编排 2022-03-10 19:48:05 +08:00
疯狂的狮子li
a68a32d9b6 add 增加 DataBaseHelper 数据库助手 用于屏蔽多类型数据库sql语句差异 2022-03-10 19:47:31 +08:00
疯狂的狮子li
8a89054c2f add 增加 oracle_test.sql 测试sql文件 2022-03-09 16:21:53 +08:00
疯狂的狮子li
cd46d08afd fix 修复关于 oracle utf8 编码导致内容字符长度溢出 2022-03-09 15:46:28 +08:00
coolkidhay
5e8ccda522 日期转换错误,issue地址:https://gitee.com/y_project/RuoYi-Vue/issues/I4X0U7 2022-03-09 14:39:19 +08:00
疯狂的狮子li
78d0e67987 update 处理 find_in_set 函数多类型数据库兼容性问题 2022-03-09 12:11:34 +08:00
RuoYi
62fc38078c 修复遗漏的拼写错误 2022-03-09 10:05:39 +08:00
若依
bc4f844cd8 !445 文件上传兼容Weblogic环境
Merge pull request !445 from yaoozu/master
2022-03-09 02:03:50 +00:00
疯狂的狮子li
d73cd5ed27 update 去除 oracle 多余连接参数 天生支持批处理 2022-03-08 17:47:51 +08:00
疯狂的狮子li
2bf3d3a9c5 update 更新minio压缩配置 2022-03-08 13:22:11 +08:00
疯狂的狮子li
e3b64387a5 fix 修复 oracle sql 函数分隔符书写错误问题 2022-03-07 18:02:40 +08:00
疯狂的狮子li
bd0454309f update 去除掉 不推荐使用的配置 2022-03-07 13:14:59 +08:00
疯狂的狮子li
a72fa8038f fix 修复oracle时间查询相关问题 2022-03-07 13:05:14 +08:00
王耀祖
f15f8e3295 文件上传兼容Weblogic环境 2022-03-07 10:44:01 +08:00
疯狂的狮子Li
604c671d41 update 临时处理 关于数据源的切换(后续在页面做个输入框 有兴趣的可以pr) 2022-03-06 11:22:27 +08:00
RuoYi
6130bebbb3 开启TopNav没有子菜单情况隐藏侧边栏 2022-03-06 09:03:44 +08:00
若依
9f944c043f !444 修改提示
Merge pull request !444 from SG/N/A
2022-03-05 14:11:22 +00:00
若依
092b3214c5 !443 修复代码错误,其他文件也修改下
Merge pull request !443 from SG/N/A
2022-03-05 14:11:17 +00:00
SG
07dfef48be 修改提示 2022-03-05 12:28:44 +00:00
疯狂的狮子Li
e9571fc2e2 fix 2022-03-05 05:06:39 +00:00
疯狂的狮子Li
db3a83d163 !150 fix 修复talbleId的单词拼写错误,应为tableId
Merge pull request !150 from xlt/dev
2022-03-05 05:05:39 +00:00
RuoYi
22f7ccc11d 修复导入Excel时字典字段类型为Long转义为空问题 2022-03-05 08:39:52 +08:00
xlt
ea53b3faba fix 修复talbleId的单词拼写错误,应为tableId 2022-03-05 01:27:02 +08:00
疯狂的狮子Li
645ccb2f87 update 统一控制依赖版本 2022-03-05 00:39:31 +08:00
疯狂的狮子Li
b40cc02e2a fix 修复Oracle代码生成器空值更新报错问题 2022-03-05 00:20:43 +08:00
疯狂的狮子Li
98418272ab !148 fix 修复Oracle代码生成器空值更新报错问题
Merge pull request !148 from Yjoioooo/auto-5403234-dev-1646410371975
2022-03-04 16:18:15 +00:00
Yjoioooo
a32cc879cc fix 修复代码生成器空值更新报错问题 2022-03-05 00:12:50 +08:00
疯狂的狮子Li
adf329cf1a fix 修复 poi 组件漏洞 与 mysql jdbc 漏洞 2022-03-05 00:12:25 +08:00
SG
4bd5009ec1 修复代码错误,其他文件也修改下 2022-03-04 14:38:57 +00:00
疯狂的狮子li
74a9b4c058 update 配置增加oracle jdbc链接串 2022-03-04 21:14:36 +08:00
疯狂的狮子li
8ee749f137 update 初步适配oracle(未完成) 2022-03-04 21:09:46 +08:00
疯狂的狮子li
46fa404d83 update 增加 mysql 字段格式化处理 防止关键字问题 2022-03-04 20:32:12 +08:00
RuoYi
cb8f5de5af 修复表单清除元素位置未垂直居中问题(I4V27B) 2022-03-04 19:24:28 +08:00
疯狂的狮子li
3c7c5380f4 update 去除多余注解参数 统一使用全局配置 2022-03-04 19:05:37 +08:00
疯狂的狮子li
04d611e1c2 update 放行 actuator 路径 2022-03-04 14:34:39 +08:00
疯狂的狮子li
2d813b2191 update 删除多余 参数类型 2022-03-04 13:42:08 +08:00
疯狂的狮子li
f1bf549e0f update 简化查询代码生成列表功能 2022-03-04 13:12:20 +08:00
疯狂的狮子li
d3a3ad5cbd update 简化查询用户功能 2022-03-04 11:45:38 +08:00
疯狂的狮子li
8091a46005 update 简化查询菜单功能 2022-03-04 10:48:12 +08:00
疯狂的狮子li
18cffc4678 update 简化查询角色功能 2022-03-04 10:20:06 +08:00
疯狂的狮子li
c1d01fb1e1 update 优化 部门修改子元素关系 使用批量更新 2022-03-04 09:26:26 +08:00
疯狂的狮子Li
4d0c84bcf5 remove 删除多余引号 2022-03-03 23:58:09 +08:00
疯狂的狮子Li
8db5c27d81 update 删除无用前缀 2022-03-03 23:18:20 +08:00
疯狂的狮子Li
2ff36d81a1 update 优化 防重 与 限流 功能支持国际化消息返回 2022-03-03 22:55:49 +08:00
疯狂的狮子Li
56feff0455 update 优化 RepeatSubmit 注解 支持业务处理失败 与 异常快速放行 2022-03-03 22:05:31 +08:00
疯狂的狮子li
cf17bcb15c fix 修复 数据权限 从 aop 切换到 拦截器 导致获取代理失败问题 2022-03-03 14:34:13 +08:00
疯狂的狮子li
b2d3abd9d6 update 优化去除sql差异化 时间范围统一使用 between 处理 2022-03-03 11:18:10 +08:00
疯狂的狮子li
a54cb7d3e4 update 简化查询菜单功能 2022-03-03 11:18:10 +08:00
疯狂的狮子li
00549c267f update 简化查询部门功能 2022-03-03 11:18:10 +08:00
疯狂的狮子Li
f41bfdb8eb update 更新数据权限Service的使用说明 2022-03-03 01:55:01 +08:00
疯狂的狮子li
ca085b9aaa Merge remote-tracking branch 'origin/dev' into 4.X 2022-03-01 10:12:32 +08:00
疯狂的狮子li
42df37bb21 发布 4.0.1 大升级 4.X 之后第一个修复版本 2022-03-01 10:08:09 +08:00
疯狂的狮子li
c23c986543 update springboot 2.6.3 => 2.6.4
update hutool 5.7.20 => 5.7.21
update qiniu 7.9.2 => 7.9.3
update minio 8.3.5 => 8.3.7
2022-02-28 13:27:16 +08:00
疯狂的狮子li
2190d87dc9 update 文件上传补全漏改 2022-02-28 13:03:55 +08:00
疯狂的狮子li
eefdba947c remove 删除无用合并 2022-02-28 12:17:40 +08:00
疯狂的狮子li
b9afd55856 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
	ruoyi-ui/src/components/FileUpload/index.vue
	ruoyi-ui/src/components/ImageUpload/index.vue
	ruoyi-ui/src/views/monitor/server/index.vue
	ruoyi-ui/src/views/system/user/index.vue
2022-02-28 12:16:18 +08:00
疯狂的狮子li
147eb7a9e5 update 图片上传 文件上传 支持并发上传 2022-02-28 12:10:55 +08:00
疯狂的狮子li
81ab861036 fix 修复代码生成 基于路径生成 路径为空问题 2022-02-28 10:56:59 +08:00
疯狂的狮子Li
e6014dd0e9 fix 恢复误删 @Async 注解线程池配置类 2022-02-27 22:09:53 +08:00
RuoYi
ac030b7275 优化Excel格式化不同类型的日期对象 2022-02-26 09:54:52 +08:00
RuoYi
9370747479 升级spring-boot到最新版本2.5.10 2022-02-26 09:48:17 +08:00
若依
45efd9290e !438 fix: 服务监控中运行参数显示条件错误
Merge pull request !438 from fuzui/fix_args_show_condition
2022-02-26 01:06:48 +00:00
fuzui
96edba7eec fix: 服务监控中运行参数显示条件错误 2022-02-26 03:20:50 +08:00
疯狂的狮子li
6751b97db9 fix 修复一些小问题 2022-02-25 18:34:37 +08:00
RuoYi
927b05713a 组件fileUpload支持多文件同时选择上传 2022-02-25 11:51:29 +08:00
若依
8f23ff7274 !437 解决通用下载接口跨域问题
Merge pull request !437 from 兮陌/master
2022-02-25 03:49:36 +00:00
xueye
158e883e47 fix: 修复文件下载跨域问题 2022-02-25 10:40:29 +08:00
疯狂的狮子li
7faa364c53 update 更新minio容器 关于https相关参数配置 2022-02-25 09:47:57 +08:00
RuoYi
e62e8e372c 组件ImageUpload支持多图同时选择上传 2022-02-25 09:08:56 +08:00
疯狂的狮子li
568e2a9337 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/server/Jvm.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java
	ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
	ruoyi-ui/src/components/Pagination/index.vue
	ruoyi-ui/src/permission.js
	ruoyi-ui/src/utils/request.js
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/server/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/system/user/profile/userInfo.vue
2022-02-24 15:30:20 +08:00
疯狂的狮子Li
77756eb08d !146 无符号算数验证码两个随机数生成相同概率较高问题
Merge pull request !146 from tmjAccount/dev
2022-02-24 05:09:37 +00:00
佟明键
8b097af195 update 优化随机数生成方式 避免容易生成两个相同随机数的问题 2022-02-24 12:39:28 +08:00
疯狂的狮子li
81ff77c2d5 update 调整用户登录 将日志调整到最后 防止获取不到用户警告 2022-02-24 10:02:47 +08:00
RuoYi
bb65cd1976 代码生成子表支持日期/字典配置 2022-02-24 09:28:51 +08:00
若依
1086c00929 !436 优化部门管理页面email字段的表单验证多余的单引号
Merge pull request !436 from lu_ming/master
2022-02-23 12:46:09 +00:00
“lumingsyc”
9aaa9ce8aa 优化部门管理页面email字段的表单验证多余的单引号 2022-02-23 20:00:47 +08:00
RuoYi
cb5a6d29e2 页面若未匹配到字典标签则返回原字典值 2022-02-23 16:55:09 +08:00
RuoYi
4d8bd8805b 优化个人中心页面email字段的表单验证多余的单引号 2022-02-23 16:54:59 +08:00
疯狂的狮子Li
d9b9f0b3d3 fix 修复测试账号 邮箱重复导致的问题 2022-02-22 21:37:48 +08:00
RuoYi
c8c57b545a 优化菜单关键字导致的插件报错问题 2022-02-22 19:10:34 +08:00
RuoYi
d0f7a317e4 定时任务默认保存到内存中执行 2022-02-22 19:10:21 +08:00
疯狂的狮子li
3517a8f494 update 优化 R 默认返回 msg 2022-02-22 14:03:53 +08:00
RuoYi
aa9ed2e863 修复分页组件请求两次问题 2022-02-21 15:21:16 +08:00
疯狂的狮子li
075f7fc19e update 增加 用户注册 用户类型默认值 2022-02-21 10:53:59 +08:00
疯狂的狮子li
ea7ea2ec59 Merge remote-tracking branch 'origin/dev' into dev 2022-02-21 10:40:35 +08:00
疯狂的狮子li
64b183da36 update 增加用户登出日志 2022-02-21 10:40:28 +08:00
RuoYi
54c6c4e547 服务监控新增运行参数信息显示 2022-02-20 16:06:33 +08:00
RuoYi
986b48cf36 升级pagehelper到最新版1.4.1 2022-02-20 16:05:04 +08:00
RuoYi
3bb9b03add 升级spring-boot-mybatis到最新版2.2.2 2022-02-20 16:04:40 +08:00
RuoYi
f05aa674ab 升级oshi到最新版本6.1.2 2022-02-20 16:04:25 +08:00
若依
965bdc9986 !431 修改登录超时刷新页面跳转登录页面还提示重新登录问题
Merge pull request !431 from 也曾为你、像超人/master
2022-02-19 09:08:50 +00:00
疯狂的狮子Li
edce19e406 update 更新 多用户多设备的注释说明 2022-02-19 16:16:48 +08:00
疯狂的狮子Li
1687f20760 Merge remote-tracking branch 'origin/dev' into dev 2022-02-19 16:16:20 +08:00
konbai
2917d335bc update 优化 是否为管理员的判断 2022-02-19 16:15:44 +08:00
疯狂的狮子Li
329c070e05 update 更新 多用户多设备的注释说明 2022-02-18 16:20:58 +00:00
疯狂的狮子Li
30e90619f5 update 更新微信商家二维码 2022-02-18 13:39:02 +00:00
疯狂的狮子Li
d53dc28b83 !141 修正 StringUtils.format() 注释错误问题
Merge pull request !141 from KonBAI/fix_StringUtils_Note
2022-02-18 08:49:34 +00:00
hewenqiang
3446b38cbb update 修正 StringUtils.format() 注释错误问题 2022-02-18 16:18:38 +08:00
疯狂的狮子li
f3a4104fd0 fix 修复 minio 适配 https 导致的问题 2022-02-18 14:08:51 +08:00
疯狂的狮子li
bb793d71e7 fix 修复 minio 适配 https 导致的问题 2022-02-18 14:05:32 +08:00
疯狂的狮子li
82e8ab2385 add 增加页面更新说明 2022-02-18 10:39:53 +08:00
疯狂的狮子Li
c9260c4966 update README.md. 2022-02-18 10:39:22 +08:00
疯狂的狮子li
587fb27484 add 增加页面更新说明 2022-02-18 10:38:03 +08:00
疯狂的狮子li
7f305962f2 发布 4.0.0 2022-02-18 10:31:13 +08:00
疯狂的狮子li
f6edb48df9 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
	ruoyi-ui/src/components/Pagination/index.vue
2022-02-18 09:57:51 +08:00
积硅步,至千里
e793138031 修改登录超时刷新页面跳转登录页面还提示重新登录问题 2022-02-17 17:16:11 +08:00
疯狂的狮子li
5c2992ef16 update 去除编译器警告 规范写法 2022-02-17 14:02:06 +08:00
RuoYi
d734bfc34f 修复分页组件请求两次问题(I4SQOR) 2022-02-17 11:56:11 +08:00
疯狂的狮子li
86d5a1d190 update 更新 所有 oss 均支持 https 配置 2022-02-17 10:31:52 +08:00
疯狂的狮子li
cb713e32d3 fix 修复 insertOrUpdateBatch 获取模板错误 2022-02-16 16:54:19 +08:00
疯狂的狮子Li
84fe0737de update 更新uuid去除默认值 漏改 2022-02-16 08:53:11 +00:00
疯狂的狮子li
4ea636366d update 优化代码生成 使用新 JsonUtils.parseMap 方法 2022-02-15 17:32:33 +08:00
疯狂的狮子li
54f5b59c8c update 优化代码生成 使用新 JsonUtils.parseMap 方法 2022-02-15 12:07:56 +08:00
疯狂的狮子li
657b6a9fae update 使用 hutool Dict 优化 JsonUtils 防止类型解析异常 2022-02-15 12:07:20 +08:00
疯狂的狮子li
6c01241b96 fix 回滚代码生成部分优化 修复优化导致的问题 2022-02-15 11:07:50 +08:00
疯狂的狮子li
961073ec96 update 优化 TreeBuildUtils 工具 使用反射自动获取顶级父id 2022-02-15 10:45:04 +08:00
疯狂的狮子li
e2b786d97b update 更新 swagger 配置类错误注释 2022-02-14 18:30:26 +08:00
疯狂的狮子li
2fbf9ab7be fix 修复因升级 sa-token 导致 doLogin 无法获取 token 问题 2022-02-14 17:29:43 +08:00
疯狂的狮子li
68a23c4918 update 优化代码生成 2022-02-14 16:02:22 +08:00
疯狂的狮子li
b49dbcdbbe update 修改验证码校验 增加 uuid 空判断 2022-02-14 14:31:57 +08:00
疯狂的狮子li
ee2f74dc5e Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	.gitignore
	ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginBody.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/ExceptionUtil.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/ImageUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpHelper.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/sign/Md5Utils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java
	ruoyi-common/src/main/java/com/ruoyi/common/xss/XssValidator.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysRegisterService.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysLogininforService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysLogininforServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
	ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
	ruoyi-ui/src/components/FileUpload/index.vue
	ruoyi-ui/src/views/tool/build/index.vue
2022-02-14 14:27:13 +08:00
RuoYi
81630a096f 代码生成同步保留必填/类型选项 2022-02-13 21:06:28 +08:00
RuoYi
21780d8106 优化代码 2022-02-13 21:06:18 +08:00
RuoYi
b7b4364db2 代码生成编辑修改打开新页签 2022-02-12 13:14:09 +08:00
RuoYi
d9859de756 代码优化 2022-02-12 13:13:04 +08:00
若依
5e6fd0d1e1 !429 修复自定义组件file-upload无法显示第一个文件,列表显示的文件比实际文件少一个的问题
Merge pull request !429 from hjk2008/master
2022-02-12 03:56:02 +00:00
若依
a91d7cdd72 !428 删除方法无返回值时,方法注释上的@return,StringBuilder append() 改为链式调用
Merge pull request !428 from 我的世界有我/master
2022-02-12 03:55:12 +00:00
若依
d00dc3b03a !426 修正单词拼写错误
Merge pull request !426 from 稚屿/master
2022-02-12 03:54:13 +00:00
若依
f5c69bae30 !425 优化默认值的问题,Model中不建议有默认值的逻辑
Merge pull request !425 from Yancey/default_value_optimization
2022-02-12 03:53:29 +00:00
若依
89fe17f419 !424 update .gitignore.
Merge pull request !424 from oo0oo/N/A
2022-02-12 03:53:06 +00:00
sam
c491257359 修复自定义组件file-upload无法显示第一个文件,列表显示的文件比实际文件少一个的问题 2022-02-12 08:46:12 +08:00
疯狂的狮子li
8a2f988be6 update 返回体 统一 2022-02-11 17:46:36 +08:00
疯狂的狮子li
83c0b70a2d fix 修复 验证码 强制校验问题 2022-02-11 17:30:38 +08:00
疯狂的狮子li
b7082c0eb4 fix 修复 R 参数位置错误 2022-02-11 16:49:26 +08:00
疯狂的狮子li
61e2a07ee2 update 使用 satoken 自带的 BCrypt 工具 替换 Security 加密工具 减少依赖 2022-02-11 15:03:09 +08:00
caohong
dd5e514d92 StringBuilder append方法改为链式调用 2022-02-11 10:06:07 +08:00
caohong
2532e40f9c 删除方法无返回值时,方法注释上的@return 2022-02-11 10:05:01 +08:00
RuoYi
50236ae4e5 修复Xss注解字段值为空时的异常问题 2022-02-10 17:17:51 +08:00
疯狂的狮子li
04c36018d6 update sa-token 1.28.0 => 1.29.0 2022-02-10 11:14:10 +08:00
疯狂的狮子li
1273421498 add 增加 issue 与 pr 模板 2022-02-10 09:32:26 +08:00
疯狂的狮子li
7bd34cb1da update 更新 swagger 注解用法 2022-02-09 19:44:48 +08:00
疯狂的狮子li
d99dd4b875 update 调整oss预览开关 使用前端直接调用更改配置参数 2022-02-09 14:52:33 +08:00
稚屿
c99eb98001 代码优化 2022-02-09 09:10:50 +08:00
稚屿
a29201a248 修正单词拼写错误 2022-02-09 08:46:54 +08:00
Yancey
6f0c59d7be 优化默认值的问题,Model中不建议有默认值的逻辑。 2022-02-09 00:27:51 +08:00
疯狂的狮子Li
844e8b2f77 fix 修复 insertOrUpdateBatch 获取错误 class 类 2022-02-07 23:37:47 +08:00
疯狂的狮子Li
5a0a9e3a1c update 更新文档说明 2022-02-07 23:08:00 +08:00
oo0oo
a6ed5667ab update .gitignore.
添加JRebel工具rebel.xml文件规则至gitignore
2022-02-01 02:24:49 +00:00
疯狂的狮子li
53da7140c2 update 调整返回类型为 R 2022-01-29 11:48:41 +08:00
疯狂的狮子li
eb87229ee9 update 修正脚本错误 2022-01-29 09:23:27 +08:00
疯狂的狮子li
0b852faf00 Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	pom.xml
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
#	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
#	ruoyi-ui/src/assets/styles/ruoyi.scss
#	ry.bat
2022-01-29 09:23:11 +08:00
疯狂的狮子li
ce9e033551 update 更新全局异常响应 2022-01-28 19:57:19 +08:00
疯狂的狮子li
eefe3a9c6e update 更新全局异常响应 2022-01-28 19:56:30 +08:00
疯狂的狮子li
06535c8eac fix 修复建造者模式无法反序列化问题 2022-01-28 14:29:39 +08:00
疯狂的狮子li
651867055c update 修改用户注册报未登录警告 2022-01-28 11:03:31 +08:00
疯狂的狮子li
8c7e49dd54 update 修改用户注册报未登录警告 2022-01-28 10:15:09 +08:00
RuoYi
612c4293d1 用户访问控制时校验数据权限,防止越权 2022-01-27 12:05:04 +08:00
RuoYi
8007b22b85 导出Excel时屏蔽公式,防止CSV注入风险 2022-01-27 12:04:40 +08:00
RuoYi
35664d818d update ry.bat 2022-01-27 12:04:21 +08:00
疯狂的狮子li
aa9f2c9a3c update 替换过期配置 2022-01-27 11:43:56 +08:00
疯狂的狮子li
5764befa46 update 优化 redisson 配置 去除掉不常用的配置 使用默认配置 2022-01-27 11:20:54 +08:00
疯狂的狮子li
29462b83ff update 优化 LoginUser 解耦 2022-01-27 09:50:18 +08:00
疯狂的狮子li
129a49a60b fix 修复登录监听获取不到用户 改为优先执行一级缓存 2022-01-26 21:07:21 +08:00
疯狂的狮子li
0da30f4623 update 优化 查询登录用户数据 统一走缓存 2022-01-26 20:58:05 +08:00
疯狂的狮子li
69bcebdf86 update 更新测试sql 2022-01-26 18:46:49 +08:00
疯狂的狮子li
c0d749b1e2 fix 修复 数据权限 缓存方法名错误问题 2022-01-26 18:30:57 +08:00
疯狂的狮子li
e6bcced213 update mybatis-plus 3.5.0 => 3.5.1 2022-01-26 10:44:37 +08:00
疯狂的狮子Li
3706d2e1db update 去除链式调用注解 不符合规范导致很多奇葩问题 例如: copy为空问题 2022-01-25 21:50:54 +08:00
疯狂的狮子Li
03bda9422d update 修改 关于 BeanCopyUtils 工具的说明 避免问题 2022-01-25 20:17:45 +08:00
疯狂的狮子Li
f89b4e9336 !134 优化登录、注册校验方式
Merge pull request !134 from KonBAI/fix_auth_valid
2022-01-25 09:54:37 +00:00
hewenqiang
cd510b43b1 fix 优化登录、注册校验方式,在接口通过@Validated进行数据基础校验,以及服务执行到异常后,抛出异常结束方法执行(减少if-else嵌套)。 2022-01-25 17:17:06 +08:00
疯狂的狮子li
0c8f727bd8 update maven-jar-plugin 3.2.0 => 3.2.2
update maven-war-plugin 3.2.0 => 3.2.2
update maven-compiler-plugin 3.1 => 3.9.0
update hutool 5.7.18 => 5.7.20
update springboot-admin 2.6.0 => 2.6.2
update redisson 3.16.7 => 3.16.8
update qiniu 7.9.0 => 7.9.2
update aliyun 3.13.1 => 3.14.0
update qcloud 5.6.58 => 5.6.68
update minio 8.3.4 => 8.3.5
2022-01-24 13:03:42 +08:00
疯狂的狮子li
ad18449753 update 重构 使用 Spring 简化 oss 模块代码 2022-01-24 13:00:38 +08:00
RuoYi
1fe08f49c7 升级spring-boot到最新版本2.5.9 2022-01-23 10:56:41 +08:00
wind
48b007543a fix css class name 2022-01-22 14:05:44 +00:00
KonBAI
d52ece745e !132 优化查询是否存在的方法,替换魔法值为已定义的常量
* fix 替换查询所有子部门数中魔法值为已定义的常量
* fix 1.修改查询是否存在的方法改为baseMapper.exists()方法查询。 2.将部分魔法值改为已定义的常量
2022-01-22 07:00:58 +00:00
疯狂的狮子Li
0f75f789d8 !133 修复单词拼写错误
Merge pull request !133 from JackyTang/dev
2022-01-22 03:47:15 +00:00
JackyTang
bc9098bc22 fix 修复单词拼写错误 2022-01-22 10:19:18 +08:00
疯狂的狮子li
76f1650109 fix vue3下点击编辑,取消修改报错问题 2022-01-21 18:34:41 +08:00
疯狂的狮子li
c636e6909b Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/ThreadPoolConfig.java
#	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
2022-01-21 18:29:44 +08:00
疯狂的狮子li
b5b1b94a9d update springboot 2.6.2 => 2.6.3 2022-01-21 14:55:44 +08:00
疯狂的狮子li
b87aeb9b95 update 移除掉 StringUtils 语义不明确的api方法 使用特定工具替换 2022-01-21 10:30:39 +08:00
疯狂的狮子Li
5f0e4e81f0 !131 fix 修改用户信息校验方法
Merge pull request !131 from KonBAI/fix_cheakUserInfo
2022-01-20 09:13:54 +00:00
hewenqiang
7306feb6ef fix 修改用户信息校验方法。
1. 校验用户名称是否唯一采用baseMapper.exists()方法判断是否存在。
2. 校验手机号码和校验email是否唯一,当存在userId时,sql查询条件才加上不等于当前userId。
2022-01-20 15:24:38 +08:00
RuoYi
dccb3ac6c6 修复选项卡点击右键刷新丢失参数问题 2022-01-18 11:29:31 +08:00
若依
89cd2106ed !416 update ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java.
Merge pull request !416 from SG/N/A
2022-01-18 03:25:31 +00:00
若依
74f991b8c5 !414 优化任务队列满时任务拒绝策略
Merge pull request !414 from root/master
2022-01-18 03:20:23 +00:00
疯狂的狮子li
dcf79d9119 add 增加 3.X update 4.0 更新sql 2022-01-17 18:32:02 +08:00
疯狂的狮子li
911867d5a5 update 数据库更改 对接多用户体系 2022-01-17 17:09:27 +08:00
疯狂的狮子li
3600875707 update 优化 代码生成 字段更新未同步 2022-01-17 15:49:34 +08:00
疯狂的狮子li
8052d75957 Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	ruoyi-admin/src/main/resources/application.yml
#	ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
#	ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
#	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
#	ruoyi-ui/src/views/login.vue
#	ruoyi-ui/src/views/register.vue
2022-01-17 15:48:09 +08:00
疯狂的狮子li
cc2624d08e update 优化加载字典缓存数据 2022-01-17 15:46:28 +08:00
疯狂的狮子li
e72cfff7bb remove 删除无用同步 2022-01-17 15:27:41 +08:00
疯狂的狮子li
a43e6e06e0 update 优化多用户体系处理 更名 LoginUtils 为 LoginHelper 支持 LoginUser 多级缓存 2022-01-17 12:03:15 +08:00
疯狂的狮子Li
dc0af0a419 fix 修复 banner 显示版本号不正确 2022-01-16 18:03:05 +08:00
phanes
868942e202 update 格式化代码结构 统一编码格式 2022-01-16 17:46:24 +08:00
疯狂的狮子Li
3fef2b68dc !129 重命名通用 数据权限 服务接口类名称,与其他服务接口风格统一
Merge pull request !129 from KonBAI/fix-rename-DataScopeService
2022-01-15 17:44:34 +00:00
konbai
404cb4c7a6 fix 重命名通用 数据权限 服务接口类名称,与其他服务接口风格统一 2022-01-16 01:06:51 +08:00
SG
a966b95a5b update ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java.
修正文字
2022-01-14 09:24:15 +00:00
mingliangyang
15f05b602f fix ruoyi-vue3下点击编辑,取消修改报错问题 2022-01-14 16:26:03 +08:00
mingliangyang
9e51d3f250 优化任务队列满时任务拒绝策略 2022-01-14 11:54:46 +08:00
RuoYi
d7ca248bc8 update copyright 2022 2022-01-14 11:47:25 +08:00
RuoYi
3980b2f2ff 定时任务屏蔽违规的字符 2022-01-14 11:47:14 +08:00
RuoYi
bed9fcea46 优化加载字典缓存数据 2022-01-14 11:46:51 +08:00
RuoYi
b1b82857ba 优化字段更新未同步 2022-01-14 11:46:05 +08:00
疯狂的狮子li
0b09272a60 update 代码生成调整 2022-01-13 15:28:00 +08:00
疯狂的狮子li
f9129bd54e update 代码生成调整 删除无用导报与逻辑 2022-01-13 15:23:17 +08:00
疯狂的狮子li
c0f3dff0f6 update 合并 satoken 解决不兼容不分 2022-01-13 11:27:09 +08:00
疯狂的狮子li
6ca8535166 Merge remote-tracking branch 'origin/satoken' into dev
# Conflicts:
#	pom.xml
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/AsyncConfig.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/handler/CreateAndUpdateMetaObjectHandler.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TokenServiceImpl.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserDetailsServiceImpl.java
#	ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
2022-01-13 11:14:33 +08:00
疯狂的狮子li
ff4a429136 update 升级 springboot 2.6.X 解决 springfox 兼容性问题 2022-01-13 11:07:09 +08:00
疯狂的狮子li
9a5cea2b23 update 降低开发环境 redis连接池数量 2022-01-13 10:46:10 +08:00
疯狂的狮子li
cd1a68f15e update 防止 MP 无主键警告 2022-01-13 10:26:18 +08:00
疯狂的狮子li
a0bed51d96 update 格式化代码 统一间隔符
update 格式化代码 统一间隔符
2022-01-13 09:58:16 +08:00
疯狂的狮子li
857dec38d1 update 代码模板 适配新改动 2022-01-13 09:49:08 +08:00
疯狂的狮子li
8f6484e470 [重磅更新] 重写项目整体结构 数据处理下沉至 Mapper 符合 MVC 规范 减少循环依赖 2022-01-12 21:22:26 +08:00
疯狂的狮子li
5413b37d71 Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	README.md
#	ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
#	ruoyi-ui/src/views/index.vue
2022-01-12 20:53:03 +08:00
RuoYi
869dcf73f8 Vue3前端代码生成模板同步到最新 2022-01-11 17:20:50 +08:00
若依
96a34d1ad7 !409 翻页组件多了一个 :p 导致生成代码无法翻页
Merge pull request !409 from guxin0123/master
2022-01-11 09:17:31 +00:00
疯狂的狮子li
26fc652d33 update 统一代码间隔符 2022-01-11 16:58:47 +08:00
guxin0123
766361ac83 update ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm.
翻页组件多了一个 :p 导致生成代码无法翻页
2022-01-11 04:57:26 +00:00
疯狂的狮子li
fc8c96399f update 防重复提交标识组合 改为 key + url + header 2022-01-11 12:36:33 +08:00
疯狂的狮子li
9bad713db5 fix 修复 index-tree.vue.vm 漏删 #end 2022-01-11 11:30:53 +08:00
疯狂的狮子li
6f222ab02b fix 修复 通配符匹配无效 2022-01-11 09:30:38 +08:00
RuoYi
9bd7509e87 添加新群号:264312783 2022-01-11 09:02:16 +08:00
疯狂的狮子li
e47596383a update 删除文档无用合并 2022-01-10 15:05:03 +08:00
疯狂的狮子Li
7487c92a52 add 增加 监控中心 自定义事件通知 2022-01-09 00:54:59 +08:00
疯狂的狮子Li
29cc9da934 update hutool 引入改为 bom 依赖项引入 2022-01-08 19:15:16 +08:00
疯狂的狮子Li
eaeb324c74 update 指定 maven 资源过滤为具体文件 防止错误过滤 2022-01-08 18:41:42 +08:00
RuoYi
9f7acd4cf9 优化部门修改缩放后出现的错位问题 2022-01-08 09:23:45 +08:00
疯狂的狮子li
d9a0de20f8 Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
#	ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
#	ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
#	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
#	ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm
#	ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm
#	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
#	ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/ScheduleUtils.java
2022-01-07 15:41:18 +08:00
RuoYi
eb11337f7d 添加遗漏的分页参数合理化属性 2022-01-07 13:09:58 +08:00
RuoYi
d2872539e3 修正文字错误 2022-01-07 13:08:51 +08:00
RuoYi
1a5b024df6 定时任务目标字符串验证包名白名单 2022-01-06 14:50:56 +08:00
RuoYi
578d65dfb4 定时任务目标字符串过滤特殊字符 2022-01-05 14:56:05 +08:00
RuoYi
db4c2d3dd5 代码生成列表图片支持预览 2022-01-04 20:27:08 +08:00
RuoYi
47842a1611 update donate 2022-01-04 20:26:49 +08:00
若依
f4f4cd9b1f Create FUNDING.yml 2022-01-04 19:50:01 +08:00
RuoYi
b7452cc281 update README.md 2022-01-04 10:49:59 +08:00
疯狂的狮子li
92653f3deb Merge remote-tracking branch 'origin/dev' into dev 2022-01-04 10:10:59 +08:00
疯狂的狮子li
c526ab1870 add 增加 RedisUtils 工具 hasKey 检查key存在方法 2022-01-04 09:48:20 +08:00
疯狂的狮子li
1c7d840ff6 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-admin/pom.xml
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-common/pom.xml
	ruoyi-framework/pom.xml
	ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
	ruoyi-generator/pom.xml
	ruoyi-job/pom.xml
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java
	ruoyi-system/pom.xml
	ruoyi-ui/package.json
	ruoyi-ui/src/api/system/user.js
	ruoyi-ui/src/utils/request.js
	ruoyi-ui/src/views/index.vue
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/system/user/index.vue
2022-01-04 09:45:33 +08:00
RuoYi
8ba91fc9dd 优化查询用户详细信息 2022-01-04 09:10:49 +08:00
疯狂的狮子Li
09b03465d8 update mybatis-plus 3.4.3.4 => 3.5.0 2022-01-02 13:14:16 +08:00
RuoYi
c8d9b3f8fc 前端支持设置是否需要防止数据重复提交 2022-01-02 10:37:09 +08:00
RuoYi
c9d19cbe56 空值不进行回显数据字典 2022-01-02 10:29:15 +08:00
RuoYi
10ae0bce65 用户修改减少一次角色列表关联查询 2022-01-01 09:50:35 +08:00
RuoYi
7bc15245aa 预览组件支持多图显示 2022-01-01 09:46:18 +08:00
RuoYi
cb6228800b 代码生成新增Java类型Boolean 2022-01-01 09:28:52 +08:00
RuoYi
6ef899d000 修复登录失效后多次请求提示多次弹窗问题 2021-12-31 10:03:54 +08:00
RuoYi
6353f4ff09 若依 3.8.1 2021-12-31 00:00:06 +08:00
疯狂的狮子li
fb673107f3 update 接口文档增加 basic 账号密码验证 2021-12-30 17:17:34 +08:00
RuoYi
bb1af390a7 升级log4j2到2.17.1,防止漏洞风险 2021-12-30 14:41:25 +08:00
RuoYi
f65cd6245d 防重复提交标识组合(key + url + header) 2021-12-30 14:14:40 +08:00
RuoYi
530b2a51d5 修改单词拼写错误 2021-12-30 14:13:38 +08:00
RuoYi
d51e7cbb51 用户管理部门查询选择节点后分页参数初始 2021-12-29 11:04:09 +08:00
若依
f244fe1855 !395 fix https://gitee.com/y_project/RuoYi-Vue/issues/I4O5WD
Merge pull request !395 from 马小法/master
2021-12-29 02:14:26 +00:00
疯狂的狮子li
293db76bd6 remove 移除过期代码 分页工具相关 2021-12-28 14:33:26 +08:00
疯狂的狮子li
5b257b2b57 remove 移除过期代码 多数据源切换 2021-12-28 14:33:08 +08:00
疯狂的狮子li
4e04f5e967 remove 移除过期代码 数据权限 2021-12-28 14:32:53 +08:00
疯狂的狮子li
29f0ded88b update 注释遗漏 老版本数据权限 2021-12-28 14:28:47 +08:00
疯狂的狮子li
6c4882b907 update 注释遗漏 老版本数据权限 2021-12-28 14:27:59 +08:00
疯狂的狮子li
45e6accd2a add 增加邮箱与银行卡脱敏策略 并应用到 SysUser 2021-12-28 12:03:00 +08:00
疯狂的狮子li
51b19fcff4 update 优化 数据脱敏pr 使用接口提高扩展性 2021-12-28 11:51:01 +08:00
疯狂的狮子li
c4cfaab621 Merge remote-tracking branch 'origin/dev' into dev 2021-12-28 11:24:58 +08:00
疯狂的狮子Li
8bf27bf76b !127 add 新增数据脱敏注解,可根据菜单权限字符控制是否脱敏
Merge pull request !127 from Yjoioooo/auto-5403234-dev-1640272112776
2021-12-28 03:24:34 +00:00
疯狂的狮子li
ccb132374b update 更新 手动获取 延迟队列方法 2021-12-28 11:23:33 +08:00
疯狂的狮子li
c82afc8c46 update RedisUtils 迁移到 utils/redis 包下 2021-12-28 11:23:33 +08:00
疯狂的狮子li
08e0ed4fc6 [重磅更新] 增加 轻量级 分布式队列 支持 2021-12-28 11:23:32 +08:00
疯狂的狮子li
261d9f8ebc update 合并 dev 处理差异 2021-12-28 10:38:25 +08:00
疯狂的狮子li
948ad86049 Merge remote-tracking branch 'origin/dev' into satoken 2021-12-28 10:37:43 +08:00
疯狂的狮子li
ed659da488 发布 v3.5.0-release 正式版 2021-12-28 10:35:52 +08:00
马小法
1294f68265 fix https://gitee.com/y_project/RuoYi-Vue/issues/I4O5WD 2021-12-27 15:33:22 +08:00
RuoYi
0e771a6c1b 升级spring-boot到最新版本2.5.8 2021-12-27 12:38:59 +08:00
疯狂的狮子li
a8227453fc update hutool 5.7.17 => 5.7.18 bugfix
update redisson 3.16.6 => 3.16.7 bugfix
2021-12-27 11:43:59 +08:00
疯狂的狮子li
225eda7176 update 更新 Sa-Token 文档说明与连接 2021-12-27 11:06:12 +08:00
疯狂的狮子li
dd37247e65 Merge remote-tracking branch 'origin/dev' into satoken
# Conflicts:
#	pom.xml
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
#	ruoyi-common/pom.xml
#	ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
#	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
#	ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
#	ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/LogoutSuccessHandlerImpl.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java
#	ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TokenServiceImpl.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserDetailsServiceImpl.java
2021-12-27 09:50:42 +08:00
疯狂的狮子li
295cd3670f Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
2021-12-27 09:30:12 +08:00
RuoYi
e4df0c6da1 优化代码生成字典组重复问题 2021-12-24 14:51:33 +08:00
疯狂的狮子li
2a421deaa3 update 更改项目介绍 2021-12-24 12:39:13 +08:00
RuoYi
7b23b6db6f 升级oshi到最新版本v5.8.6 2021-12-24 12:00:29 +08:00
疯狂的狮子li
5ca038d888 update 调整监控依赖 从 common 迁移到 framework 2021-12-24 11:36:02 +08:00
Yjoioooo
caf93da26a add 新增数据脱敏注解,可根据菜单权限字符控制是否脱敏 2021-12-23 23:07:54 +08:00
疯狂的狮子li
3454e34c7c update 更新 文档 satoken 说明 2021-12-22 13:23:21 +08:00
疯狂的狮子li
619a80228f update springboot 2.5.7 => 2.5.8 升级预防 log4j2 问题
update springboot-admin 2.5.4 => 2.5.5
update hutool 5.7.16 => 5.7.17
2021-12-22 10:22:00 +08:00
疯狂的狮子li
89de1beb6f update 优化web拦截器 使用原生接口处理 默认非生产环境开启 2021-12-22 10:19:57 +08:00
疯狂的狮子li
b6442b4640 Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	pom.xml
#	ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java
2021-12-22 10:10:29 +08:00
RuoYi
be412faf6c 升级fastjson到最新版1.2.79 2021-12-21 13:32:40 +08:00
RuoYi
fd3a699ad8 SQL工具类新增检查关键字方法 2021-12-21 13:32:28 +08:00
疯狂的狮子li
4c99cea3e4 update 更新批处理演示案例注释说明 2021-12-21 11:18:03 +08:00
疯狂的狮子li
1d54ef57c7 update 更新 nginx 配置文件关于 https 可能遇到的问题与解决方案说明 2021-12-21 10:54:57 +08:00
疯狂的狮子li
673b225da2 Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	ruoyi-ui/vue.config.js
2021-12-20 14:34:05 +08:00
疯狂的狮子li
c3fe137720 Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	ruoyi-ui/package.json
#	ruoyi-ui/vue.config.js
2021-12-20 14:32:21 +08:00
RuoYi
c28aa299bd 新增使用Gzip解压缩静态文件地址 2021-12-20 14:25:52 +08:00
RuoYi
b2189ae965 集成compression-webpack-plugin插件实现打包Gzip压缩 2021-12-20 10:00:26 +08:00
疯狂的狮子li
a3504dac6e Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
	ruoyi-ui/package.json
	ruoyi-ui/src/main.js
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/store/modules/permission.js
	ruoyi-ui/vue.config.js
2021-12-20 09:47:56 +08:00
RuoYi
a028b566ed 集成compression-webpack-plugin插件实现打包Gzip压缩 2021-12-20 09:46:17 +08:00
RuoYi
ca2405c104 升级log4j2到安全版本,防止漏洞风险 2021-12-19 19:56:53 +08:00
疯狂的狮子Li
08f4ae04e1 update 更新 jdbc 配置参考博客地址 2021-12-19 02:05:31 +08:00
疯狂的狮子Li
83d69ba507 add [重磅更新] 增加 jdbc 批处理参数 大幅提升批量操作性能 对原生语句与 MP 均有效 2021-12-18 22:59:55 +08:00
疯狂的狮子Li
63cb34b563 update 优化 pr 调整导包位置 2021-12-18 18:34:23 +08:00
疯狂的狮子Li
271e42176c !126 自动生成代码未引入此依赖 import com.baomidou.mybatisplus.extension.plugins.pag
Merge pull request !126 from 抓蛙师/auto-7465549-dev-1639814849312
2021-12-18 10:19:34 +00:00
RuoYi
e5647793ce 路由支持单独配置菜单或角色权限 2021-12-18 16:48:31 +08:00
抓蛙师
b87e45ce32 自动生成代码未引入此依赖
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
2021-12-18 16:07:24 +08:00
RuoYi
903b5aebca 新增图片预览组件 2021-12-18 12:23:59 +08:00
RuoYi
7492dcc9e6 请求分页方法设置成通用方便灵活调用 2021-12-18 12:22:41 +08:00
疯狂的狮子Li
5d2b162bea add 增加 DataPermissionHelper 类 便于操作数据权限变量 2021-12-17 21:52:11 +08:00
疯狂的狮子Li
3fce90dbb9 update 优化数据权限缓存合并为一个 标注版本注释 2021-12-17 21:50:14 +08:00
疯狂的狮子li
d40b9324ca add oss下载增加 loading 层 2021-12-17 17:53:19 +08:00
疯狂的狮子li
6875935d37 fix 修复 集群雪花id重复问题 使用网卡信息绑定生成 2021-12-17 13:47:24 +08:00
RuoYi
8978012f9d 修复打包后字体图标偶现的乱码问题 2021-12-17 11:36:15 +08:00
若依
7cf4a5da87 !391 修改重置表单bug
Merge pull request !391 from 18297093310/jieoschina-master-patch-51652
2021-12-17 03:17:16 +00:00
18297093310
47b67331d4 修改重置表单bug 2021-12-17 03:06:25 +00:00
RuoYi
6e14601c7c 修复版本差异导致的懒加载报错问题 2021-12-16 16:34:20 +08:00
疯狂的狮子li
3546ac2854 fix 修复 redisson 集群模式 路径未匹配协议头问题 2021-12-16 15:37:31 +08:00
疯狂的狮子li
d600cdd8a0 add 代码生成增加 vue3 页面模板 2021-12-16 15:09:35 +08:00
疯狂的狮子li
d2c6e27d07 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-ui/src/views/system/user/index.vue
2021-12-16 14:21:04 +08:00
疯狂的狮子li
8041ced02d update 数据权限增加全局缓存 提高处理性能 减少重复处理 2021-12-16 13:58:52 +08:00
疯狂的狮子li
d81056cbe7 update 修改 缓存懒加载 为 false 默认启动预加载数据 2021-12-16 13:55:14 +08:00
疯狂的狮子li
44e8a012e2 update 去除 jdk17 标签 由于很多组件还未适配 导致一些问题 2021-12-16 12:10:42 +08:00
疯狂的狮子li
30483dacfb update 回滚错误修改 2021-12-16 11:52:55 +08:00
疯狂的狮子li
9d81d95700 update 代码生成 数据库功能使用 mapper 操作 规范用法避免滥用 2021-12-16 11:45:58 +08:00
疯狂的狮子li
e6b45d4cdb update 数据权限注解支持类标注 2021-12-16 10:54:44 +08:00
疯狂的狮子li
c2e28b5d94 update 修改 基础方法返回空判断 优化返回值 2021-12-16 10:54:26 +08:00
RuoYi
fef7ead0d5 新增Vue3前端代码生成模板 2021-12-16 09:51:11 +08:00
RuoYi
06aef0587a 用户导入提示溢出则显示滚动条 2021-12-16 09:50:26 +08:00
若依
bf7c259cdd !390 fix: cron组件中周回显bug
Merge pull request !390 from fuzui/fix_week_echo_in_cron_component
2021-12-16 01:45:14 +00:00
fuzui
43d76e5990 fix: cron组件中周回显bug 2021-12-16 02:18:48 +08:00
疯狂的狮子Li
ffde310d30 update qiniu 7.8.0 => 7.9.0
update minio 8.3.3 => 8.3.4
2021-12-16 00:13:04 +08:00
疯狂的狮子Li
44bc7dd9a5 update 修改已过期方法 调整编译警告 2021-12-16 00:11:38 +08:00
疯狂的狮子Li
9e5b64e1b7 Merge remote-tracking branch 'origin/dev' into dev 2021-12-15 23:33:57 +08:00
疯狂的狮子Li
2599073f56 fix 修复数据权限 兜底sql处理逻辑问题 2021-12-15 23:33:51 +08:00
疯狂的狮子li
a2d49f9981 update 更改演示案例多数据源注解 2021-12-15 17:28:41 +08:00
疯狂的狮子li
877a9d510b update tlog 1.3.5 => 1.3.6 修复 jdk17 不兼容问题 2021-12-15 15:33:31 +08:00
疯狂的狮子li
2455d0b859 add 增加 自定义 Xss 校验注解 用户导入增加 Bean 校验 2021-12-15 15:03:44 +08:00
疯狂的狮子li
b3c3afc2b4 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
	ruoyi-system/src/main/java/com/ruoyi/system/domain/SysNotice.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
2021-12-15 14:12:36 +08:00
疯狂的狮子li
3f97d19381 update [重磅更新] 重构分页 简化使用 2021-12-15 13:29:54 +08:00
疯狂的狮子li
3ab3d49055 update 清除警告 2021-12-15 13:23:16 +08:00
疯狂的狮子li
bd89cc0287 update ServicePlusImpl 功能 下沉到 BaseMapperPlus 2021-12-15 12:17:04 +08:00
RuoYi
d365a52cd6 自定义xss校验注解实现 2021-12-15 10:50:10 +08:00
疯狂的狮子li
5e38e054a7 update hutool 工具 改为单包引入 减少无用依赖 2021-12-15 10:44:50 +08:00
疯狂的狮子Li
317f6d5c87 fix 修复代码生成 sql异常 屏蔽代码生成数据权限过滤 2021-12-14 23:47:59 +08:00
疯狂的狮子li
c876776a25 update 更正包名书写错误 2021-12-14 18:00:38 +08:00
RuoYi
e1c7115d8c 升级log4j2到安全版本,防止漏洞风险 2021-12-14 12:09:57 +08:00
RuoYi
bb4d75aff0 升级log4j2到安全版本,防止漏洞风险 2021-12-14 10:33:25 +08:00
疯狂的狮子li
c5dbd04c9c fix 修复数据权限 仅自己 相关问题 2021-12-14 10:11:16 +08:00
疯狂的狮子li
2a8a72a085 add 新增 Vue3 分支(由于组件还未完善 仅供学习) 2021-12-13 20:33:31 +08:00
疯狂的狮子li
29c46a15f9 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	README.md
	pom.xml
	ruoyi-admin/pom.xml
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-common/pom.xml
	ruoyi-framework/pom.xml
	ruoyi-generator/pom.xml
	ruoyi-job/pom.xml
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java
	ruoyi-system/pom.xml
	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysPostMapper.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
	ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml
	ruoyi-ui/package.json
	ruoyi-ui/src/directive/index.js
	ruoyi-ui/src/plugins/download.js
	ruoyi-ui/src/views/index.vue
	ruoyi-ui/src/views/monitor/online/index.vue
	ruoyi-ui/src/views/system/user/authRole.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/tool/gen/basicInfoForm.vue
	ruoyi-ui/src/views/tool/gen/genInfoForm.vue
2021-12-13 12:37:36 +08:00
疯狂的狮子Li
aae3fe5305 update [重大更新] 重写数据权限实现 2021-12-13 03:49:05 +00:00
RuoYi
2743785aaf 修复多参数逗号分隔的问题 2021-12-13 10:11:34 +08:00
疯狂的狮子li
abc378c727 fix 修复代码生成 导出注解错误 2021-12-13 10:03:00 +08:00
疯狂的狮子li
79fc16eeb7 fix 修复代码生成 导出注解错误 2021-12-13 10:02:32 +08:00
RuoYi
2a235917dc 优化下载解析blob异常提示 2021-12-10 10:03:25 +08:00
疯狂的狮子Li
c9e9341b4a fix 修复 在线用户key错误 2021-12-09 17:53:36 +08:00
疯狂的狮子Li
da247c61b7 update 过滤离线用户 2021-12-09 16:32:32 +08:00
疯狂的狮子Li
2cd2e6dd19 update 删除异常用户token 2021-12-09 16:22:10 +08:00
疯狂的狮子Li
e442bce607 update 删除异常用户token 2021-12-09 16:21:26 +08:00
疯狂的狮子Li
f7664a2d7e update 查询在线用户检查是否已经离线 如果离线则清除token 2021-12-09 16:08:18 +08:00
疯狂的狮子li
8a5c8d0db5 update 补全缺失导包 2021-12-09 11:52:27 +08:00
疯狂的狮子li
bcd5b713f8 fix 修复 SysOssConfig 主键类型错误 2021-12-09 11:50:34 +08:00
疯狂的狮子li
a9488ba3c9 update 多数据源切换标注过期 3.6.0 移除 推荐使用原生注解 2021-12-09 11:50:25 +08:00
疯狂的狮子li
be13e3494a update redisson 3.16.4 => 3.16.6
update dynamic-ds 3.4.1 => 3.5.0
2021-12-09 11:49:00 +08:00
疯狂的狮子li
a62d65a9b8 fix 修复 TreeBuildUtils 顶节点不为 0 问题 2021-12-09 11:48:55 +08:00
RuoYi
44ce6774dc 代码生成预览支持复制内容 2021-12-09 09:57:02 +08:00
RuoYi
b911d7f78f 自定义文字复制剪贴指令 2021-12-09 09:56:11 +08:00
RuoYi
4644176e26 升级clipboard到最新版本2.0.8 2021-12-09 09:52:44 +08:00
疯狂的狮子li
df6759b033 remove 删除无用注入 2021-12-07 17:41:50 +08:00
疯狂的狮子li
bf8bac2bcc fix 关于 Undertow 的错误说明 2021-12-07 17:06:11 +08:00
疯狂的狮子li
37def02ee1 fix 修复sql关键字处理 防止解析器报错 2021-12-07 15:16:37 +08:00
疯狂的狮子li
09dfb25d73 update 修改 健康检查权限 改为用户放行 提高安全性 2021-12-07 12:20:21 +08:00
RuoYi
850b98337b 修正用户分配角色属性错误 2021-12-06 20:58:10 +08:00
若依
7f2921f26b !382 update 优化查询用户的角色组、岗位组代码
Merge pull request !382 from 疯狂的狮子Li/update
2021-12-06 12:35:59 +00:00
若依
836017f2b9 !381 fix 修复主键溢出问题 将查询返回类型改为 Long
Merge pull request !381 from 疯狂的狮子Li/fix
2021-12-06 12:34:52 +00:00
疯狂的狮子li
ed22f395ba update 更新 redis.conf 配置文件 标注key监听器配置 2021-12-06 20:25:33 +08:00
疯狂的狮子li
bcbc7c1d47 update 更新 RedisUtils 增加 注册监听器方法 2021-12-06 20:22:45 +08:00
疯狂的狮子li
1445d6d24a update 更新 RedisUtils 返回客户端实例 2021-12-06 19:52:27 +08:00
疯狂的狮子li
4de4763baf update 优化查询用户的角色组、岗位组代码 2021-12-06 18:32:51 +08:00
疯狂的狮子li
8362fe1b39 update 优化查询用户的角色组、岗位组代码 2021-12-06 14:48:04 +08:00
疯狂的狮子li
258dc16cfd update 更新 jdk 版本说明 暂不支持 jdk17 2021-12-06 14:36:59 +08:00
疯狂的狮子li
8f8e796c77 update tlog 1.3.4 => 1.3.5 启用 tlog 自动配置 2021-12-06 14:36:38 +08:00
疯狂的狮子li
a39a98cda9 update 移除 包错误引用 2021-12-06 14:35:55 +08:00
疯狂的狮子li
90ba39593a update 声明 cglib 依赖 控制版本 2021-12-06 12:12:20 +08:00
疯狂的狮子li
c3061a19a2 remove 移除过期工具 2021-12-06 11:01:07 +08:00
疯狂的狮子li
e11a6163dd update 禁止所有工具类实例化 优化代码书写规范 2021-12-06 10:59:54 +08:00
疯狂的狮子li
1b752c35cc update 使用 Cglib 重构 BeanCopyUtils 性能优异 2021-12-06 10:40:57 +08:00
疯狂的狮子li
8b9d3541dd update LoginUser 增加角色缓存 优化角色权限代码 2021-12-03 19:25:38 +08:00
疯狂的狮子li
dff7d70f0a update 更改角色刷新缓存 2021-12-03 19:13:15 +08:00
疯狂的狮子li
e763381186 update [重磅更新] 登录流程升级 支持缓存 2021-12-03 18:46:49 +08:00
疯狂的狮子li
d4f49b10d7 update 重构代码生成分页相关 基于新分页方法 2021-12-03 15:58:16 +08:00
疯狂的狮子li
5ba39c0086 update 重构分页 基于 分页新方法 2021-12-03 15:57:58 +08:00
疯狂的狮子li
b5db6fe186 update 重构分页工具 使用分页实体类 过期方法标注过期 3.6.0 移除 2021-12-03 15:57:11 +08:00
疯狂的狮子li
8d2886e1ca add 增加 分页查询实体类 2021-12-03 15:56:19 +08:00
疯狂的狮子li
965ebd0f03 fix 修复主键溢出问题 将查询返回类型改为 Long 2021-12-03 11:11:43 +08:00
疯狂的狮子li
cb306b0793 remove 移除过期 用户导入 2021-12-03 10:45:31 +08:00
疯狂的狮子li
c5dc08e082 update 调整 角色查询部门 返回值类型 2021-12-03 10:45:04 +08:00
疯狂的狮子Li
b00c6dd89b !120 selectPostListByUserId方法出参调整为Long
Merge pull request !120 from zendwang/dev
2021-12-03 02:40:05 +00:00
疯狂的狮子Li
2fd28ca5c8 update 更新 nginx 演示环境配置 2021-12-02 21:07:43 +08:00
疯狂的狮子Li
14a05ddaca !119 系统用户自定义导入时初始密码加密优化
Merge pull request !119 from zendwang/dev
2021-12-02 12:37:08 +00:00
zendwang
209654fdff fix selectPostListByUserId方法出参调整为Long 2021-12-02 20:13:47 +08:00
zendwang
f30aa02e7c fix 系统用户自定义导入时初始密码加密优化 2021-12-02 19:48:56 +08:00
疯狂的狮子li
dd4374229b fix 修复更改密码问题 由于移除redis上存储的密码 导致找不到缓存内的旧密码 2021-12-02 19:11:36 +08:00
疯狂的狮子li
7eedf37149 update 优化 pr !118 代码结构 2021-12-02 18:47:18 +08:00
疯狂的狮子Li
7aea32f48b !118 为Transactional注解设置rollback属性
Merge pull request !118 from zendwang/dev
2021-12-02 10:44:24 +00:00
zendwang
ac38f7b909 fix 为Transactional注解设置rollback属性 2021-12-02 18:34:49 +08:00
RuoYi
2c3f1c28e5 tomcat update 2021-12-02 16:31:51 +08:00
疯狂的狮子li
e8ee5ad691 update 用户登录 支持校验错误次数锁定登录 2021-12-02 16:04:45 +08:00
疯狂的狮子li
5322f5f707 update 常量类 接口化 2021-12-02 14:18:20 +08:00
疯狂的狮子li
408f5055a9 update 通用权限服务 迁移回 ruoyi-framework 模块 2021-12-02 14:02:00 +08:00
RuoYi
6bfae2652f 若依 3.8.0 2021-12-01 08:53:11 +08:00
疯狂的狮子li
9036370d67 remove 删除 jjwt 无用依赖 2021-11-30 17:34:31 +08:00
RuoYi
9bc730866f 🎉 RuoYi-Vue3(Vue3 Element Plus Vite)版本 2021-11-30 11:15:33 +08:00
RuoYi
a2d3f987c0 优化代码 2021-11-30 11:15:17 +08:00
疯狂的狮子li
5a271b8fde update 更改前端工程文件版本号 2021-11-30 11:11:32 +08:00
疯狂的狮子li
f43a5cb244 update 更改前端工程文件版本号 2021-11-30 11:11:03 +08:00
若依
bf4ac3ad7a !378 fix: crontab组件bug
Merge pull request !378 from fuzui/fix_cron_tool
2021-11-30 03:03:08 +00:00
疯狂的狮子li
4f0e73ba97 update 使用 hutool-jwt 替换老旧 jjwt 依赖 2021-11-30 10:33:35 +08:00
fuzui
f28a91969a fix: crontab组件中规范数据范围、冗余代码去除以及部分通配符说明 2021-11-30 02:08:08 +08:00
fuzui
ca285f5e53 fix: crontab组件周显示及计算bug 2021-11-30 00:22:23 +08:00
fuzui
34f2552cad fix: crontab组件互斥bug 2021-11-30 00:17:12 +08:00
疯狂的狮子li
c8720b1524 update 调整 OSS 表字段内容长度
(cherry picked from commit c6fe27b040)
2021-11-29 17:08:06 +08:00
疯狂的狮子li
4238266ea3 fix 修复 count 语法异常
(cherry picked from commit 3e2ddb3b25)
2021-11-29 17:08:06 +08:00
疯狂的狮子li
230d19a7aa update 调整 OSS 表字段内容长度 2021-11-29 16:46:27 +08:00
疯狂的狮子li
d2b7843d97 fix 修复 count 语法异常 2021-11-29 16:41:20 +08:00
疯狂的狮子li
9351d47948 fix 修复 合并错误 2021-11-29 14:10:53 +08:00
疯狂的狮子li
bf98ee3c93 Merge remote-tracking branch 'origin/dev' into satoken 2021-11-29 14:03:25 +08:00
疯狂的狮子li
dbba894544 发布 v3.4.0 2021-11-29 14:01:28 +08:00
疯狂的狮子li
52673152cc 发布 v3.4.0 2021-11-29 13:58:42 +08:00
疯狂的狮子li
42295ef2ac Merge remote-tracking branch 'origin/dev' into satoken
# Conflicts:
#	pom.xml
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
#	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
#	ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestDemoController.java
#	ruoyi-demo/src/main/java/com/ruoyi/demo/controller/TestTreeController.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RepeatSubmitAspect.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
#	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
#	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/PermissionService.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserDetailsServiceImpl.java
2021-11-29 13:56:25 +08:00
疯狂的狮子li
a8a4f2101d add 增加 mapper 目录下 package-info 防止建错目录 2021-11-29 09:59:53 +08:00
疯狂的狮子Li
f46bd8b6ba update 更新 Validation 框架国际化说明 2021-11-28 21:47:08 +08:00
疯狂的狮子Li
d4e1d4ec38 !117 fix: 修复Object剩余存活时间BUG
Merge pull request !117 from dawn9117/N/A
2021-11-28 13:22:26 +00:00
dawn9117
f517dc05ef fix: 修复Object剩余存活时间BUG 2021-11-28 13:16:35 +00:00
疯狂的狮子Li
a627de02c7 Merge remote-tracking branch 'origin/dev' into dev 2021-11-28 21:04:13 +08:00
疯狂的狮子Li
a94a0589dd update [重磅更新] Validator 校验框架支持国际化 2021-11-28 21:03:48 +08:00
疯狂的狮子li
81755a280d Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-ui/src/utils/index.js
	ruoyi-ui/src/views/register.vue
2021-11-28 15:10:05 +08:00
疯狂的狮子Li
89d776acb5 fix 修复 OSS 工厂 未实例化服务更新加载问题 2021-11-27 16:36:11 +08:00
疯狂的狮子Li
daf660e66d update 更改 excel 方法注释 更清晰明显用法 2021-11-27 13:20:50 +08:00
疯狂的狮子Li
e4020faff3 update 使用导入新写法 重构系统用户导入 2021-11-27 12:57:21 +08:00
疯狂的狮子Li
e11b727584 update 修改移除无用回执信息 2021-11-27 12:43:34 +08:00
疯狂的狮子Li
0a36a94b73 update 报错增加 excel 表头信息 2021-11-27 11:18:41 +08:00
RuoYi
89e7cb19b9 注册成功提示类型success 2021-11-26 18:11:57 +08:00
疯狂的狮子li
fa2bdcd5ac update 抽象 Excel 导入支持自定义监听器 2021-11-26 18:11:41 +08:00
若依
ea71c9b214 !376 camelCase中应该转换下划线,而不是横杠
Merge pull request !376 from khejing/master
2021-11-26 10:07:58 +00:00
疯狂的狮子li
c00e397405 update 抽象 Excel 导入支持自定义监听器 2021-11-26 18:06:44 +08:00
疯狂的狮子li
a2a2640d29 update 调整校验异常 返回完整信息 2021-11-26 18:05:47 +08:00
疯狂的狮子Li
7c4a104823 !113 add 新增 excel 导入支持开启 Validator 数据验证
Merge pull request !113 from Yjoioooo/auto-5403234-dev-1637903026810
2021-11-26 08:40:42 +00:00
疯狂的狮子li
7892ec5a59 fix 修复重复提交不生效问题 由于概念不同 使用 RedisUtils 重构 2021-11-26 16:32:56 +08:00
khejing
e5fd1f76db camelCase中应该是下划线,而不是横杠 2021-11-26 08:26:45 +00:00
疯狂的狮子li
554ebebb92 fix 修复 获取剩余时间单位错误 2021-11-26 15:50:01 +08:00
疯狂的狮子li
f604cf4988 fix 修复提交错误 2021-11-26 15:18:11 +08:00
疯狂的狮子li
9de0e9157a fix 接口重复鉴权BUG修复 2021-11-26 15:07:35 +08:00
疯狂的狮子Li
b1be47f0a0 !114 接口重复鉴权BUG修复: ResourceConfig中已经配置鉴权拦截器, 添加sa-token-spring-aop会导致重复鉴权BUG
Merge pull request !114 from dawn9117/N/A
2021-11-26 07:06:54 +00:00
疯狂的狮子Li
6502f21072 update 修改不规范命名 2021-11-26 05:57:28 +00:00
dawn9117
a9e21702aa 接口重复鉴权BUG修复: ResourceConfig中已经配置鉴权拦截器, 添加sa-token-spring-aop会导致重复鉴权BUG 2021-11-26 05:55:32 +00:00
疯狂的狮子li
48fd65d7f8 update satoken 标注为公测 2021-11-26 13:45:12 +08:00
疯狂的狮子li
c1b0e176e5 update 在线用户管理 改为使用 satoken 工具实现 消除差异化 2021-11-26 13:42:52 +08:00
疯狂的狮子li
e2d370bd9d update 移除 satoken 自带集成 redis 改为使用 框架自身 Redission 实现 统一方案 性能优异 2021-11-26 13:42:20 +08:00
疯狂的狮子li
2fe8291f1d update 修改 LOGIN_TOKEN_KEY 内容 对应 satoken 的 key 2021-11-26 13:40:52 +08:00
疯狂的狮子li
1d1732ab4a update 常住token有效期改为一天 2021-11-26 13:40:21 +08:00
疯狂的狮子li
1010ccca4d update 更新 RedisUtils set保留ttl 兼容 5.X redis版本 2021-11-26 13:34:18 +08:00
zhujie
c21ff85b57 update 增加excel导入样例 2021-11-26 13:02:59 +08:00
zhujie
c3bb4d2a61 add 新增导入支持开启Validator数据验证,支持开启导入异常行继续读取,支持返回导入回执 2021-11-26 13:01:00 +08:00
疯狂的狮子li
d2b7f8ef0f remove 删除无用 js 文件 2021-11-25 19:47:34 +08:00
疯狂的狮子li
af25588b88 Merge remote-tracking branch 'ruoyi-vue/master' into dev
# Conflicts:
#	pom.xml
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java
#	ruoyi-generator/pom.xml
#	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java
#	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
#	ruoyi-generator/src/main/resources/vm/js/api.js.vm
#	ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
#	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
#	ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm
#	ruoyi-quartz/src/main/java/com/ruoyi/quartz/config/ScheduleConfig.java
#	ruoyi-ui/package.json
#	ruoyi-ui/src/api/monitor/server.js
#	ruoyi-ui/src/components/RuoYi/Doc/index.vue
#	ruoyi-ui/src/components/RuoYi/Git/index.vue
#	ruoyi-ui/src/components/SizeSelect/index.vue
#	ruoyi-ui/src/layout/components/Sidebar/Logo.vue
#	ruoyi-ui/src/layout/components/TagsView/index.vue
#	ruoyi-ui/src/layout/index.vue
#	ruoyi-ui/src/main.js
#	ruoyi-ui/src/plugins/download.js
#	ruoyi-ui/src/router/index.js
#	ruoyi-ui/src/store/modules/permission.js
#	ruoyi-ui/src/store/modules/settings.js
#	ruoyi-ui/src/store/modules/tagsView.js
#	ruoyi-ui/src/store/modules/user.js
#	ruoyi-ui/src/views/login.vue
#	ruoyi-ui/src/views/monitor/job/log.vue
#	ruoyi-ui/src/views/system/dict/data.vue
#	ruoyi-ui/src/views/system/role/index.vue
#	ruoyi-ui/src/views/system/user/authRole.vue
#	ruoyi-ui/src/views/system/user/index.vue
#	ruoyi-ui/src/views/system/user/profile/resetPwd.vue
#	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
#	ruoyi-ui/src/views/system/user/profile/userInfo.vue
2021-11-25 19:39:53 +08:00
疯狂的狮子li
7546ef649c update springboot 2.5.6 => 2.5.7 2021-11-25 19:14:52 +08:00
疯狂的狮子li
2a3bf1d994 remove 删除无用 redis 依赖配置 2021-11-25 19:14:30 +08:00
疯狂的狮子li
450657f871 update 迁移 satoken 路由拦截到单独配置类 2021-11-25 16:24:16 +08:00
Ricky
664192da0b 升级velocity到最新版本2.3(语法升级) 2021-11-25 15:18:02 +08:00
Ricky
9fc3e220a7 防止修改用户个人信息接口修改用户名 2021-11-25 14:00:27 +08:00
Ricky
64f6a69d9a 修复代码生成复选框字典遗漏问题 2021-11-25 13:54:49 +08:00
RuoYi
16734b1d88 升级velocity到最新版本2.3 2021-11-24 15:03:04 +08:00
RuoYi
31106c91fb 修复使用 this.$options.data 报错问题 2021-11-24 15:00:51 +08:00
RuoYi
026a427103 优化前端代码 2021-11-24 14:47:24 +08:00
疯狂的狮子li
7a4f36c00e update 优化时间查询语句 2021-11-24 11:24:15 +08:00
疯狂的狮子li
1f3ef4ffe1 update 初始化数据转移到 ApplicationRunner 统一处理 2021-11-24 10:59:18 +08:00
疯狂的狮子li
c364836a9d Merge remote-tracking branch 'origin/dev' into dev 2021-11-24 10:58:17 +08:00
疯狂的狮子li
97a12075b1 update 初始化数据转移到 ApplicationRunner 统一处理 2021-11-24 10:58:10 +08:00
若依
bafb1372a7 !375 删除代码生成中冗余的导出方法
Merge pull request !375 from fuzui/delete_redundancy_gen_export_function
2021-11-24 00:39:07 +00:00
fuzui
b4f032fab4 删除代码生成中冗余的导出方法 2021-11-24 02:48:35 +08:00
疯狂的狮子Li
d36d944b3a remove 删除 quartz 相关 sql 数据 2021-11-23 21:53:53 +08:00
疯狂的狮子li
7af22453ba update 更新 redis.conf 存储策略 aof 与 rdb 配置参数 2021-11-23 20:19:51 +08:00
疯狂的狮子li
d0c4b5bc76 add 增加 RedisUtils set 保留 TTL 有效期方法 2021-11-23 10:20:44 +08:00
RuoYi
4f194aa101 升级js-cookie到最新版本3.0.1 2021-11-22 18:07:33 +08:00
RuoYi
ef4bfde4a8 优化提示信息 2021-11-22 18:06:44 +08:00
疯狂的狮子li
65a1245a03 update OSS 模块 整体重命名 消除歧义 2021-11-22 09:48:22 +08:00
疯狂的狮子li
486e4f8dd3 update 删除无用字段 2021-11-22 09:46:45 +08:00
疯狂的狮子li
4cfbd8a9d2 update OSS 模块 整体重命名 消除歧义 2021-11-22 09:45:46 +08:00
疯狂的狮子li
7ab51b8960 update 规范 ICloudStorageStrategy 接口函数 2021-11-22 09:34:26 +08:00
疯狂的狮子li
18cbd96280 update satoken 标记生产可用 2021-11-22 09:29:58 +08:00
疯狂的狮子Li
2cdea69719 add 增加 缓存懒加载 开关 2021-11-22 02:46:13 +08:00
疯狂的狮子Li
6c053b6266 update 优化 RedisUtils.getCacheObject 的返回值处理 2021-11-22 02:45:50 +08:00
疯狂的狮子Li
20eea9914e update 基于 DictService 重构 Excel 内字典查询功能 2021-11-22 02:44:46 +08:00
疯狂的狮子Li
6d3f4f5a04 update 抽象 DictService 通用 字典服务 2021-11-22 02:43:22 +08:00
疯狂的狮子Li
20e782eb21 update 抽象 ConfigService 通用 参数配置服务 2021-11-22 02:42:59 +08:00
疯狂的狮子Li
e30fa57ab4 update DictUtils 字典工具类 标记过期 3.5.0 版本移除 使用 DictService 代替 2021-11-22 02:42:14 +08:00
疯狂的狮子Li
ef0b07d5c4 update 更新 RepeatSubmit 注解 aop 处理 针对特殊参数进行过滤 2021-11-22 00:57:49 +08:00
疯狂的狮子Li
b9b1ec8f41 Merge remote-tracking branch 'origin/dev' into dev 2021-11-21 01:39:50 +08:00
疯狂的狮子Li
019526fbe9 update 解耦 LoginUser 与 SysUser 强关联 2021-11-21 01:39:43 +08:00
疯狂的狮子Li
a4cd5bd424 update 统一接口命名 2021-11-21 01:33:31 +08:00
RuoYi
421593c0ba 添加新群号:101539465 2021-11-20 12:09:53 +08:00
RuoYi
91ad85aec1 添加新群号:264312783 2021-11-19 15:20:54 +08:00
RuoYi
d1eacc1d1c 新增tab对象简化页签操作 2021-11-19 14:53:40 +08:00
若依
e41dd8a0f1 !370 fix 修复关闭 xss 功能导致可重复读 RepeatableFilter 失效
Merge pull request !370 from 疯狂的狮子Li/master
2021-11-19 06:53:16 +00:00
疯狂的狮子li
5e1d4f215d fix 修复关闭 xss 功能导致可重复读 RepeatableFilter 失效 2021-11-19 13:06:51 +08:00
疯狂的狮子li
9a7bb81cd0 fix 修复关闭 xss 功能导致可重复读 RepeatableFilter 失效 2021-11-19 13:01:30 +08:00
疯狂的狮子li
321bb010cb update 更新注解参数类型 去除多余警告 2021-11-18 19:28:39 +08:00
疯狂的狮子li
e24a79f87b update 调整 bat 脚本 编码格式 2021-11-18 18:54:54 +08:00
疯狂的狮子li
2dd0add3e7 remove 删除无用日志配置 2021-11-18 18:49:10 +08:00
疯狂的狮子li
ce279ca360 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
	ruoyi-ui/package.json
	ruoyi-ui/src/utils/request.js
2021-11-18 18:43:34 +08:00
RuoYi
fcf606acde 升级jsencrypt到最新版本3.2.1 2021-11-18 17:50:49 +08:00
若依
084907eeca !369 代码生成模板缺少事务
Merge pull request !369 from lihy2021/N/A
2021-11-18 09:47:35 +00:00
疯狂的狮子li
f8487f581b update 补全所有接口 单参数接口文档 2021-11-18 17:01:23 +08:00
疯狂的狮子li
40c9559d9e update springboot-admin 2.5.3 => 2.5.4 2021-11-17 20:11:56 +08:00
疯狂的狮子li
531e0ef918 remove 删除 quartz 过时页面 2021-11-17 19:42:38 +08:00
疯狂的狮子li
2781655b0a update 适配 ruoyi 关于优化导出数据操作 2021-11-17 19:42:14 +08:00
疯狂的狮子li
64add90edd Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
	ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-generator/src/main/resources/vm/java/controller.java.vm
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobLogController.java
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/util/JobInvokeUtil.java
	ruoyi-ui/package.json
	ruoyi-ui/src/api/monitor/logininfor.js
	ruoyi-ui/src/api/monitor/operlog.js
	ruoyi-ui/src/api/system/config.js
	ruoyi-ui/src/api/system/dict/data.js
	ruoyi-ui/src/api/system/dict/type.js
	ruoyi-ui/src/api/system/post.js
	ruoyi-ui/src/api/system/role.js
	ruoyi-ui/src/api/system/user.js
	ruoyi-ui/src/main.js
	ruoyi-ui/src/utils/request.js
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/job/log.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/post/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
2021-11-17 19:14:03 +08:00
lihy2021
8de93d35ed 代码生成模板缺少事务 2021-11-17 07:56:24 +00:00
疯狂的狮子li
eb844e3260 fix 修复 OssFactory 在程序启动未调用api 没有初始化 导致无法订阅配置更改问题 2021-11-17 13:50:58 +08:00
RuoYi
cedd2d1daf 优化导出数据操作 2021-11-17 11:57:17 +08:00
疯狂的狮子li
81d04fb31f Merge remote-tracking branch 'origin/dev' into dev 2021-11-17 10:46:18 +08:00
疯狂的狮子li
caba6fb01e update 调度中心 集成监控客户端 注册到监控中心 2021-11-17 10:45:58 +08:00
疯狂的狮子li
1c8d44b309 update 监控中心 集成监控客户端 实现自监控 2021-11-17 10:45:32 +08:00
phanes
984098abce fix: 修复返回参数的数据类型错误的问题 2021-11-16 20:47:26 +08:00
疯狂的狮子li
ead6da4760 update 更新页面与文档项目介绍 2021-11-16 18:54:53 +08:00
RuoYi
2ab96587ef 任务参数忽略双引号中的逗号 2021-11-16 16:05:15 +08:00
RuoYi
cb9c0e79eb 升级core-js到最新版本3.19.1 2021-11-16 14:15:17 +08:00
若依
96d2b2d6b8 !368 【轻量级 PR】: 统一全局配置文件
Merge pull request !368 from XTvLi/master
2021-11-16 05:43:07 +00:00
疯狂的狮子li
b699b5fef5 fix 修复代码生成 导包未修改问题 2021-11-15 16:57:16 +08:00
疯狂的狮子li
b374ff4d6d update 优化字典工具写法 2021-11-15 16:54:34 +08:00
疯狂的狮子Li
149b136e0b fix 修复用户导入字典使用错误 2021-11-14 22:27:36 +08:00
疯狂的狮子li
5389663b72 fix 修复 临时文件存储位置 相对路径问题 2021-11-12 21:16:45 +08:00
疯狂的狮子li
a610c5c8c6 update 更新文档 演示环境 2021-11-12 20:38:49 +08:00
疯狂的狮子li
874cf18566 fix 修复 配置应用前缀路径书写问题 2021-11-12 19:43:49 +08:00
疯狂的狮子li
53cb0826bc update 升级 swagger 配置 使用 knife4j 增强模式 2021-11-12 13:15:32 +08:00
疯狂的狮子li
6904f38ea2 update 调整代码格式化 2021-11-11 15:31:49 +08:00
疯狂的狮子li
223ff4ebff fix 分页工具 排序字段 null 处理 2021-11-11 12:47:26 +08:00
疯狂的狮子Li
d2ec3e7d9a update 移除 sql 脚本 quartz 相关表数据 2021-11-10 14:10:25 +00:00
XTvLi
b00171366f 统一全局配置内容, 删除临时调用配置文件 2021-11-10 18:17:43 +08:00
疯狂的狮子li
7079a4e7e4 update satoken 1.27.0 => 1.28.0 使用 jwt 插件代理 token 生成逻辑 2021-11-10 13:31:54 +08:00
RuoYi
4e817a1109 升级axios到最新版本0.24.0 2021-11-10 11:14:50 +08:00
RuoYi
d185d4e4cc 增加sendGet无参请求方法 2021-11-10 11:13:27 +08:00
疯狂的狮子li
3b574875cb update hutool 5.7.15 => 5.7.16
update okhttp 4.9.1 => 4.9.2
update spring-boot-admin 2.5.2 => 2.5.3
update redisson 3.16.3 => 3.16.4
update tlog 1.3.3 => 1.3.4
2021-11-10 10:07:28 +08:00
疯狂的狮子Li
4d5048435c fix 修复 ruoyi 关于 配置应用前缀路径的bug 改为配置文件统一配置 2021-11-08 18:17:29 +08:00
疯狂的狮子Li
57df7f8dfe fix 修复 OSS 七牛云 token 过期未刷新问题 2021-11-08 14:36:07 +08:00
疯狂的狮子Li
74b36fbd98 !110 提高不同类型数据库的兼容性
Merge pull request !110 from phanes/dev
2021-11-07 12:15:03 +00:00
phanes
8ea56d3b22 update 减少使用特定数据库函数 2021-11-07 11:58:35 +08:00
疯狂的狮子li
019f585c83 update 补全通用日志服务 注释 2021-11-04 19:01:33 +08:00
疯狂的狮子li
19b7f0747a update 补全通用用户服务接口注释 2021-11-04 19:00:49 +08:00
疯狂的狮子li
c7c9bd6b08 fix 修复 用户逻辑删除 差异问题 2021-11-04 18:49:46 +08:00
疯狂的狮子li
b132f04f71 fix 修复 SysLoginController 接口文档书写错误问题 2021-11-04 14:18:38 +08:00
疯狂的狮子li
2f21f293c1 update 基于 hutool 封装树构建工具 重构部门与菜单树结构返回 2021-11-04 10:32:18 +08:00
疯狂的狮子li
5b3c390e08 remove 移除 MybatisPlusRedisCache 二级缓存 2021-11-03 15:04:10 +08:00
疯狂的狮子li
8a93371baa remove 移除 feign 相关代码与依赖 2021-11-03 15:02:29 +08:00
疯狂的狮子li
95dcae1a85 remove 移除 quartz 相关代码与依赖 2021-11-03 14:46:12 +08:00
疯狂的狮子li
03e2ff587e 同步 ruoyi 2021-11-03 13:58:59 +08:00
疯狂的狮子li
1ea73a67ca Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	README.md
	ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/html/HTMLFilter.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/UUID.java
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
	ruoyi-ui/src/api/login.js
	ruoyi-ui/src/views/index.vue
2021-11-03 13:58:45 +08:00
疯狂的狮子li
1d32420a27 add 增加 ValidatorUtils 校验框架工具 用于在非 Controller 的地方校验对象 2021-11-03 13:50:51 +08:00
疯狂的狮子Li
53dd9a35a0 fix 修复通用实体 传参无法接收问题 2021-11-02 22:46:22 +08:00
疯狂的狮子Li
0b35927b16 fix 修复通用实体 传参无法接收问题 2021-11-02 22:43:53 +08:00
RuoYi
bbbe83b737 添加新群号:101539465 2021-11-02 14:40:21 +08:00
疯狂的狮子li
06f06ce390 fix 修复 Linux 清除临时目录 导致上传找不到目录报错问题 2021-11-01 17:44:01 +08:00
RuoYi
cc4c52c998 任务屏蔽违规字符 2021-11-01 15:03:06 +08:00
RuoYi
bd09e5b11c 修复字符串无法被反转义问题 2021-11-01 15:02:47 +08:00
RuoYi
181f62c15e 回显数据字典键值修正 2021-11-01 14:40:00 +08:00
疯狂的狮子li
1ff306ff40 fix 修复 xxl-job-admin 部署问题 2021-11-01 13:49:54 +08:00
疯狂的狮子li
c4e17ff847 fix 修复 xxl-job-admin 部署问题 2021-11-01 13:49:11 +08:00
RuoYi
3ae5ec92a5 登录/验证码请求headers不设置token 2021-11-01 13:29:27 +08:00
若依
2fe919b6ce !361 优化一些布尔判断语法
Merge pull request !361 from 清溪先生/master
2021-11-01 05:28:59 +00:00
疯狂的狮子li
a8ab3ffd01 update 升级 docker 基础镜像 2021-11-01 09:55:14 +08:00
疯狂的狮子Li
f3c9a4a81c fix 修复 SysOss、SysOssConfig 未继承 BaseEntity 基础实体问题 2021-10-31 21:30:36 +08:00
疯狂的狮子Li
cd0aad10b0 fix 修复 SysOss、SysOssConfig 未继承 BaseEntity 基础实体问题 2021-10-31 21:28:19 +08:00
疯狂的狮子li
da2cb61cae update 调整 pr !107 代码格式 2021-10-29 17:37:15 +08:00
疯狂的狮子Li
e4c691fd5f !107 add 新增 Admin 监控 Bean 初始化 startup trace 监控插件
Merge pull request !107 from shenxinquan/auto-480232-dev-1635497752042
2021-10-29 09:36:13 +00:00
sxq
ea2e560bd9 去掉jfr相关类。 2021-10-29 17:28:33 +08:00
sxq
25321984fa 新增startup trace监控。 2021-10-29 16:55:42 +08:00
疯狂的狮子li
24ebc73ee5 Merge remote-tracking branch 'origin/dev' into satoken 2021-10-29 09:15:31 +08:00
疯狂的狮子li
d6e080d546 发布 v3.3.0 2021-10-29 09:14:49 +08:00
疯狂的狮子li
f5f16aac96 Merge remote-tracking branch 'origin/dev' into satoken
# Conflicts:
#	ruoyi-common/pom.xml
2021-10-28 10:56:21 +08:00
疯狂的狮子li
5c6f30a8a9 update RedisUtils 更新删除 hash 数据方法 2021-10-28 10:43:46 +08:00
疯狂的狮子li
e8e8ae9fd7 update minio 8.3.1 => 8.3.3 2021-10-28 10:43:02 +08:00
疯狂的狮子li
3353ead5d3 update 搜索框 更新文本域生成 用于模糊查询 2021-10-28 09:45:29 +08:00
疯狂的狮子li
160beb8e1c update jdk11 适配依赖 调整到 common 包 2021-10-28 09:44:57 +08:00
疯狂的狮子li
3f0d3ffb8a Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-common/pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
2021-10-28 09:40:02 +08:00
Awen
13c770b6be 优化一些布尔判断语法 2021-10-27 19:03:29 +08:00
RuoYi
2eb55528ec 升级spring-boot到最新版本2.5.6 2021-10-27 16:23:35 +08:00
RuoYi
839f631d6b 添加Jaxb依赖,防止jdk8以上出现的兼容错误 2021-10-27 16:22:57 +08:00
若依
8faae71157 !359 update ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java.
Merge pull request !359 from Remenber_Ray/N/A
2021-10-27 07:37:19 +00:00
若依
b87e0fa124 !358 update ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java.
Merge pull request !358 from 雪丛/N/A
2021-10-27 07:34:47 +00:00
疯狂的狮子li
d1037c6c9a Merge remote-tracking branch 'origin/dev' into satoken 2021-10-27 13:43:17 +08:00
疯狂的狮子li
bb205a5cdb update 注释掉原定时任务相关sql 下个版本移除 2021-10-27 13:42:51 +08:00
疯狂的狮子li
6e73d8b3ab update 同步 dev 分支 更新最新改动 2021-10-27 13:28:26 +08:00
疯狂的狮子li
82a2dd8732 Merge remote-tracking branch 'origin/dev' into satoken 2021-10-27 13:26:46 +08:00
疯狂的狮子li
7e3c9c1094 update 删除无用setUsername 使用自动注入 2021-10-27 13:26:24 +08:00
疯狂的狮子li
695cb6d76b Merge remote-tracking branch 'origin/dev' into satoken
# Conflicts:
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/CacheController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssConfigController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysOssController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
#	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
#	ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
#	ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
#	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
#	ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/security/handle/AuthenticationEntryPointImpl.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
#	ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
#	ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserOnlineService.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TokenServiceImpl.java
2021-10-27 13:16:19 +08:00
疯狂的狮子li
dbb2d8462b update 迁移所有脚本文件至script目录 2021-10-26 19:42:27 +08:00
疯狂的狮子li
3bf96c6cd7 update 删除重复依赖 补全演示demo注解参数 2021-10-26 19:09:50 +08:00
疯狂的狮子li
61375c4bbb Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/pom.xml
2021-10-26 18:57:55 +08:00
疯狂的狮子li
2e4689d557 update 更新xxl-job执行器开关功能 2021-10-26 18:30:02 +08:00
Ricky
b6596d021b 替换自定义验证注解 2021-10-26 17:22:20 +08:00
Remenber_Ray
0628dc9b2f update ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java. 2021-10-26 08:02:48 +00:00
疯狂的狮子Li
3117080be3 !105 1:升级springboot版本到2.5.6。 2:升级hutool版本到5.7.15。
Merge pull request !105 from shenxinquan/auto-480232-dev-1635232384088
2021-10-26 07:14:18 +00:00
sxq
16d6e11e94 1:升级springboot版本到2.5.6。
2:升级hutool版本到5.7.15。
2021-10-26 15:12:58 +08:00
疯狂的狮子li
c9a3164a29 fix swagger 单接口缺少 Authorization 参数 2021-10-26 12:53:21 +08:00
雪丛
790aa0d24b update ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java.
增加删除Hash中的数据
2021-10-26 01:42:12 +00:00
疯狂的狮子Li
d254340b9b fix 修正错别字 2021-10-25 18:33:26 +08:00
疯狂的狮子Li
42a3117e2a Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/AjaxResult.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/Threads.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java
	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMapper.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
	ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
	ruoyi-ui/src/layout/components/Settings/index.vue
	ruoyi-ui/src/plugins/download.js
	ruoyi-ui/src/store/modules/permission.js
	ruoyi-ui/src/views/index.vue
	ruoyi-ui/src/views/monitor/server/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ry.bat
2021-10-25 18:24:55 +08:00
疯狂的狮子Li
e47dcb10de fix 修复原生 任务调度中心 集成之后 字体图标被过滤问题 2021-10-25 18:03:44 +08:00
RuoYi
8a7dcf8a80 修正错别字 2021-10-25 10:26:00 +08:00
若依
0c30ffa11f !354 update ruoyi-common/src/main/java/com/ruoyi/common/utils/Threads.java.
Merge pull request !354 from Remenber_Ray/N/A
2021-10-25 01:55:51 +00:00
若依
0904bf6446 !355 fix 跨域访问之后 下载无法获取 download-filename
Merge pull request !355 from 疯狂的狮子Li/master
2021-10-25 01:55:23 +00:00
疯狂的狮子Li
2173ed504d update 更新关于全局路径设置与文档链接 2021-10-24 17:23:15 +08:00
疯狂的狮子Li
4583787759 fix 跨域访问之后 下载无法获取 download-filename 2021-10-24 17:13:04 +08:00
Remenber_Ray
17550a5f4b update ruoyi-common/src/main/java/com/ruoyi/common/utils/Threads.java.
修复描述错误
2021-10-24 02:34:25 +00:00
RuoYi
a4558c32b2 解析blob响应是否登录失效 2021-10-23 10:23:32 +08:00
RuoYi
ef4fef3d56 update ry.sh. 2021-10-23 10:21:02 +08:00
RuoYi
3dbbc6a223 AjaxResult重写put方法,以方便链式调用 2021-10-22 16:23:08 +08:00
若依
d3696f5223 !347 update ruoyi-common/src/main/java/com/ruoyi/common/core/domain/AjaxResult.java.
Merge pull request !347 from abbfun/N/A
2021-10-22 08:19:00 +00:00
疯狂的狮子li
b8a8b76c38 fix 修复跨域访问无权限获取请求头 download-filename 导致文件名为空问题 2021-10-22 12:38:33 +08:00
疯狂的狮子li
296e6171a1 update 补全国际化文件 2021-10-22 11:22:31 +08:00
abbfun
2d7d137abd update ruoyi-common/src/main/java/com/ruoyi/common/core/domain/AjaxResult.java.
AjaxResult链式调用
2021-10-22 03:09:54 +00:00
疯狂的狮子li
336adbd056 update 统一格式化代码结构 2021-10-22 10:04:15 +08:00
疯狂的狮子li
32bfe334c0 update 整理删除无用注释 保证代码整洁 2021-10-21 18:41:56 +08:00
疯狂的狮子li
c1c4fb2ca4 update hutool 5.7.13 => 5.7.14
update qcloud.cos 5.6.55 => 5.6.58
update minio 8.3.0 => 8.3.1
2021-10-21 18:10:45 +08:00
疯狂的狮子li
6c9dc9ae51 update 修正pr 不规范写法 2021-10-21 17:40:44 +08:00
疯狂的狮子li
6ab575cd49 update 优化处理过期方法 采用新写法 2021-10-21 15:59:34 +08:00
疯狂的狮子Li
c9274307f2 !104 修复在swagger配置类中无法读取到satoken配置文件的问题
Merge pull request !104 from 大灰灰大/satoken
2021-10-21 07:38:26 +00:00
602003139@qq.com
2489c46a7f 修复在swagger配置类中无法读取到satoken配置文件的问题 2021-10-21 14:44:53 +08:00
疯狂的狮子li
f4b619d1d1 update 修正注释错误 2021-10-21 10:10:30 +08:00
疯狂的狮子li
255c8a083e add 增加 RedisUtils 测试设置过期时间 案例 2021-10-21 09:33:13 +08:00
疯狂的狮子li
d0700172fa update 合并oss.sql至主sql 2021-10-20 15:30:39 +08:00
疯狂的狮子li
83ce927d16 add 前端增加 任务调度中心页面 与环境及nginx配置 2021-10-20 15:25:14 +08:00
疯狂的狮子li
809774d87c update 更新xxljob配置类 增加配置注解 2021-10-20 15:24:41 +08:00
疯狂的狮子li
6f3f89a0d3 update 更新xxljob默认sql执行器名称 2021-10-20 15:24:09 +08:00
疯狂的狮子li
a870a1c6bc update sql文件更新 xxljob控制台菜单 2021-10-20 15:23:51 +08:00
疯狂的狮子li
e04938666c fix 修复 xxl-admin 部分文件被忽略问题 2021-10-20 14:37:20 +08:00
疯狂的狮子li
c0eb3c53c1 update swagger组 顺序配置 2021-10-20 14:18:26 +08:00
疯狂的狮子li
b6443e0c01 update quartz改为保留一个版本 2021-10-20 13:53:36 +08:00
疯狂的狮子li
83922c5737 update 更新关于xxl-job说明 2021-10-20 13:44:10 +08:00
疯狂的狮子li
78cd6f36ef add 增加 ruoyi-xxl-job-admin 多环境配置 2021-10-20 13:32:53 +08:00
疯狂的狮子li
eed4e09282 update 从总输出模块剔除 ruoyi-quartz 切换至 ruoyi-job 2021-10-20 13:27:05 +08:00
疯狂的狮子li
aaa15b403a add [重大更新]增加 ruoyi-job 任务调度模块(基于xxl-job) 2021-10-20 13:22:45 +08:00
疯狂的狮子li
82f1f5d0cf update 优化xxl-job-admin相关pr代码 增加格式化日志输出与docker镜像 2021-10-20 13:07:16 +08:00
疯狂的狮子li
2b0452207e update admin监控增加日志文件输出 2021-10-20 13:06:42 +08:00
疯狂的狮子Li
bc67d0b7b7 !103 集成xxl-job-admin控制台。
Merge pull request !103 from shenxinquan/auto-480232-dev-1634700780703
2021-10-20 04:43:32 +00:00
sxq
a8092ace32 初始化配置文件。 2021-10-20 11:58:14 +08:00
sxq
12d76e4f20 1:properties 换成yml 配置文件。
2:默认端口改成9100。
2021-10-20 11:56:17 +08:00
sxq
c60130e534 xxl-job-admin的sql 初始化文件。 2021-10-20 11:43:41 +08:00
sxq
3eeeb27d70 集成xxl-job-admin控制台。 2021-10-20 11:32:53 +08:00
RuoYi
c2a179e9dd 新增认证对象简化权限验证 2021-10-20 11:21:11 +08:00
疯狂的狮子Li
8b6f7b4e4c !101 更新时间和用户注入问题
Merge pull request !101 from 抓蛙师/auto-7465549-dev-1634694016583
2021-10-20 01:41:24 +00:00
抓蛙师
ce7097b498 更新时间和用户注入问题 2021-10-20 09:40:04 +08:00
疯狂的狮子li
1ae369855b update 优化 多账号体系用户行为监听逻辑 2021-10-19 17:23:14 +08:00
疯狂的狮子li
60404a6564 update 调整不规范导包 2021-10-15 19:30:42 +08:00
RuoYi
519ea854d5 生产环境使用路由懒加载提升页面响应速度 2021-10-15 17:57:46 +08:00
RuoYi
e66d0e4f74 角色列表返回类型保持一致 2021-10-15 17:56:57 +08:00
疯狂的狮子li
9e0ec2b03c update 修改测试代码 测试通用实体通过 删除树实体不通用属性 2021-10-15 16:21:00 +08:00
疯狂的狮子li
36e501b457 update 通用数据注入改为适配通用实体类 2021-10-15 16:20:16 +08:00
疯狂的狮子li
284f47e76c update 代码生成 改为生成抽象实体 2021-10-15 16:19:51 +08:00
疯狂的狮子li
b47f8fd784 update 代码生成 改为生成抽象实体 2021-10-15 16:19:42 +08:00
疯狂的狮子li
37a8addf52 update feign 标记过期 2021-10-15 15:55:44 +08:00
疯狂的狮子li
a6fb88d74c update [重大更新]全业务 增加 接口文档注解 格式化代码 2021-10-15 15:19:42 +08:00
疯狂的狮子li
bb43b2853d update 前端增加默认国际化参数 2021-10-15 11:45:43 +08:00
疯狂的狮子li
ba1585de34 Merge remote-tracking branch 'origin/dev' into dev 2021-10-15 11:31:39 +08:00
疯狂的狮子li
6684812014 update 标记过期 推荐迁移至新框架 xxl-job 2021-10-15 11:31:26 +08:00
疯狂的狮子li
1419700c43 update 标记过期 推荐使用 spring-cache 2021-10-15 11:31:00 +08:00
疯狂的狮子li
14f6249031 update 包重命名 规范化 2021-10-15 11:30:39 +08:00
疯狂的狮子li
ea249c33fd update 包重命名 规范化 2021-10-15 11:30:24 +08:00
疯狂的狮子Li
1c0b410f55 !97 fix 修改oss配置删除时删除缓存bug
Merge pull request !97 from 孤舟烟雨/auto-494979-dev-1634217979662
2021-10-14 14:21:52 +00:00
liyang
1eaea5c81c 修改oss配置删除时删除缓存bug 2021-10-14 21:26:03 +08:00
疯狂的狮子li
64ec206ecb update 更改上传数据回填 2021-10-14 17:28:13 +08:00
RuoYi
e7afea4cb7 升级oshi到最新版本v5.8.2 2021-10-14 16:20:18 +08:00
RuoYi
6d6271d6c9 修复五级以上菜单404问题 2021-10-14 16:19:46 +08:00
疯狂的狮子li
1f1d4e2def Merge remote-tracking branch 'origin/satoken' into satoken 2021-10-12 11:47:54 +08:00
疯狂的狮子li
91c4253f06 update satoken 1.26.0 => 1.27.0 2021-10-12 11:47:46 +08:00
疯狂的狮子li
cbb0c98f98 add [重磅更新] 增加分布式日志框架 TLog 2021-10-11 17:59:27 +08:00
疯狂的狮子li
aaf9f57459 update 去除登录警告 2021-10-11 16:49:21 +08:00
疯狂的狮子li
2006e5e51e update springboot-admin 2.5.1 => 2.5.2 2021-10-11 09:43:03 +08:00
疯狂的狮子li
741a5b275b Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRegisterController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java
	ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/RepeatSubmitInterceptor.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/SysRegisterService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
	ruoyi-ui/package.json
	ruoyi-ui/src/views/monitor/server/index.vue
2021-10-11 09:37:06 +08:00
RuoYi
eb4376b649 Excel导入支持@Excels注解 2021-10-10 14:30:08 +08:00
RuoYi
b1e5ebab8f 升级spring-boot-mybatis到最新版2.2.0 2021-10-10 11:26:50 +08:00
RuoYi
8bd6296721 升级pagehelper到最新版1.4.0 2021-10-10 11:25:37 +08:00
RuoYi
ae5c68368b 升级SpringBoot到最新版本2.5.5 2021-10-10 11:24:16 +08:00
RuoYi
4fdb0f48ec 同步element2.15.6表格样式 2021-10-10 11:23:04 +08:00
RuoYi
c4207f640b 使用JSONField忽略字段 2021-10-10 11:21:46 +08:00
RuoYi
f6e477b4f5 升级druid到最新版1.2.8 2021-10-10 09:44:14 +08:00
RuoYi
7ae47b50b8 导入模板添加默认参数 2021-10-09 12:22:55 +08:00
RuoYi
0b14155a75 增加 sendGet 无参判断 2021-10-09 12:22:54 +08:00
RuoYi
f1fed76273 升级element-ui到最新版本2.15.6 2021-10-09 12:22:48 +08:00
疯狂的狮子Li
bc6db547d6 fix 修复密码校验错误 2021-10-04 16:41:11 +08:00
RuoYi
48813161f6 设置mybatis默认的执行器 2021-10-04 10:27:38 +08:00
疯狂的狮子Li
a006904724 fix 2021-09-30 03:18:41 +00:00
RuoYi
5477ce3c39 修正swagger没有指定dataTypeClass导致启动出现warn日志 2021-09-29 19:51:48 +08:00
疯狂的狮子li
f38d7811e3 update 优化 代码生成常量 关于 BO VO 注释 2021-09-28 18:26:32 +08:00
疯狂的狮子li
a09f1b8666 update 优化 代码生成常量 关于 BO VO 注释 2021-09-28 18:26:31 +08:00
疯狂的狮子li
c7071752a7 update 优化代码生成 导入表 列表返回 主键默认选中 2021-09-28 18:26:30 +08:00
疯狂的狮子li
e2de22bdce update 优化 代码生成常量 关于 BO VO 注释 2021-09-28 18:26:08 +08:00
疯狂的狮子li
100f6603f2 update 优化 代码生成常量 关于 BO VO 注释 2021-09-28 18:24:11 +08:00
疯狂的狮子li
5382a2a15e update 优化代码生成 导入表 列表返回 主键默认选中 2021-09-28 18:23:43 +08:00
疯狂的狮子li
29163a41c2 update 更新 Admin 监控 注释 避免错误使用 2021-09-28 18:04:09 +08:00
疯狂的狮子li
0a9d4ea17b update 适配单体系与多体系用户权限 2021-09-28 17:56:19 +08:00
疯狂的狮子li
f05138df62 update 适配单体系与多体系用户权限 2021-09-28 17:55:01 +08:00
疯狂的狮子li
6e67e1a849 fix 修复 多数据源aop语法错误 2021-09-28 14:38:21 +08:00
疯狂的狮子li
3401f38edc fix 修复 多数据源aop语法错误 2021-09-28 14:37:03 +08:00
疯狂的狮子li
76a2e7f8e5 Merge remote-tracking branch 'origin/dev' into satoken
# Conflicts:
#	ruoyi-system/src/main/java/com/ruoyi/system/service/PermissionService.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TokenServiceImpl.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/UserDetailsServiceImpl.java
2021-09-28 09:46:56 +08:00
疯狂的狮子li
3f142dd0fa 发布 v3.2.0 2021-09-28 09:41:37 +08:00
疯狂的狮子li
22b4f87232 Merge remote-tracking branch 'origin/dev' into dev 2021-09-28 09:32:56 +08:00
疯狂的狮子li
ca5823fcdf Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-ui/package.json
2021-09-28 09:30:34 +08:00
疯狂的狮子Li
49fc74be5d fix 修复更新问题 导出文件名乱码 2021-09-27 21:30:07 +08:00
RuoYi
25f50d74c5 升级sass-loader到最新版本10.1.1 2021-09-27 18:54:43 +08:00
RuoYi
266f4d6806 升级dart-sass到版本1.32.13 2021-09-27 18:54:10 +08:00
疯狂的狮子li
a6a9814c06 update 更新 service 注解 2021-09-27 17:58:36 +08:00
疯狂的狮子li
5a8d3ddef0 update 回退 dart-sass 新版报大量警告 2021-09-27 17:58:10 +08:00
疯狂的狮子li
b082da73a1 Merge remote-tracking branch 'origin/dev' into satoken
# Conflicts:
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
2021-09-27 17:27:32 +08:00
疯狂的狮子li
99dcbe0207 update 封装通用下载方法简化下载使用 2021-09-27 17:24:37 +08:00
疯狂的狮子li
75b22e9a23 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/package.json
	ruoyi-ui/src/main.js
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/job/log.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/post/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/tool/build/index.vue
	ruoyi-ui/src/views/tool/gen/index.vue
2021-09-27 16:50:26 +08:00
疯狂的狮子li
c4f8c1b296 update 更新线程池策略说明 2021-09-27 15:00:36 +08:00
疯狂的狮子li
eecefdc4fa update 测试 jdk17 无异常 文档说明 2021-09-27 14:14:57 +08:00
RuoYi
ded99502ae 新增通用方法简化下载使用 2021-09-27 10:38:29 +08:00
RuoYi
02b95f95a8 升级file-saver到最新版本2.0.5 2021-09-27 10:36:43 +08:00
RuoYi
2a6d2d733e 升级dart-sass到最新版本1.42.1 2021-09-27 10:32:03 +08:00
疯狂的狮子li
6976c7f386 update security 路径配置抽取到配置文件 2021-09-26 17:26:45 +08:00
疯狂的狮子li
7702175130 update 修复合并异常 2021-09-26 17:18:09 +08:00
疯狂的狮子li
c2e43cc781 update 修复合并异常 2021-09-26 17:16:55 +08:00
疯狂的狮子li
6f6a3566ac Merge remote-tracking branch 'origin/dev' into satoken
# Conflicts:
#	pom.xml
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/AsyncConfig.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
#	ruoyi-framework/src/main/java/com/ruoyi/framework/security/filter/JwtAuthenticationTokenFilter.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
2021-09-26 17:15:40 +08:00
疯狂的狮子li
3434610349 update 接口文档 支持分组配置 2021-09-26 17:02:28 +08:00
疯狂的狮子li
bcac70b2ab update 扩展 security 配置属性 2021-09-26 17:02:08 +08:00
疯狂的狮子li
369438a46d update 回滚配置 2021-09-26 16:42:42 +08:00
疯狂的狮子li
aed8969498 remove 移除无用配置类 2021-09-26 15:37:40 +08:00
疯狂的狮子li
4a8781f4d9 fix jwt过滤编写问题 2021-09-26 15:18:05 +08:00
疯狂的狮子li
bff9d0560d fix jwt过滤编写问题 2021-09-26 15:17:27 +08:00
疯狂的狮子li
36f8eb71f3 fix jwt过滤编写问题 2021-09-26 14:39:51 +08:00
疯狂的狮子li
f7982ede73 fix jwt过滤编写问题 2021-09-26 14:35:25 +08:00
疯狂的狮子li
92804151a3 update 优化匿名路径jwt放行 2021-09-26 14:08:48 +08:00
疯狂的狮子li
0f2caf1cb6 update security 路径配置抽取到配置文件 2021-09-26 14:08:28 +08:00
疯狂的狮子li
06442d5aa2 update 修正拦截路径 2021-09-26 13:29:51 +08:00
疯狂的狮子li
8a81f37d22 update 同步ruoyi 2021-09-26 10:08:24 +08:00
疯狂的狮子li
125547f08f Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/utils/html/HTMLFilter.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
	ruoyi-ui/src/views/monitor/server/index.vue
2021-09-26 10:05:29 +08:00
疯狂的狮子li
0d24be4c05 update 更新satoken配置 设置从header读取鉴权token 2021-09-26 09:49:32 +08:00
RuoYi
30c89b33fe Excel注解支持导入导出标题信息 2021-09-26 09:03:01 +08:00
RuoYi
7479ff4b06 修复xss过滤后格式出现的异常 2021-09-25 17:12:37 +08:00
疯狂的狮子li
9801e9c29a remove 移除过期工具 2021-09-24 15:13:11 +08:00
若依
821f40882f !332 fix 自动生成代码漏掉 this.#[[$modal]]#.msgError
Merge pull request !332 from 疯狂的狮子Li/N/A
2021-09-24 06:50:50 +00:00
疯狂的狮子Li
02ce9868a7 fix 自动生成代码漏掉 this.#[[$modal]]#.msgError 2021-09-24 05:41:55 +00:00
疯狂的狮子li
6f870e11ff update 优化空校验处理 2021-09-24 11:17:25 +08:00
若依
a8f2ff4531 !331 update 代码生成编辑页面 拼写错误修正
Merge pull request !331 from 疯狂的狮子Li/master
2021-09-24 02:07:44 +00:00
疯狂的狮子li
eaa3baab3c update 代码生成编辑页面 拼写错误修正 2021-09-24 10:06:23 +08:00
疯狂的狮子li
77bce8b1e8 update springboot 2.5.4 => 2.5.5 bugfix版本
update mybatis-plus 3.4.3.3 => 3.4.3.4 bugfix版本
update redisson 3.16.2 => 3.16.3 bugfix版本
2021-09-24 09:59:28 +08:00
RuoYi
6480282826 升级fastjson到最新版1.2.78 2021-09-24 09:28:46 +08:00
若依
6197ad5090 !330 优化 记录登录信息,移除不必要的修改
Merge pull request !330 from lihy2021/N/A
2021-09-24 01:27:57 +00:00
lihy2021
b477e40d3c 优化 记录登录信息,移除不必要的修改 2021-09-24 00:41:43 +00:00
疯狂的狮子li
7c8eae3735 update 更新 satoken分支 相关介绍 2021-09-23 19:25:01 +08:00
RuoYi
f8cc7ce328 限流返回类型转换数值型的格式 2021-09-23 19:15:33 +08:00
疯狂的狮子li
553c29ab8a update 整合 satoken 权限、鉴权一体化框架 2021-09-23 19:13:58 +08:00
RuoYi
1a5881b1d0 修正服务监控磁盘变量 2021-09-23 19:09:22 +08:00
疯狂的狮子li
071c4c1412 update 同步ruoyi适配改动 2021-09-23 19:04:09 +08:00
疯狂的狮子li
03b31652a2 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/src/layout/components/Settings/index.vue
	ruoyi-ui/src/main.js
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/job/log.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/online/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/monitor/server/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/post/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/authRole.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/system/user/profile/resetPwd.vue
	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
	ruoyi-ui/src/views/system/user/profile/userInfo.vue
	ruoyi-ui/src/views/tool/gen/importTable.vue
2021-09-23 18:53:17 +08:00
疯狂的狮子li
852bc4887a remove 移除无用字段 2021-09-23 14:58:48 +08:00
RuoYi
fa124aeb8b 新增通用方法简化模态/缓存使用 2021-09-23 09:57:29 +08:00
RuoYi
258335cc65 新增通用方法简化模态/缓存使用 2021-09-23 09:38:16 +08:00
疯狂的狮子li
bdebca94b3 remove 移除无用合并 2021-09-22 12:38:52 +08:00
疯狂的狮子li
f85bad3388 update 调整依赖结构 解决依赖冲突 2021-09-22 11:10:10 +08:00
疯狂的狮子li
e9b0289eff update 优化代码生成 根据MP生成特性 调整导入表结构默认值合理化 2021-09-22 11:09:42 +08:00
疯狂的狮子li
40984e201e update 同步ruoyi修改命名 2021-09-22 10:12:49 +08:00
疯狂的狮子li
76bf987203 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excel.java
	ruoyi-common/src/main/java/com/ruoyi/common/annotation/RepeatSubmit.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/RepeatSubmitInterceptor.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
2021-09-22 10:09:15 +08:00
RuoYi
3b42abef44 Excel注解支持自定义数据处理器 2021-09-22 09:03:01 +08:00
RuoYi
26f0737c60 防重提交注解支持配置间隔时间/提示消息 2021-09-20 19:09:25 +08:00
RuoYi
ac94242875 reset dataSourceAspect 2021-09-20 19:08:50 +08:00
RuoYi
54bfa627f0 防止Excel导入图片可能出现的异常 2021-09-20 19:04:57 +08:00
RuoYi
36c058188a 防止记录日志转换出现的异常 2021-09-20 19:04:40 +08:00
疯狂的狮子Li
5306a45093 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RateLimiterAspect.java
2021-09-20 17:53:25 +08:00
RuoYi
a292cccb63 代码生成点击预览重置激活tab 2021-09-18 18:58:03 +08:00
若依
5ccd9877b4 !325 update 优化aop语法 使用spring自动注入注解 基于注解拦截的aop注解不可能为空
Merge pull request !325 from 疯狂的狮子Li/master
2021-09-18 10:47:06 +00:00
若依
7108ec41b5 !322 Cron表达式生成器关闭时销毁,避免再次打开时存在上一次修改的数据
Merge pull request !322 from muyi/master
2021-09-18 10:43:59 +00:00
若依
5188d56b4a !321 修复 全局限流key会多出一个"-" 将其移动到IP后面 去除多余的空格
Merge pull request !321 from 疯狂的狮子Li/N/A
2021-09-18 10:41:03 +00:00
疯狂的狮子li
8f7ed66544 update 优化aop语法 使用spring自动注入注解 基于注解拦截的aop注解不可能为空 2021-09-18 18:20:21 +08:00
疯狂的狮子li
c99b9262a8 update 优化aop写法 使用spring自动注入注解参数 2021-09-18 18:05:50 +08:00
疯狂的狮子li
2ccbaf9143 update 补全 @Override 注解 2021-09-18 18:05:28 +08:00
疯狂的狮子li
d54ab2733c update 简化数据字典使用 2021-09-18 17:04:25 +08:00
疯狂的狮子li
2f18d0d709 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
	ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/src/main.js
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
2021-09-18 16:01:52 +08:00
疯狂的狮子li
41c75a808a update easyexcel 2.2.10 => 2.2.11
update hutool 5.7.11 => 5.7.13
2021-09-18 15:48:43 +08:00
疯狂的狮子li
1e55853036 update 更新 分布式幂等 文档说明 2021-09-18 15:47:52 +08:00
疯狂的狮子li
931ed0eb00 update [重大改动]重写 防重提交实现 使用分布式锁 解决并发问题 压测通过 2021-09-18 15:44:36 +08:00
疯狂的狮子Li
9342bbef56 fix 修复合并错误 2021-09-17 15:39:27 +00:00
yjb
aaae404b2a Cron表达式生成器关闭时销毁,避免再次打开时存在上一次修改的数据 2021-09-17 19:14:41 +08:00
疯狂的狮子Li
f3a8b4625f 修复 全局限流key会多出一个"-" 将其移动到IP后面 去除多余的空格 2021-09-17 09:32:43 +00:00
疯狂的狮子li
4021020d3b update 更新 集群限流说明 2021-09-17 17:23:07 +08:00
疯狂的狮子li
2569e8c0a4 add 增加 集群限流演示案例 2021-09-17 17:22:55 +08:00
疯狂的狮子li
dcaeb18870 add 增加 集群限流功能 2021-09-17 17:22:45 +08:00
疯狂的狮子li
30fe14c0ff add 增加 获取redis客户端实例id工具 2021-09-17 17:22:25 +08:00
疯狂的狮子li
089b3d6e6d update 更新限流 README.md 说明 2021-09-17 16:20:46 +08:00
疯狂的狮子li
17b90f8381 add 增加 限流演示案例 2021-09-17 16:20:26 +08:00
疯狂的狮子li
f9c62fc23b update 使用 Redisson 限流工具 重写限流实现 2021-09-17 16:20:05 +08:00
疯狂的狮子li
900867df02 add RedisUtils 增加限流工具 2021-09-17 16:19:12 +08:00
RuoYi
12ab8b03d9 使用vue-data-dict,简化数据字典使用 2021-09-17 15:36:54 +08:00
疯狂的狮子li
50599487f8 update [重大改动] 将 framework 与 system 模块 解耦 2021-09-17 14:48:36 +08:00
疯狂的狮子li
2b53e9d86a Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/annotation/Log.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
	ruoyi-generator/src/main/resources/vm/java/mapper.java.vm
2021-09-17 11:12:43 +08:00
RuoYi
23270c60bc 日志注解新增是否保存响应参数 2021-09-16 16:03:49 +08:00
若依
2cb6709323 !318 修复后端主子表代码模板方法名生成错误问题
Merge pull request !318 from 稚屿/N/A
2021-09-16 07:48:08 +00:00
若依
917bc03a43 !316 禁用DictTag中el-tag渐变动画
Merge pull request !316 from 马小法/master
2021-09-16 07:34:34 +00:00
疯狂的狮子li
d71e35893d update 重写框架 README.md 格式更友好 通俗易懂 2021-09-15 12:05:24 +08:00
疯狂的狮子li
efd277e7ed update 用户未登录日志改为 warn 级别 2021-09-15 10:53:14 +08:00
稚屿
dbe3446b63 修复后端主子表代码模板方法名生成错误问题 2021-09-14 13:53:32 +00:00
疯狂的狮子li
d3d3972bea update OSS模块 关于下载403报错信息优化 2021-09-14 17:52:19 +08:00
疯狂的狮子li
5285735c7a add 增加 redis redisson 集群配置 2021-09-14 16:57:07 +08:00
马小法
b84e7013d2 禁用el-tag组件的渐变动画 2021-09-14 15:15:22 +08:00
疯狂的狮子li
9bc5414b44 update 更新 Actuator prod 默认暴漏端点 增加暴漏 logfile 日志端点 2021-09-14 12:17:16 +08:00
疯狂的狮子li
6e28683411 update 默认适配jdk11 2021-09-14 12:07:42 +08:00
疯狂的狮子li
b27a8afc3b fix 修复多主键代码生成bug 2021-09-14 12:03:58 +08:00
疯狂的狮子li
662251e208 Merge remote-tracking branch 'origin/dev' into dev 2021-09-14 10:16:44 +08:00
疯狂的狮子li
e314a5e333 update 更新文档扩展项目地址 2021-09-14 10:16:38 +08:00
疯狂的狮子Li
a0c165c418 !92 fix 代码生成-当表未设置主键时第一个字段重复生成
Merge pull request !92 from dawn9117/dev
2021-09-13 13:25:18 +00:00
hebo
c604c2de98 fix 代码生成-当表未设置主键时第一个字段重复生成 2021-09-13 21:21:19 +08:00
疯狂的狮子Li
d6107025fa !89 update 字典类型 数据解析状态对应字典调整
Merge pull request !89 from 抓蛙师/auto-7465549-dev-1631512665539
2021-09-13 05:58:57 +00:00
抓蛙师
a7ecfb68c1 字典类型 数据解析状态对应字典调整 2021-09-13 13:57:03 +08:00
疯狂的狮子li
188d27159d update 同步 ruoyi 3.7.0 修正改动 2021-09-13 13:17:01 +08:00
疯狂的狮子li
2af534eea4 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-admin/pom.xml
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-common/pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
	ruoyi-framework/pom.xml
	ruoyi-generator/pom.xml
	ruoyi-quartz/pom.xml
	ruoyi-system/pom.xml
	ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/RouterVo.java
	ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
	ruoyi-ui/package.json
	ruoyi-ui/src/components/ImageUpload/index.vue
	ruoyi-ui/src/components/ThemePicker/index.vue
	ruoyi-ui/src/layout/components/Sidebar/Link.vue
	ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/views/index.vue
	ruoyi-ui/src/views/tool/gen/editTable.vue
	ruoyi-ui/src/views/tool/gen/index.vue
	sql/ry_20210908.sql
2021-09-13 13:03:58 +08:00
RuoYi
db193a46e8 若依 3.7.0 2021-09-13 09:36:38 +08:00
疯狂的狮子li
808bb9a958 update 更新关于 本地与云存储说明 2021-09-10 16:13:57 +08:00
疯狂的狮子li
eca8ea1eb6 fix 修复 @Cacheable 与 @DataScope 冲突问题 2021-09-10 15:41:23 +08:00
疯狂的狮子li
d9681e1791 update 更新 @Cacheable 错误用法 注意事项 2021-09-10 15:31:01 +08:00
疯狂的狮子li
7f96363ecb update 更新数据库最低版本说明 2021-09-10 11:52:31 +08:00
RuoYi
04c340627d 修复多图组件验证失败被删除问题 2021-09-10 11:06:25 +08:00
疯狂的狮子li
c1c6c1cf30 update 将所有 云存储字样 改为 对象存储 避免误解 2021-09-10 10:51:40 +08:00
疯狂的狮子li
5bb7b0dda5 update 优化代码生成 insertByBo 方法 针对返回主键优化 2021-09-09 15:24:33 +08:00
疯狂的狮子li
61edd5588e Merge remote-tracking branch 'origin/dev' into dev 2021-09-09 10:17:58 +08:00
疯狂的狮子li
e1c993c277 update 回滚 配置检测拦截是否有效SQL 因不通用 2021-09-09 10:17:40 +08:00
RuoYi
15abd4d053 优化提示 2021-09-08 11:26:08 +08:00
若依
a7376b36f8 !312 修复代码生成页面数据编辑保存之后总是跳转第一页的问题
Merge pull request !312 from 稚屿/master
2021-09-08 03:19:59 +00:00
稚屿
d2b61762b7 修复代码生成页面数据编辑保存之后总是跳转第一页的问题 2021-09-08 11:18:35 +08:00
RuoYi
a5e38f6f99 菜单管理支持配置路由参数 2021-09-08 09:28:23 +08:00
若依
4988b585f8 !309 修正单词拼写错误
Merge pull request !309 from 稚屿/master
2021-09-07 08:16:58 +00:00
疯狂的狮子Li
3b5fb07c3d Merge branch 'master' of gitee.com:JavaLionLi/RuoYi-Vue-Plus into dev 2021-09-07 05:49:53 +00:00
疯狂的狮子li
ddf8d6ad6b 发布 v3.1.0 2021-09-07 13:48:22 +08:00
疯狂的狮子li
182edef28a update 所有业务适配 RedisUtils 新工具 2021-09-07 13:20:24 +08:00
疯狂的狮子li
97cffa048e add 过期 RedisCache 新增 RedisUtils 工具类 更灵巧便于使用 2021-09-07 13:19:34 +08:00
疯狂的狮子li
c5d46591fe update 更新 jackson 配置 支持 LocalDateTime 全局格式化 2021-09-07 13:18:36 +08:00
疯狂的狮子li
38f03855eb update redisson 3.16.1 => 3.16.2 2021-09-07 09:53:14 +08:00
疯狂的狮子li
0d8421e7ab update 适配 mybatis-plus 升级更新 2021-09-06 16:42:03 +08:00
疯狂的狮子li
43301bee8b update 使用MP自行判断数据库类型 2021-09-06 16:10:33 +08:00
疯狂的狮子li
36b0ebf54c update 代码生成 查询数据库列表 按照时间倒序 2021-09-06 11:08:09 +08:00
疯狂的狮子li
e7f83fb695 update mybatis-plus 3.4.3 => 3.4.3.3 适配升级 (包含不兼容升级) 请详细阅读 mybatis-plus 官方升级文档 2021-09-06 10:19:58 +08:00
疯狂的狮子li
ab4b75fe30 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/assets/styles/sidebar.scss
	ruoyi-ui/src/assets/styles/variables.scss
	ruoyi-ui/src/components/ThemePicker/index.vue
	ruoyi-ui/src/layout/components/Sidebar/Logo.vue
	ruoyi-ui/src/layout/components/Sidebar/index.vue
	ruoyi-ui/src/layout/components/TagsView/index.vue
	ruoyi-ui/src/layout/index.vue
	ruoyi-ui/src/store/modules/settings.js
	ruoyi-ui/src/store/modules/tagsView.js
	ruoyi-ui/src/views/tool/gen/index.vue
2021-09-06 09:59:28 +08:00
linzh
b35f708c07 修正单词拼写错误 2021-09-05 21:36:33 +08:00
RuoYi
0e6150720c 页签新增关闭左侧 2021-09-05 13:27:58 +08:00
RuoYi
44adf03d2c 页签右键按钮添加图标 2021-09-05 13:26:45 +08:00
RuoYi
9ae5edaa74 菜单&部门新增展开/折叠功能 2021-09-04 12:10:33 +08:00
RuoYi
14c6c796e8 新增暗色菜单风格主题 2021-09-04 12:09:55 +08:00
疯狂的狮子li
2d6c306ae1 update 优化 oss配置 使用发布订阅工具 刷新配置 2021-09-03 17:42:58 +08:00
疯狂的狮子li
b2ab087313 add PageUtils 增加构造无参 TableDataInfo 方法 2021-09-03 17:35:44 +08:00
疯狂的狮子li
22daef0b51 update 泛型统一使用 V 2021-09-03 17:14:19 +08:00
疯狂的狮子li
067029eebe update 优化分页工具排序处理 2021-09-03 17:06:18 +08:00
RuoYi
5d72f9d224 修复保存配置主题颜色失效问题 2021-09-03 16:50:48 +08:00
疯狂的狮子li
4dd235124d add 增加 发布订阅 演示案例 2021-09-03 16:22:04 +08:00
疯狂的狮子li
04c03d7ab7 add RedisCache 工具类 增加 发布订阅工具 2021-09-03 16:21:50 +08:00
疯狂的狮子li
fd8affdc8a update 补全演示案例 接口文档 2021-09-03 16:21:23 +08:00
RuoYi
e49f0cebf1 自定义弹层溢出滚动样式 2021-09-03 13:27:03 +08:00
疯狂的狮子li
237b598264 update 更新feign关于熔断注释 2021-09-03 11:43:34 +08:00
疯狂的狮子li
f566c39026 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java
	ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/tool/gen/index.vue
2021-09-03 10:55:58 +08:00
RuoYi
6361e4efdc 定时任务支持在线生成cron表达式 2021-09-03 09:54:07 +08:00
若依
cfa86bd4fe !308 代码生成: 导入表时查询 新创建表的优先排序在前面
Merge pull request !308 from xiaoshitou/N/A
2021-09-03 01:39:40 +00:00
xiaoshitou
a56bc47a81 代码生成: 导入表时查询 新创建表的优先排序在前面 2021-09-02 20:01:25 +00:00
疯狂的狮子li
80784433b8 remove 移除分页合理化参数 使用 MP 全局配置分页溢出 2021-09-02 15:59:42 +08:00
疯狂的狮子li
ab9bc35f9f update MP字段验证策略更改为 NOT_NULL 个别特殊字段使用注解单独处理 2021-09-02 15:45:57 +08:00
疯狂的狮子li
f3d6d1e43b update 优化全局线程池配置 使用泛型 防止错误输入 2021-09-02 15:20:31 +08:00
疯狂的狮子li
8b2f7f0e64 update 优化验证码配置 使用泛型 防止错误输入 2021-09-02 15:19:18 +08:00
疯狂的狮子li
76710e453e update 分页合理化 2021-09-02 13:46:11 +08:00
疯狂的狮子li
6801490e3b update 分页合理化 2021-09-02 11:29:50 +08:00
RuoYi
a15bfdfb46 防止表格最后页最后项删除变成暂无数据 2021-09-02 10:55:10 +08:00
疯狂的狮子li
1a695159e3 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/page/TableSupport.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/ServletUtils.java
	ruoyi-ui/src/api/login.js
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/tool/gen/index.vue
2021-09-02 10:49:56 +08:00
RuoYi
ee823b8326 防止表格最后页最后项删除变成暂无数据 2021-09-02 10:19:04 +08:00
疯狂的狮子li
b461c8cc99 update spring-boot-admin 2.5.0 => 2.5.1
update aliyun.oss 3.13.0 => 3.13.1
update qcloud.cos 5.6.47 => 5.6.51
update hutool 5.7.9 => 5.7.11
update maven-jar-plugin 3.1.1 => 3.2.0
2021-09-01 15:38:08 +08:00
疯狂的狮子li
adb31b71f8 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dept/index.vue
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/system/notice/index.vue
	ruoyi-ui/src/views/system/post/index.vue
2021-09-01 09:40:36 +08:00
若依
57178e72a4 !304 修改数据字典样式回显
Merge pull request !304 from 马小法/master
2021-09-01 01:20:59 +00:00
疯狂的狮子li
52ca1e7d06 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
2021-08-31 09:42:55 +08:00
若依
b8317a562c !303 修改非管理员登录时,获取菜单报错sql
Merge pull request !303 from Gold_Fish/master
2021-08-30 08:59:55 +00:00
马小法
8040ad8c03 修改数据字典回显 2021-08-30 16:53:16 +08:00
马小法
c628aa5be8 修改代码生成字典回显样式 2021-08-30 16:49:30 +08:00
疯狂的狮子li
1370d4a43c add 优化 增加 redis 配置文件 2021-08-30 14:18:22 +08:00
疯狂的狮子li
f22aa6d94a update 更新容器名 2021-08-30 13:46:49 +08:00
疯狂的狮子li
bdfd2f0787 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java
	ruoyi-ui/src/api/login.js
2021-08-30 12:49:19 +08:00
疯狂的狮子li
673d10c6c4 update 优化 saveAll 空列表校验 2021-08-30 12:36:01 +08:00
疯狂的狮子li
e54033f4e4 update 优化 saveOrUpdateAll 空列表校验 2021-08-30 12:24:24 +08:00
疯狂的狮子Li
bfeca2cd7c !84 全量保存或更新之前判断addList长度和updateList长度
Merge pull request !84 from 抓蛙师/dev
2021-08-30 04:20:46 +00:00
抓蛙师
41de169dd2 全量保存或更新时判断数组长度再继续 2021-08-30 11:29:33 +08:00
Gold_Fish
b036e78d85 修改根据userId获取菜单sql 2021-08-30 02:42:49 +00:00
RuoYi
4e8c6fb7c0 修复字典组件值为整形不显示问题 2021-08-29 15:57:01 +08:00
RuoYi
134835c870 验证码默认20s超时 2021-08-29 15:56:46 +08:00
若依
5ade90debf !299 XssHttpServletRequestWrapper中增加available方法
Merge pull request !299 from Ming/master
2021-08-29 07:36:57 +00:00
若依
bb0aeb39e3 !298 修复带utc日期格式 yyyy-MM-dd'T'HH:mm:ss.SSS 在safari浏览器中无法正确格式化的问题
Merge pull request !298 from wjtc8/N/A
2021-08-29 07:35:06 +00:00
疯狂的狮子li
dc0f655781 remove 移除docker镜像无用路径配置 2021-08-27 12:07:16 +08:00
疯狂的狮子Li
94be46d065 fix 修复定时器工具编写错误问题 2021-08-26 18:03:33 +08:00
疯狂的狮子li
a5acc3b27e update java 代码格式统一使用4个空格 2021-08-26 13:06:27 +08:00
疯狂的狮子Li
ee927ad6dc !83 update 优化生成的业务名
Merge pull request !83 from 友杰/auto-8071125-dev-1629950351765
2021-08-26 04:33:02 +00:00
youjie
b71e8970fe update 优化生成的业务名 2021-08-26 11:59:05 +08:00
疯狂的狮子li
0c438ad8e9 update 修改时检查用户数据权限范围 2021-08-26 11:15:07 +08:00
疯狂的狮子li
31c2cfa53c Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/service/impl/SysJobServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
	ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
2021-08-26 11:10:42 +08:00
疯狂的狮子li
23ce0af2e8 update 优化 ServicePlusImpl 的 vo 泛型 由K改成V 增加可读性 增加注释 2021-08-26 10:56:36 +08:00
疯狂的狮子li
0014be5242 update 优化代码生成 导入与同步 批处理效率 2021-08-26 10:23:01 +08:00
疯狂的狮子li
7c6fe5f244 add 新增 saveOrUpdateAll 方法 可完美替代 saveOrUpdateBatch 高性能 2021-08-26 09:58:57 +08:00
疯狂的狮子Li
3e5ae811bf !82 saveAll支持有id更新,无id插入
Merge pull request !82 from 抓蛙师/dev
2021-08-26 01:24:20 +00:00
疯狂的狮子li
5df5e63afe update 解决 logout 写死 无法扩展路径问题 2021-08-25 21:50:38 +08:00
抓蛙师
545f0bd4b0 saveAll支持有id则更新和无id则插入 2021-08-25 20:24:35 +08:00
疯狂的狮子li
8ffe111086 update 重写 InsertAll 方法实现 可完美替代 saveBatch 秒级插入上万数据 2021-08-25 18:01:52 +08:00
疯狂的狮子li
1cd64a1c4e fix minio Prefix 空问题 2021-08-25 10:03:39 +08:00
Ming
098c650655 update ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java.
增加available方法于XssHttpServletRequestWrapper
2021-08-24 08:42:56 +00:00
RuoYi
e52092c6d4 修改时检查用户数据权限范围 2021-08-24 16:00:39 +08:00
疯狂的狮子li
fc98a260d6 update 优化spy配置文件为 UTF8编码 解决中文注释乱码问题 2021-08-24 16:00:33 +08:00
疯狂的狮子li
613fe5d35a update 更改OSS上传通用路径生成 按照年月日分三级目录 2021-08-24 15:51:23 +08:00
疯狂的狮子li
f5b90af6d0 add 增加 导出雪花id excel失真问题 2021-08-24 14:28:39 +08:00
疯狂的狮子li
bf86e5979b update 重构 将下载excel工具提取到全局 2021-08-24 14:28:20 +08:00
疯狂的狮子li
dae8ee4afc update 增加验证码开关注释 2021-08-24 14:27:14 +08:00
wjtc8
89911e7caf 修复带utc日期格式 yyyy-MM-dd'T'HH:mm:ss.SSS 在safari浏览器中无法正确格式化的问题 2021-08-24 05:51:00 +00:00
疯狂的狮子li
72f3971ca2 update 重构 将下载excel工具提取到全局 2021-08-24 13:38:15 +08:00
RuoYi
0fc266fe80 定时任务对检查异常进行事务回滚 2021-08-24 11:12:11 +08:00
疯狂的狮子li
f91ebd93d2 update 重构 将下载excel工具提取到全局 2021-08-23 18:28:33 +08:00
疯狂的狮子li
dea627f02c update 更改用户注册页面标题名 2021-08-23 18:21:05 +08:00
疯狂的狮子li
3c0f992e76 fix 解决搜索校验不通过问题 2021-08-23 18:20:07 +08:00
疯狂的狮子li
5f2f4bb7ef add 增加查询校验组 2021-08-23 18:17:45 +08:00
疯狂的狮子Li
92a32fe380 fix 修复定时器工具编写错误问题 2021-08-22 12:47:51 +00:00
疯狂的狮子li
a0fc78f9e6 remove 删除无用路径 2021-08-22 11:58:08 +08:00
疯狂的狮子li
3ade542d81 fix 修复 druid 监控 集群模式下 无法路由到同一台服务器问题 nginx 使用 ip_hash 路由方式 保障同 ip 路由到同服务器 2021-08-22 10:42:58 +08:00
疯狂的狮子li
0e2ff6a6da update 优化copy工具增加空判断 2021-08-22 10:41:26 +08:00
疯狂的狮子li
0c9a778736 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-ui/src/directive/index.js
2021-08-22 10:40:36 +08:00
RuoYi
d1ef19f08a 自定义可拖动弹窗高度指令 2021-08-20 17:57:44 +08:00
RuoYi
e6e10308ff 自定义可拖动弹窗宽度指令 2021-08-20 17:45:25 +08:00
疯狂的狮子li
d48c57917c fix 修复 excel 导入与 class 未对应问题 2021-08-20 17:01:18 +08:00
疯狂的狮子li
40347e4cb8 fix 修复 excel 导入与 class 未对应问题 2021-08-20 17:00:57 +08:00
疯狂的狮子li
33c16e562b update springboot 2.5.3 => 2.5.4
update hutool 5.7.7 => 5.7.9
update feign-okhttp 11.2 => 11.6
2021-08-20 14:47:49 +08:00
RuoYi
cb5ee9c8a1 补充定时任务表字段注释 2021-08-20 11:04:15 +08:00
疯狂的狮子li
c3b44e835d update 同步 ruoyi 更新代码 2021-08-19 17:37:44 +08:00
疯狂的狮子li
c380b77617 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
	ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
	ruoyi-ui/src/layout/index.vue
2021-08-19 17:33:46 +08:00
疯狂的狮子Li
7fafd94e39 !80 update 优化oss配置错误时的错误信息
Merge pull request !80 from 友杰/auto-8071125-dev-1629364607691
2021-08-19 09:23:46 +00:00
youjie
89a75e7800 update 优化oss配置错误时的错误信息 2021-08-19 17:16:36 +08:00
RuoYi
1e37f0430b 定时任务屏蔽ldap远程调用 2021-08-19 15:26:22 +08:00
若依
295173258c !295 update 优化 使用权限工具 获取用户信息
Merge pull request !295 from 疯狂的狮子Li/update
2021-08-19 06:55:13 +00:00
若依
fec90d0487 !294 update ruoyi-ui/src/layout/index.vue.
Merge pull request !294 from aasdd/N/A
2021-08-19 06:49:06 +00:00
疯狂的狮子li
aead560227 update 优化 使用权限工具 获取用户信息 2021-08-19 11:13:59 +08:00
疯狂的狮子li
c91d33e4ab update 优化 OSS 模块与上传组件 异常处理 2021-08-18 19:15:03 +08:00
疯狂的狮子li
36fae5c926 update 优化 OSS 模块与上传组件 异常处理 2021-08-18 19:14:26 +08:00
疯狂的狮子li
a33a919169 fix 修复 OSS配置清空被过滤问题 2021-08-18 18:24:24 +08:00
疯狂的狮子li
88e3805ff9 fix 修复 OSS配置清空被过滤问题 2021-08-18 18:24:05 +08:00
aasdd
8133c60ab3 update ruoyi-ui/src/layout/index.vue.
删掉此处代码,使右边栏动画生效。现在是没有动画的
2021-08-18 09:29:22 +00:00
疯狂的狮子li
96c4c4da56 fix 修复 新版本说明 标签错误 2021-08-18 16:54:22 +08:00
疯狂的狮子li
e981388aa7 fix 修复 新版本说明 标签错误 2021-08-18 16:53:56 +08:00
疯狂的狮子li
cf4b49ca3b fix 修复 富文本图片路径错误问题 2021-08-18 14:50:10 +08:00
疯狂的狮子li
9dd0ed4329 fix 修复 富文本图片路径错误问题 2021-08-18 14:49:31 +08:00
疯狂的狮子li
6a8deaf61a fix 修复 minio 无 perfix 问题 2021-08-18 14:14:50 +08:00
疯狂的狮子li
e3d90b820d Merge remote-tracking branch 'origin/dev' into dev 2021-08-18 14:13:55 +08:00
疯狂的狮子li
8c7507b048 fix 修复 minio 无 perfix 问题 2021-08-18 14:13:46 +08:00
疯狂的狮子Li
0375fd319c !78 同步dev分支
Merge pull request !78 from 疯狂的狮子Li/dev
2021-08-18 03:11:24 +00:00
疯狂的狮子Li
b19111b9bf Merge branch 'master' of gitee.com:JavaLionLi/RuoYi-Vue-Plus into dev 2021-08-18 03:11:04 +00:00
疯狂的狮子li
a937e3f268 发布 v3.0.0 2021-08-18 11:09:14 +08:00
疯狂的狮子li
4eb94f4a1e update 更新vip群信息 2021-08-18 10:44:08 +08:00
疯狂的狮子li
8cc673ec95 update 同步 ruoyi 自定义限流 新功能 2021-08-17 14:39:38 +08:00
疯狂的狮子li
c271ffc066 update 同步 ruoyi 自定义限流 新功能 2021-08-17 14:34:29 +08:00
疯狂的狮子li
896939ce4e Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/annotation/Excels.java
	ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
2021-08-17 14:23:19 +08:00
RuoYi
5c155f5f11 支持自定义注解实现接口限流 2021-08-17 14:08:18 +08:00
疯狂的狮子li
5bfb2dae13 update 优化OSS异常判断 2021-08-17 11:43:14 +08:00
疯狂的狮子li
52d0d62c35 update 同步 ruoyi 适配改动 2021-08-17 10:45:01 +08:00
疯狂的狮子li
d3abd6c96e Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/exception/CustomException.java
	ruoyi-common/src/main/java/com/ruoyi/common/exception/base/BaseException.java
	ruoyi-common/src/main/java/com/ruoyi/common/exception/file/FileException.java
	ruoyi-common/src/main/java/com/ruoyi/common/exception/user/UserException.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/exception/GlobalExceptionHandler.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
	ruoyi-ui/src/components/Breadcrumb/index.vue
2021-08-17 10:38:07 +08:00
RuoYi
03cf98d3c9 优化异常信息 2021-08-16 16:25:25 +08:00
若依
6f51f729ba !289 添加日期范围支持重复添加多组日期范围,请求参数中对象的属性为null、undefined不进行拼接
Merge pull request !289 from wangzhaoqiang/master
2021-08-16 08:23:27 +00:00
疯狂的狮子li
73d2ed4c02 update 更新批量演示demo代码 2021-08-16 16:18:36 +08:00
wangzhaoqiang
57b159eb98 添加日期范围支持重复添加多组日期范围,请求参数中对象的属性为null、undefined不进行拼接 2021-08-16 14:48:34 +08:00
若依
08da6834a5 !288 修正方法名单词拼写错误
Merge pull request !288 from 稚屿/N/A
2021-08-16 02:36:36 +00:00
若依
268468fb47 !287 更新到【默认首页使用keep-alive缓存】后报错
Merge pull request !287 from wangzhaoqiang/master
2021-08-16 02:36:29 +00:00
稚屿
333e19339c 修正方法名单词拼写错误 2021-08-15 10:26:05 +00:00
疯狂的狮子li
25b47db3cb update 移除Spring注入 改为全局缓存 并使用更新时间确保集群配置最终一致性 2021-08-15 16:59:46 +08:00
wangzhaoqiang
7b6ccd9b22 解决登录后浏览器后台Breadcrumb组件报错 2021-08-14 20:16:48 +08:00
疯狂的狮子li
881edb3e62 update springboot admin 2.4.3 => 2.5.0 (新增 Quartz 专属监控页) 2021-08-14 14:53:25 +08:00
疯狂的狮子li
bb1d8d5796 remove 删除无用常量 2021-08-14 14:30:52 +08:00
疯狂的狮子li
cb13642e85 update 重写 OSS 模块相关实现 支持动态配置(页面配置) 2021-08-13 21:09:24 +08:00
疯狂的狮子li
6473d4d8be Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	bin/clean.bat
	bin/run.bat
	ruoyi-common/src/main/java/com/ruoyi/common/config/RuoYiConfig.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
	ruoyi-ui/bin/run-web.bat
	ruoyi-ui/src/components/ImageUpload/index.vue
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/views/index.vue
2021-08-13 17:36:26 +08:00
RuoYi
5d6f134609 多图上传组件移除多余的api地址 2021-08-13 15:15:35 +08:00
RuoYi
f02743bde5 代码生成主子表多选行数据 2021-08-13 14:50:35 +08:00
疯狂的狮子li
8c09c30ca0 remove 删除OSS配置页面无用按钮 2021-08-13 14:32:24 +08:00
疯狂的狮子li
86fba4aed4 remove 删除配置文件 OSS存储相关配置 2021-08-13 14:10:16 +08:00
疯狂的狮子li
a5a71bf505 fix 修复代码生成 删除按钮报错 loading 不取消问题 2021-08-13 14:07:32 +08:00
疯狂的狮子li
652a39b11c update 修正 PR 相关问题 2021-08-13 14:04:57 +08:00
疯狂的狮子li
824635df7f update 修正 PR 相关问题 2021-08-13 12:37:34 +08:00
RuoYi
3003bb0f50 Excel注解图片导入兼容xls 2021-08-13 10:56:35 +08:00
RuoYi
5139265d32 默认首页使用keep-alive缓存 2021-08-13 10:10:29 +08:00
孤舟烟雨
c9f7314cd0 !77 update 对象存储配置 重构到数据库 动态配置
* 增加对象存储配置sql
* 修改对象存储配置
* Merge branch 'dev' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus into dev
* 增加对象存储配置
* 增加对象存储配置
2021-08-13 02:03:46 +00:00
若依
8a67af6c26 !285 修复角色分配用户页面接收参数与传递参数类型不一致导致的错误
Merge pull request !285 from 稚屿/N/A
2021-08-13 01:55:58 +00:00
若依
8e4802505e !284 添加SysConfigservice,SysDictTypeService的实现方法遗漏的@Override注解
Merge pull request !284 from Old丶x/master
2021-08-13 01:55:52 +00:00
稚屿
8ee641c1bc 修复角色分配用户页面接收参数与传递参数类型不一致导致的错误 2021-08-13 01:08:00 +00:00
mroldx
779508989f 添加加载字典数据,清空字典数据,重置字典数据方法上遗漏的@Override注解 2021-08-12 17:30:31 +08:00
mroldx
d9e805a6a5 添加获取验证码方法上遗漏的@Override注解 2021-08-12 17:19:56 +08:00
疯狂的狮子li
2b0c4acfa1 add 增加 admin 监控客户端开关 2021-08-12 13:53:58 +08:00
疯狂的狮子li
2915548bce remove 移除无用配置 2021-08-12 11:41:43 +08:00
疯狂的狮子li
c9a9da7f49 remove 移除无用配置 2021-08-12 11:38:06 +08:00
疯狂的狮子li
8adbdee9d9 remove 移除无用配置 2021-08-12 11:37:12 +08:00
疯狂的狮子li
5645356fa9 fix 生产minio回显问题 2021-08-11 17:05:02 +08:00
疯狂的狮子li
6a66aaff47 update 注入器 insert 增加 update 字段处理 2021-08-11 16:47:38 +08:00
疯狂的狮子li
253f28bb2b update 代码生成文档注解 增加必填判断配置 2021-08-11 15:43:58 +08:00
疯狂的狮子li
a48154a2ee update 补全基础实体 文档注解 2021-08-11 15:43:23 +08:00
疯狂的狮子li
0883b9eff1 update hutool 5.7.6 => 5.7.7 2021-08-11 14:42:58 +08:00
疯狂的狮子li
2c2dad24d5 update 更新 阿里云 maven源 新地址 2021-08-11 14:28:05 +08:00
疯狂的狮子li
cec4e083ef update 更改多数据源框架更清晰的依赖名 2021-08-11 14:27:40 +08:00
疯狂的狮子li
05316b08b4 update 统一镜像时区配置 移除主机时间映射 2021-08-11 13:09:48 +08:00
RuoYi
7be17ea89a Excel注解支持Image图片导入 2021-08-11 10:13:34 +08:00
RuoYi
1f07641d9b update bin 2021-08-11 10:11:13 +08:00
若依
c0f4f805d0 !281 补全注册用户方法上遗漏的@Override注解
Merge pull request !281 from 稚屿/N/A
2021-08-11 02:08:58 +00:00
疯狂的狮子li
c2de299834 update 同步ruoyi 2021-08-09 10:05:27 +08:00
疯狂的狮子li
9bfa420a76 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	README.md
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysNoticeController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/UserDetailsServiceImpl.java
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
	ruoyi-ui/package.json
	ruoyi-ui/src/views/system/menu/index.vue
2021-08-09 09:55:50 +08:00
稚屿
b84224d7ba 补全注册用户方法上遗漏的@Override注解 2021-08-08 14:08:52 +00:00
RuoYi
98a143f1fe 添加新群号:101456076 2021-08-08 19:50:50 +08:00
RuoYi
3243428009 优化用户不能删除自己 2021-08-08 19:12:52 +08:00
RuoYi
7736097f6b 提取通用方法到基类控制器 2021-08-08 19:12:12 +08:00
疯狂的狮子li
f544ffc568 add 增加 国际化演示demo 2021-08-06 18:59:28 +08:00
疯狂的狮子li
c06a02fb97 add 增加 完整国际化解决方案 2021-08-06 18:59:08 +08:00
RuoYi
fc60c003c3 升级element-ui到最新版本2.15.5 2021-08-06 14:31:39 +08:00
疯狂的狮子li
4d15ab766f fix 修复操作日志根据状态查询异常问题 2021-08-06 12:43:21 +08:00
疯狂的狮子li
6896db47af update 补全国家化文件 2021-08-05 13:45:54 +08:00
疯狂的狮子li
313d8e8484 update 排版文档 增加新功能说明 2021-08-05 13:31:00 +08:00
疯狂的狮子li
8c912a8133 add 集成 性能分析插件 p6spy 更强劲的 SQL 分析 2021-08-05 13:30:36 +08:00
疯狂的狮子li
ffd3dc335f update 将 Actuator 配置 移动到全局配置 2021-08-05 13:30:04 +08:00
疯狂的狮子li
4e54190e3a update 代码生成模板 适配新excel导出 2021-08-05 10:22:29 +08:00
疯狂的狮子li
79bf332c53 remove 移除通用上传下载接口与配置 2021-08-04 19:11:39 +08:00
疯狂的狮子li
08db4a5f53 update 更改所有业务excel导出 2021-08-04 19:03:25 +08:00
疯狂的狮子li
ffed5a09cb remove 移除原生excel工具 2021-08-04 19:02:59 +08:00
疯狂的狮子li
5ca4478540 update 更新 SysJob 导入导出 补全 SysUser 试图对象 2021-08-04 18:52:09 +08:00
疯狂的狮子li
9cf4794146 update 更新 SysUser 导入导出 2021-08-04 18:29:38 +08:00
疯狂的狮子li
43901370e9 update 自动注入修改为强制注入 无用户信息返回 null 并日志报警 2021-08-04 18:13:11 +08:00
疯狂的狮子li
b65856227f update 文件存储工厂使用redis加载类型 2021-08-04 17:40:02 +08:00
疯狂的狮子li
e1fcbc6476 update 移动文件存储 controller 到 admin 模块 2021-08-04 17:27:33 +08:00
疯狂的狮子li
0e8a8fca31 update 移动文件存储业务到 system 模块 2021-08-04 17:26:14 +08:00
疯狂的狮子li
01e8fe5ddb fix 头像上传 未走OSS存储问题 2021-08-04 13:10:28 +08:00
疯狂的狮子li
0ec756cf58 fix oss列表 jpeg 不回显问题 2021-08-04 13:09:43 +08:00
疯狂的狮子li
0539c2f927 update 重写系统部分业务导出 2021-08-04 11:46:55 +08:00
疯狂的狮子li
80067d32fc fix 头像上传 未走OSS存储问题 2021-08-04 11:15:16 +08:00
疯狂的狮子li
19d5f2dd78 update 下载工具更名为通用下载 2021-08-04 09:28:31 +08:00
疯狂的狮子li
13dde63463 update 修改 下载工具类 删除无用代码 2021-08-04 09:27:16 +08:00
疯狂的狮子li
da4e080656 update 修改 操作日志导出 适配easyexcel工具 2021-08-03 19:29:59 +08:00
疯狂的狮子li
89cca8af07 update 重构 统一使用 zip 工具下载 2021-08-03 19:29:15 +08:00
疯狂的狮子li
170908ef8d add 增加 easyexcel 工具类 2021-08-03 19:28:15 +08:00
疯狂的狮子li
70b77d9801 add 增加 easyexcel 依赖 2021-08-03 19:27:48 +08:00
疯狂的狮子Li
2b1c3335f6 !74 Fix 修复DictUtils方法报错
Merge pull request !74 from jackytang/N/A
2021-08-03 02:07:20 +00:00
jackytang
ad15978ccb Fix 修复DictUtils方法报错 2021-08-02 16:10:31 +00:00
疯狂的狮子li
c813046594 update 日常校验 统一重构到 StringUtils 便于维护扩展 2021-08-02 19:28:41 +08:00
疯狂的狮子li
5740561cd3 update 更新文档链接 更明显 2021-08-02 15:08:04 +08:00
疯狂的狮子li
28073ef2fe update 适配新业务 接口返回值 2021-08-02 13:08:36 +08:00
疯狂的狮子li
c958217d19 update 修改 自动注入器 用户未登录异常拦截抛出警告 返回Null 2021-08-02 13:08:19 +08:00
疯狂的狮子li
f8ab5663ef update 日常字符串校验 统一重构到 StringUtils 便于维护扩展 2021-08-02 12:15:14 +08:00
疯狂的狮子li
cfdeada3fd Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-admin/src/main/resources/i18n/messages.properties
	ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
	ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
	ruoyi-common/src/main/java/com/ruoyi/common/filter/XssFilter.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/FilterConfig.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
	ruoyi-generator/src/main/resources/vm/java/controller.java.vm
	ruoyi-generator/src/main/resources/vm/java/mapper.java.vm
	ruoyi-generator/src/main/resources/vm/java/service.java.vm
	ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
	ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/controller/SysJobController.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
	ruoyi-ui/src/api/login.js
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/utils/zipdownload.js
	ruoyi-ui/src/views/index.vue
	ruoyi-ui/src/views/login.vue
	ruoyi-ui/src/views/system/user/index.vue
2021-08-02 11:21:09 +08:00
疯狂的狮子li
210b5af1c7 update 优化自动注入器 异常检查更完善 2021-08-02 09:39:35 +08:00
疯狂的狮子li
946242e8f1 add 增加 重复提交 配置属性类 2021-08-01 11:04:37 +08:00
疯狂的狮子li
1cb79223ff update feign-okhttp 11.0 => 11.2
update okhttp 3.19.4 => 4.9.1
update minio 8.2.0 => 8.3.0
2021-08-01 11:03:56 +08:00
RuoYi
68ae4df2dc 升级commons.io到最新版本v2.11.0 2021-07-31 17:52:06 +08:00
RuoYi
de33e6ecc8 优化代码生成模板 2021-07-30 22:18:20 +08:00
RuoYi
a1cc346aca 优化代码生成模板 2021-07-30 21:50:47 +08:00
RuoYi
5397e345ca 新增是否开启用户注册功能 2021-07-30 21:23:35 +08:00
疯狂的狮子li
ba99070ca4 update 更新 防重提交拦截器 demo演示案例 2021-07-30 19:11:10 +08:00
疯狂的狮子li
c65acd6a28 update 重写 防重提交拦截器 支持全局与注解自定义 拦截时间配置配置 优化逻辑 2021-07-30 19:10:54 +08:00
疯狂的狮子li
a6bde3c5da update 降级 minio 依赖版本 2021-07-30 14:17:15 +08:00
疯狂的狮子li
39783f2b19 update 降级 minio 依赖版本 2021-07-30 14:14:21 +08:00
RuoYi
8ed7916b61 定时任务屏蔽http(s)远程调用 2021-07-30 11:28:46 +08:00
RuoYi
2de5cc52d1 启用父部门状态排除顶级节点 2021-07-30 11:28:04 +08:00
RuoYi
f6bc28000e 防止错误token导致的解析异常 2021-07-29 17:32:55 +08:00
疯狂的狮子li
90d2a7af03 update 更新 BigNumberSerializer 书写错误 2021-07-29 15:09:23 +08:00
疯狂的狮子li
d29a7adc9a update 更新 BigNumberSerializer 注释 2021-07-29 14:28:08 +08:00
疯狂的狮子li
0158fb437d update 更新 springboot 版本标签 2021-07-29 13:27:26 +08:00
疯狂的狮子li
2ef70303c5 Merge remote-tracking branch 'origin/dev' into dev 2021-07-29 13:11:42 +08:00
疯狂的狮子li
7e613f8da6 add 增加 jackson 超出 JS 最大数值自动转字符串(雪花id序列化)处理 2021-07-29 13:11:35 +08:00
疯狂的狮子Li
826bef86b2 update 更新软件架构图 2021-07-29 03:22:56 +00:00
疯狂的狮子li
0bfc4b433b update 优化 InsertAll 写法 2021-07-28 18:23:27 +08:00
RuoYi
6b5dd4d2be 优化XSS跨站脚本过滤 2021-07-28 16:04:59 +08:00
疯狂的狮子li
4da51c739b update service 统一使用 ServicePlusImpl 2021-07-28 14:39:20 +08:00
疯狂的狮子li
5dbf39beee update service 统一使用 ServicePlusImpl 2021-07-28 14:22:58 +08:00
RuoYi
e6becb9337 BLOB下载时清除URL对象引用 2021-07-28 13:13:28 +08:00
疯狂的狮子li
c191b24024 fix 修复 jdk8 与 jdk11 差异问题 2021-07-28 11:56:37 +08:00
疯狂的狮子li
13da3c71d8 fix 修复 jdk8 与 jdk11 差异问题 2021-07-28 11:56:12 +08:00
疯狂的狮子li
eb2be90e74 Merge remote-tracking branch 'origin/dev'
# Conflicts:
#	README.md
#	docker/docker-compose.yml
#	pom.xml
#	ruoyi-admin/pom.xml
#	ruoyi-admin/src/main/resources/application-dev.yml
#	ruoyi-admin/src/main/resources/application-prod.yml
#	ruoyi-common/pom.xml
#	ruoyi-demo/pom.xml
#	ruoyi-extend/pom.xml
#	ruoyi-extend/ruoyi-monitor-admin/pom.xml
#	ruoyi-framework/pom.xml
#	ruoyi-generator/pom.xml
#	ruoyi-generator/src/main/resources/vm/java/editBo.java.vm
#	ruoyi-generator/src/main/resources/vm/java/queryBo.java.vm
#	ruoyi-quartz/pom.xml
#	ruoyi-system/pom.xml
#	ruoyi-ui/package.json
#	ruoyi-ui/src/views/index.vue
2021-07-28 10:49:16 +08:00
疯狂的狮子li
973471c63b 发布 v2.6.0 2021-07-28 10:45:01 +08:00
疯狂的狮子li
79766fa8c2 update springboot 2.4.9 => 2.5.3
update hutool 5.7.5 => 5.7.6
update redisson 3.16.0 => 3.16.1
update datasource 3.4.0 => 3.4.1
2021-07-28 10:18:05 +08:00
RuoYi
8da55fb72a 添加新群号:101456076 2021-07-28 09:51:19 +08:00
疯狂的狮子li
6e75e88d71 update 同步ruoyi修正 2021-07-27 12:48:28 +08:00
疯狂的狮子li
06944747fd Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
	ruoyi-ui/package.json
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/system/user/profile/resetPwd.vue
	ruoyi-ui/src/views/tool/gen/index.vue
2021-07-27 12:42:41 +08:00
RuoYi
6a5c86541a 跳转路由高亮相对应的菜单栏 2021-07-27 11:54:20 +08:00
RuoYi
3803ac78e2 升级oshi到最新版本v5.8.0 2021-07-27 11:53:59 +08:00
疯狂的狮子li
51ae60820d Merge remote-tracking branch 'origin/dev' into dev 2021-07-27 11:07:40 +08:00
疯狂的狮子li
7cf6064200 update 重构 IServicePlus 功能 增加 BeanCopyUtils 深拷贝工具 2021-07-27 11:07:33 +08:00
Ricky
4095a1b6ee !275 fix Issue #I42GRW 任意账户越权漏洞
Merge pull request !275 from lagXkjy/master
2021-07-27 02:08:04 +00:00
江强
3347ca4d74 fix:Issue #I42GRW 修复任意账户越权漏洞 2021-07-27 09:33:12 +08:00
疯狂的狮子Li
2e1761423d fix 修复 DictData 删除逻辑问题 2021-07-26 12:05:15 +00:00
疯狂的狮子li
79eb42d3fe remove 删除 自带通用上传 接口 使用OSS模块替换 2021-07-26 14:36:59 +08:00
疯狂的狮子li
11c73d8877 udpate 补全缺失类 2021-07-26 13:57:11 +08:00
疯狂的狮子li
a5fbb1cd1f udpate 更新 新特性文档介绍 2021-07-26 13:24:21 +08:00
疯狂的狮子li
a3f1a00078 udpate 更新 OSS模块 适配新规范 2021-07-26 13:15:37 +08:00
疯狂的狮子li
280196c9e5 udpate 更新新功能演示案例 2021-07-26 13:13:46 +08:00
疯狂的狮子li
83cc800e97 update 多bo合并 使用分组校验 生成bo代码 2021-07-26 13:12:56 +08:00
疯狂的狮子li
da5a1293b3 update 更新自定义vo转化接口 2021-07-26 13:12:03 +08:00
疯狂的狮子li
48817519a9 update 修改页面文档与源码地址 2021-07-26 13:08:54 +08:00
疯狂的狮子li
b7f6f73342 fix 修复 授权角色空数据问题 2021-07-26 10:52:31 +08:00
RuoYi
9b1883988b 升级element-ui到最新版本2.15.3 2021-07-26 09:50:58 +08:00
RuoYi
49c8a007cc 修复定时任务日志执行状态显示 2021-07-26 09:50:33 +08:00
RuoYi
64f6d28441 角色&菜单新增字段属性提示信息 2021-07-25 20:08:55 +08:00
RuoYi
c26d87c677 内链设置meta信息 2021-07-25 20:05:18 +08:00
RuoYi
97ae0eb7c7 密码框新增显示切换密码图标 2021-07-25 19:13:56 +08:00
RuoYi
6c1cccd031 导入用户样式调整 2021-07-25 19:08:00 +08:00
RuoYi
856d1ceba8 顶部菜单样式调整 2021-07-25 19:06:57 +08:00
RuoYi
60673b3b64 去除默认分页合理化参数 2021-07-25 10:35:37 +08:00
RuoYi
0a516e3001 更多操作按钮添加权限控制 2021-07-25 10:20:52 +08:00
RuoYi
bb87f35797 富文本新增上传文件大小限制 2021-07-25 08:57:01 +08:00
疯狂的狮子li
90d4fd8cf1 update [重大改动] 重写VO转换 支持深拷贝 将VO类抽象到 ServicePlus 泛型处理 2021-07-24 21:19:05 +08:00
疯狂的狮子li
fbe9ad2392 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
	ruoyi-ui/src/router/index.js
2021-07-24 19:03:36 +08:00
疯狂的狮子li
b539939a90 update 更新druid配置 独立配置更明显 2021-07-24 18:29:12 +08:00
疯狂的狮子li
1dfc9bbaa6 fix 修复多数据源druid全局配置缩进错误 引起无效配置问题
(cherry picked from commit 334fe11584)
2021-07-24 18:25:51 +08:00
疯狂的狮子li
334fe11584 fix 修复多数据源druid全局配置缩进错误 引起无效配置问题 2021-07-24 18:23:22 +08:00
RuoYi
c43f9bc3c2 顶部菜单排除隐藏的默认路由 2021-07-24 18:20:55 +08:00
若依
46b43b1bd9 !269 code=401时request方法没有返回Promise.reject 修复
Merge pull request !269 from 严俊东/N/A
2021-07-24 02:48:01 +00:00
疯狂的狮子li
c92ae6a9d2 update 更新除图片外显示URL文本 2021-07-23 19:50:08 +08:00
若依
8dbda47174 !268 修正方法名单词拼写错误
Merge pull request !268 from 稚屿/N/A
2021-07-23 11:34:30 +00:00
疯狂的狮子li
dd9340090b add OSS模块 增加预览图片开关 2021-07-23 19:14:37 +08:00
疯狂的狮子li
7114fc2720 update OSS模块 更新 阿里云 腾讯云 相关代码 重构部分代码结构 2021-07-23 18:37:39 +08:00
疯狂的狮子li
22fd00832d update 更新OSS模块 七牛云相关代码 2021-07-23 15:35:28 +08:00
疯狂的狮子li
2d17123b74 update springboot 2.4.8 => 2.4.9
update hutool 5.7.4 => 5.7.5
update minio 8.2.2 => 8.3.0
update docker plugin 1.2.0 => 1.2.2
2021-07-23 10:50:03 +08:00
疯狂的狮子li
bb67924233 update OSS下载文件名改为后端传输 2021-07-23 10:48:28 +08:00
疯狂的狮子li
1f2cf719da Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-ui/src/views/monitor/job/index.vue
2021-07-21 14:00:07 +08:00
疯狂的狮子li
85376e8d6e add 演示Demo增加自定义分页接口案例 2021-07-21 12:07:12 +08:00
疯狂的狮子li
ed197ce7ac update 完成OSS模块页面功能 2021-07-20 17:26:20 +08:00
严俊东
cdace51197 code=401时request方法没有返回Promise.reject 修复 2021-07-20 04:49:22 +00:00
疯狂的狮子li
a4c019ace2 update OSS接口增加通用contentType 2021-07-20 11:12:22 +08:00
稚屿
c24fc4282c 修正方法名单词拼写错误 2021-07-20 00:54:50 +00:00
疯狂的狮子li
eea8f33cf9 发布 v2.5.2 bug修复版
(cherry picked from commit b12bdd1f15)
2021-07-19 19:44:18 +08:00
疯狂的狮子li
0a128e454c update 编写 Minio 实现 调整OSS模块结构 2021-07-19 19:40:18 +08:00
疯狂的狮子li
b12bdd1f15 发布 v2.5.2 bug修复版 2021-07-19 18:56:46 +08:00
疯狂的狮子li
0bf40ba600 fix 回滚代码生成器 批处理优化(字段内容不一致, 不适合批处理) 2021-07-19 18:48:13 +08:00
疯狂的狮子li
7d4f60e89d fix 代码生成 queryType 重复勾选数据库无默认值问题 2021-07-19 18:48:11 +08:00
疯狂的狮子li
59006cb931 fix 修复接口单参数校验无效问题 2021-07-19 18:48:08 +08:00
疯狂的狮子li
acf40052c4 update 优化代码生成器注释格式 2021-07-19 18:48:00 +08:00
疯狂的狮子li
aad482a7e0 remove 移除无用配置 2021-07-19 18:47:55 +08:00
疯狂的狮子li
dc3a017301 fix 代码生成器 queryType >= <= 标识符错误问题 2021-07-19 18:47:48 +08:00
疯狂的狮子li
50b7421f28 remove 删除无用文档与脚本 2021-07-19 18:47:44 +08:00
Nguyendream
61daaa3506 fix 未完全解决的代码生成字典问题 2021-07-19 18:45:18 +08:00
疯狂的狮子li
5b42f87ec4 update 修复 thread-pool: enabled 配置不生效问题 2021-07-19 18:45:17 +08:00
疯狂的狮子li
3aaf4e2384 fix 回滚代码生成器 批处理优化(字段内容不一致, 不适合批处理) 2021-07-19 14:18:38 +08:00
疯狂的狮子li
1891dbc566 fix 代码生成 queryType 重复勾选数据库无默认值问题 2021-07-19 10:04:56 +08:00
疯狂的狮子li
00b9043915 add 增加 OSS 模块业务代码 2021-07-18 20:27:37 +08:00
疯狂的狮子li
fdd8c65b36 fix 修复接口单参数校验无效问题 2021-07-18 19:53:16 +08:00
疯狂的狮子li
7cffafcdaa update 增加OSS模块service自动激活 2021-07-18 19:29:33 +08:00
疯狂的狮子li
f847f67982 update 更新OSS配置类 使用内部类结构 2021-07-18 18:41:47 +08:00
疯狂的狮子li
4b921f5e72 remove 移除无用配置 2021-07-18 18:22:55 +08:00
疯狂的狮子li
089e288a6e update 使用 策略+工厂 重写OSS模块 2021-07-18 18:20:21 +08:00
疯狂的狮子li
d642c08c2e update 优化代码生成器注释格式 2021-07-18 18:19:16 +08:00
疯狂的狮子li
7e90d84598 add 增加 OSS 对象存储模块 相关代码(未完成) 2021-07-17 20:44:27 +08:00
疯狂的狮子li
d7fde6fe0d fix 代码生成器 queryType >= <= 标识符错误问题 2021-07-17 18:07:08 +08:00
RuoYi
b616a2f2e7 定时任务新增更多操作 2021-07-15 17:35:33 +08:00
疯狂的狮子li
dfebbfc331 remove 删除无用文档与脚本 2021-07-14 14:47:48 +08:00
疯狂的狮子Li
a42acb03ab !70 fix 未完全解决的代码生成字典问题
Merge pull request !70 from Nguyendream/N/A
2021-07-14 06:43:08 +00:00
Nguyendream
1031ba44b7 fix 未完全解决的代码生成字典问题 2021-07-14 06:38:56 +00:00
疯狂的狮子li
28fa991fc2 update 修复 thread-pool: enabled 配置不生效问题 2021-07-14 10:43:33 +08:00
RuoYi
60abdf1dbc 升级oshi到最新版本v5.7.5 2021-07-14 09:53:26 +08:00
疯狂的狮子Li
83905db717 !69 同步dev分支
Merge pull request !69 from 疯狂的狮子Li/dev
2021-07-13 05:50:21 +00:00
疯狂的狮子li
55546dfc80 发布 v2.5.1 针对 v2.5.0 版本新特性bug修复 2021-07-13 13:49:47 +08:00
疯狂的狮子li
a412b6b03a update 验证码开关 转移到系统配置内 2021-07-13 13:38:53 +08:00
疯狂的狮子li
fd5414f82e Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
	ruoyi-ui/src/components/ImageUpload/index.vue
	ruoyi-ui/src/views/login.vue
	sql/ry_20210713.sql
2021-07-13 13:34:10 +08:00
疯狂的狮子li
79965e30af fix 合并 pr !68 业务集群部署与文件上传的问题 2021-07-13 13:20:08 +08:00
疯狂的狮子li
5c8de41b32 fix 修复 docker业务集群部署与文件上传的问题 2021-07-13 13:12:32 +08:00
疯狂的狮子li
6bf38a806c fix 修复 docker业务集群部署与文件上传的问题 2021-07-13 13:11:37 +08:00
疯狂的狮子li
15c45eae11 fix 修复代码生成同步表结构id冲突问题 2021-07-13 13:08:47 +08:00
疯狂的狮子li
45b9acd57b fix 修复代码生成选择字典 无法取消问题 2021-07-13 11:32:02 +08:00
疯狂的狮子li
3b765f3ac9 fix 修复代码生成字典为null问题 2021-07-13 11:24:12 +08:00
RuoYi
7b894da43c 参数管理支持配置验证码开关 2021-07-13 10:30:40 +08:00
RuoYi
c8b66f9b04 删除富文本video事件 2021-07-13 10:28:55 +08:00
若依
25d9edd5c9 !259 图片上传 - 多图时无法删除相应图片修复
Merge pull request !259 from 严俊东/N/A
2021-07-13 02:26:10 +00:00
疯狂的狮子li
fdad98b321 Merge remote-tracking branch 'origin/dev' into dev 2021-07-12 14:30:05 +08:00
疯狂的狮子li
8ddd71a818 update 使用hutool重构 判断是否url 2021-07-12 14:29:49 +08:00
疯狂的狮子Li
5632278688 !67 同步dev分支
Merge pull request !67 from 疯狂的狮子Li/dev
2021-07-12 03:39:43 +00:00
疯狂的狮子Li
1cbe4c0d88 Merge branch 'master' of gitee.com:JavaLionLi/RuoYi-Vue-Plus into dev 2021-07-12 03:39:26 +00:00
严俊东
77a21d098f 图片上传 - 多图时无法删除相应图片修复 2021-07-12 03:01:50 +00:00
疯狂的狮子li
cd34c87afa fix 修复升级合并错误 2021-07-12 11:00:12 +08:00
疯狂的狮子li
d30ba9d52e 发布 v2.5.0 2021-07-12 09:58:32 +08:00
疯狂的狮子li
e085ec9418 发布 v2.5.0 2021-07-12 09:53:46 +08:00
疯狂的狮子li
aac20ca789 update hutool 5.7.4 2021-07-12 09:46:05 +08:00
疯狂的狮子li
599016a63a update 同步ruoyi修正差异 2021-07-12 09:44:46 +08:00
疯狂的狮子li
8231953e29 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-admin/pom.xml
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-common/pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java
	ruoyi-framework/pom.xml
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
	ruoyi-generator/pom.xml
	ruoyi-quartz/pom.xml
	ruoyi-system/pom.xml
	ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
	ruoyi-ui/package.json
	ruoyi-ui/src/components/HeaderSearch/index.vue
	ruoyi-ui/src/layout/components/AppMain.vue
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/store/modules/permission.js
	ruoyi-ui/src/views/index.vue
2021-07-12 09:37:23 +08:00
RuoYi
170cfb356c 若依 3.6.0 2021-07-12 08:42:11 +08:00
RuoYi
5879c2484a 菜单路由配置支持内链访问 2021-07-11 16:31:10 +08:00
RuoYi
c02dad2ca3 默认访问首页新增提示语 2021-07-11 15:28:11 +08:00
RuoYi
1bfa14e3c6 富文本默认上传返回url类型 2021-07-10 12:17:32 +08:00
疯狂的狮子li
ea506de048 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
	ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
	ruoyi-ui/src/directive/index.js
	ruoyi-ui/src/directive/permission/hasPermi.js
	ruoyi-ui/src/directive/permission/hasRole.js
	ruoyi-ui/src/main.js
	ruoyi-ui/src/views/system/notice/index.vue
2021-07-09 18:07:32 +08:00
疯狂的狮子li
d6bb7ab832 update 更新 admin client 与 actuator 配置到 环境配置文件 2021-07-09 17:41:45 +08:00
疯狂的狮子li
43486f2f41 update 配置 monitor-admin docker编排 2021-07-09 17:15:09 +08:00
RuoYi
5dec58e7f5 自定义弹窗拖拽指令 2021-07-09 17:12:29 +08:00
RuoYi
8321f92d2c 全局注册通用组件 2021-07-09 17:09:57 +08:00
RuoYi
da1095e298 授权用户添加访问权限 2021-07-09 17:08:30 +08:00
疯狂的狮子li
1c11d7ccc1 update 转移 springboot-admin 到扩展模块项目 2021-07-09 15:30:40 +08:00
疯狂的狮子li
33ae270b0d update 更新 nginx https 配置 2021-07-09 14:14:16 +08:00
疯狂的狮子li
4c500eb50c update 更新 部署文档 2021-07-08 21:01:57 +08:00
疯狂的狮子li
dcad0cdf92 update 更新 业务模块 集群配置 2021-07-08 20:34:24 +08:00
疯狂的狮子li
bc5898b8cd update 更新 nginx 配置文件 2021-07-08 20:34:12 +08:00
疯狂的狮子li
18705b4f26 update 更新文档 Docker 文档说明 2021-07-08 20:33:49 +08:00
疯狂的狮子li
e169366638 update 更新文档 PR 说明 2021-07-08 20:18:27 +08:00
疯狂的狮子li
ae8c0b6c43 update 更新sql文件项目官网 2021-07-08 20:06:19 +08:00
疯狂的狮子li
6a8e281b66 update 更新docker脚本配置 2021-07-08 20:06:06 +08:00
疯狂的狮子li
821f54f1ab update 富文本接口返回值修正 2021-07-08 20:05:37 +08:00
疯狂的狮子li
e30079d656 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-ui/src/components/FileUpload/index.vue
	ruoyi-ui/src/components/ImageUpload/index.vue
2021-07-08 19:58:28 +08:00
RuoYi
f56da498ab ImageUpload组件支持多图片上传 2021-07-08 19:17:09 +08:00
疯狂的狮子li
6905522b91 update 优化 docker 配置 2021-07-08 16:47:34 +08:00
RuoYi
e259093e01 文件上传组件添加数量限制属性 2021-07-08 15:49:04 +08:00
RuoYi
e963a86b15 富文本编辑组件添加类型属性 2021-07-08 15:48:11 +08:00
RuoYi
e447fb806b FileUpload组件支持多文件上传 2021-07-08 12:36:02 +08:00
疯狂的狮子li
d0bbcc4e77 update 更新 docker ip配置 2021-07-06 15:30:25 +08:00
疯狂的狮子li
282f3b0632 add 增加 docker 配置 2021-07-06 14:06:25 +08:00
疯狂的狮子li
80e74eb91c add 增加 docker 编排 与 shell 脚本 2021-07-06 13:48:06 +08:00
疯狂的狮子li
61e2a60438 update 同步 ruoyi 对新业务进行修正 2021-07-06 13:19:53 +08:00
疯狂的狮子li
59114a14ff update 同步 ruoyi 对新业务进行修正 2021-07-06 13:05:47 +08:00
疯狂的狮子li
aa14085746 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
	ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
	ruoyi-ui/src/api/system/role.js
	ruoyi-ui/src/api/system/user.js
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
2021-07-06 12:01:05 +08:00
疯狂的狮子li
9ac87fd66f update 优化中英文语言配置 2021-07-06 11:39:14 +08:00
疯狂的狮子li
54688ce7c7 update 优化批量插入执行器 增加主键类型枚举对应生成策略 2021-07-05 18:17:49 +08:00
疯狂的狮子li
2fc3dcfc74 update 更改演示案例 2021-07-05 16:35:15 +08:00
RuoYi
90c41d498c 角色管理新增分配用户功能 2021-07-05 14:54:09 +08:00
RuoYi
ce6bea4ba0 限制超级管理员不允许操作 2021-07-05 09:57:15 +08:00
疯狂的狮子Li
769e298e0a !66 修复 按钮loading卡死的问题
Merge pull request !66 from Nguyendream/N/A
2021-07-05 01:31:49 +00:00
Nguyendream
dfb4d9f049 修复 按钮loading卡死的问题 2021-07-05 00:39:29 +00:00
疯狂的狮子li
2704e921c8 update 增加 feign 熔断 自定义结构体解析方法 与 demo 注释 2021-07-04 19:18:06 +08:00
疯狂的狮子li
99051916eb update 升级 springboot 2.4.8 2021-07-04 13:24:19 +08:00
疯狂的狮子li
de194880ae update 关闭默认二级缓存 推荐使用 spring-cache 注解手动缓存 2021-07-04 02:21:04 +08:00
疯狂的狮子li
c26073afeb update 优化缓存配置 增加spring-cache演示案例 2021-07-04 02:13:24 +08:00
疯狂的狮子li
b9128b6074 update 依赖升级 2021-07-03 23:52:39 +08:00
疯狂的狮子li
d6ca9e548d Merge remote-tracking branch 'origin/dev' into dev 2021-07-02 09:39:14 +08:00
疯狂的狮子li
2d8f380b71 update 优化 增加MP注入异常拦截 2021-07-02 09:39:07 +08:00
RuoYi
9c7901f526 用户管理新增分配角色功能 2021-07-01 18:01:36 +08:00
sxq
945b6c1e59 redis获取map属性bug修复。 2021-07-01 14:03:29 +08:00
疯狂的狮子li
5647cf7a7e update 规范maven写法 2021-07-01 10:42:24 +08:00
疯狂的狮子li
d4be4df871 update 优化代码生成器 批量导入 2021-06-30 13:37:11 +08:00
疯狂的狮子li
d92560b64b fix 修复 hutool StrUtil.containsAny 传入参数后返回结果不一致问题 2021-06-29 15:22:45 +08:00
疯狂的狮子Li
4952f7dcdb !61 update ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java.
Merge pull request !61 from 陆继保/N/A
2021-06-29 07:17:35 +00:00
陆继保
200170e5f3 update ruoyi-common/src/main/java/com/ruoyi/common/utils/DictUtils.java. 2021-06-29 07:04:25 +00:00
疯狂的狮子li
10a6a9192d update 更新 MP 详细日志配置 2021-06-29 09:57:45 +08:00
疯狂的狮子li
99de90a015 update 更新配置注释(规范使用方法) 2021-06-28 19:23:02 +08:00
疯狂的狮子li
cb54546259 Merge remote-tracking branch 'origin/dev' into dev 2021-06-28 13:54:53 +08:00
疯狂的狮子li
efd1fc017b Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java
	ruoyi-ui/vue.config.js
2021-06-28 13:52:19 +08:00
RuoYi
04f5a93aa8 升级pagehelper到最新版1.3.1 2021-06-25 17:25:49 +08:00
若依
751ca90690 !251 修复日志列表取消字段排序时的报错问题
Merge pull request !251 from 稚屿/N/A
2021-06-25 09:23:45 +00:00
疯狂的狮子Li
b73a67455d update README.md. 2021-06-25 08:01:54 +00:00
疯狂的狮子Li
b51b8b1b41 update README.md. 2021-06-25 08:00:38 +00:00
疯狂的狮子li
4d7ef44aee Merge branch 'master' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus 2021-06-24 17:14:15 +08:00
疯狂的狮子li
3148781045 update 更新文档 提问四部曲 2021-06-24 17:13:19 +08:00
疯狂的狮子li
96507d3709 update 更新文档 提问四部曲 2021-06-24 17:12:48 +08:00
疯狂的狮子li
5ddfd5bf11 update 更新文档 提问四部曲 2021-06-24 17:10:38 +08:00
朱杰
f6dd60c051 update 修改readme加入提问四部曲 2021-06-24 17:10:37 +08:00
疯狂的狮子li
beef02a4b6 update 更新文档 提问四部曲 2021-06-24 17:10:03 +08:00
朱杰
676ecd9052 update 修改readme加入提问四部曲 2021-06-24 17:06:49 +08:00
疯狂的狮子li
4962ec7589 Merge branch 'master' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus 2021-06-24 15:46:01 +08:00
疯狂的狮子li
cc2fbc7b89 fix 相对路径下载问题 2021-06-24 15:42:51 +08:00
疯狂的狮子li
66f453452e fix 相对路径下载问题 2021-06-24 15:41:16 +08:00
疯狂的狮子li
24c7ff7959 Merge branch 'master' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus 2021-06-24 09:54:13 +08:00
疯狂的狮子li
dfd7f594b5 update 更新文档版本 2021-06-24 09:39:33 +08:00
疯狂的狮子li
9b76b5ac98 update 更新文档版本 2021-06-24 09:39:14 +08:00
疯狂的狮子Li
9edab3dc55 !58 同步dev分支
Merge pull request !58 from 疯狂的狮子Li/dev
2021-06-24 01:36:00 +00:00
疯狂的狮子li
3eee19c9a2 Merge remote-tracking branch 'origin/dev' into dev 2021-06-24 09:34:16 +08:00
疯狂的狮子li
8195e948a1 发布 v2.4.0 2021-06-24 09:34:06 +08:00
稚屿
1dfeae6a03 修复日志列表取消字段排序时的报错问题 2021-06-24 00:27:37 +00:00
疯狂的狮子li
ae43edeb4f update 更新 初始化项目 文档地址 2021-06-23 21:24:13 +08:00
疯狂的狮子li
1488a09b8e Merge branch 'dev' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus 2021-06-23 18:08:17 +08:00
疯狂的狮子li
152a386ac1 add 增加 Swagger3 用法示例 2021-06-23 17:01:30 +08:00
疯狂的狮子li
c4712bcb52 Merge branch 'dev' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus 2021-06-23 15:31:22 +08:00
疯狂的狮子li
4545beab51 update 更新文档 增加 GitHub 地址 与其他小标签 2021-06-23 15:30:26 +08:00
疯狂的狮子li
f48e807cee remove 删除无用测试类 2021-06-23 09:51:44 +08:00
疯狂的狮子li
c12dc71ece Merge remote-tracking branch 'origin/dev'
# Conflicts:
#	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/RedisLockAspect.java
2021-06-23 09:44:04 +08:00
疯狂的狮子li
ce3562b3ea Merge remote-tracking branch 'origin/dev' 2021-06-23 09:43:31 +08:00
疯狂的狮子li
d05458aa3a Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-ui/src/main.js
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/system/user/profile/userInfo.vue
2021-06-23 09:38:53 +08:00
RuoYi
1ed60c79c0 用户信息长度校验限制 2021-06-22 20:45:19 +08:00
RuoYi
aee1e53140 全局挂载字典标签组件 2021-06-22 20:44:40 +08:00
疯狂的狮子li
c822e2f6cc Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-ui/src/views/monitor/druid/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/tool/swagger/index.vue
2021-06-22 16:56:38 +08:00
疯狂的狮子li
f098222a43 update 集成 Lock4j 分布式锁 2021-06-22 16:45:37 +08:00
sxq
715abe1140 删除redislockmanager 2021-06-22 16:31:41 +08:00
sxq
645c926bbd 集成lock4j框架,删除redisson锁,使用lock4j的锁。 2021-06-22 16:06:02 +08:00
sxq
56eba9cded Merge branch 'dev' of D:\idea\RuoYi-Vue-Plus with conflicts. 2021-06-22 15:35:52 +08:00
Ricky
253e2b2de1 增加字典标签样式回显 2021-06-22 14:24:26 +08:00
疯狂的狮子li
1790c81603 fix 修复地址ip地址特殊回环问题 2021-06-22 14:12:51 +08:00
Ricky
b1413f021e 增加字典标签样式回显 2021-06-22 14:04:14 +08:00
疯狂的狮子li
fef57cb312 update 更新文档说明 2021-06-22 14:01:35 +08:00
疯狂的狮子li
a129fafb69 update 更新多数据源与缓存 注意事项 2021-06-22 13:57:36 +08:00
疯狂的狮子li
81897d0b04 update 更新多数据源演示案例 2021-06-22 13:43:20 +08:00
疯狂的狮子li
40bba563d6 update 优化多数据源aop顺序问题 2021-06-22 13:43:05 +08:00
疯狂的狮子li
1caf76f64b update 更新多数据源文档介绍 2021-06-22 11:52:29 +08:00
疯狂的狮子li
8338913ac5 update 更新动态数据源 默认数据源配置 与文档链接 2021-06-22 11:38:33 +08:00
疯狂的狮子li
c950daf301 update 优化 多数据源集成 相关pr 2021-06-22 11:31:27 +08:00
dingzhongyuan
cf16e31632 多数据源替换成dynamic-datasource 2021-06-22 11:31:04 +08:00
疯狂的狮子li
f48d708e28 fix 修复 insertAll sql拼接无主键问题 2021-06-21 20:03:31 +08:00
疯狂的狮子li
f585992c6f Merge remote-tracking branch 'origin/dev' into dev 2021-06-21 19:41:11 +08:00
疯狂的狮子li
9c55b83dea fix 修复 insertAll sql拼接无主键问题 2021-06-21 17:53:18 +08:00
疯狂的狮子li
ff5edc44ed update 注释主子表选项 不推荐使用 2021-06-21 12:52:21 +08:00
疯狂的狮子li
dcd95d013f update springboot 2.3.11 => 2.4.7
update springboot-admin 2.3.1 => 2.4.1
update feign 2.2.6 => 3.0.3
update hutool 5.7.1 => 5.7.2
2021-06-21 12:43:23 +08:00
疯狂的狮子li
d507111008 update 更新 jackson 时区配置 2021-06-19 00:34:57 +08:00
疯狂的狮子li
3ff6339e29 add 增加测试批量新增演示案例 2021-06-18 15:32:55 +08:00
疯狂的狮子li
3cc028fa29 update 根据改动调整测试类 2021-06-18 15:32:23 +08:00
疯狂的狮子li
85ae3a9420 update 对相关代码改动 进行调整 2021-06-18 15:31:38 +08:00
疯狂的狮子li
46b67fef7a add 增加 ServicePlusImpl 自动以实现类 重写移除事务注解方法 防止多数据源失效 2021-06-18 15:28:43 +08:00
疯狂的狮子li
c98ab8fb51 add 增加 自定义 批量insert方法 2021-06-18 15:27:47 +08:00
疯狂的狮子li
281b6b6d2b update 调整 core mp 包结构 2021-06-18 15:25:37 +08:00
RuoYi
60c22b6a43 update ry.sh. 2021-06-17 21:29:00 +08:00
RuoYi
3f05ed6ffa 封装iframe组件 2021-06-17 20:17:42 +08:00
疯狂的狮子li
e87f2dda85 update 更新 redisson 文档说明 以免造成误解 2021-06-17 19:27:00 +08:00
疯狂的狮子li
44bbe8b307 update 同步更新 ruoyi 适配新功能 2021-06-17 19:22:49 +08:00
疯狂的狮子li
a8c1d02ee1 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
	ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
	ruoyi-ui/.env.development
	ruoyi-ui/.env.production
	ruoyi-ui/.env.staging
	ruoyi-ui/package.json
	ruoyi-ui/src/App.vue
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/components/Pagination/index.vue
	ruoyi-ui/src/layout/components/Settings/index.vue
	ruoyi-ui/src/layout/components/Sidebar/Logo.vue
	ruoyi-ui/src/main.js
	ruoyi-ui/src/permission.js
	ruoyi-ui/src/settings.js
	ruoyi-ui/src/store/modules/settings.js
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/vue.config.js
2021-06-17 18:15:34 +08:00
疯狂的狮子li
a2e4f747e0 update 优化 jdk11 依赖全部转移到选项配置 2021-06-17 13:48:00 +08:00
疯狂的狮子li
7dd18c75b0 update 更新 jackson 相关文档 2021-06-17 12:43:00 +08:00
RuoYi
090ad5323a 日志列表支持排序操作 2021-06-17 12:30:43 +08:00
疯狂的狮子li
47266f712a update 更新 JDK logo 2021-06-17 10:33:48 +08:00
疯狂的狮子li
0140965a30 update 优化 jdk11 相关 pr 2021-06-17 09:42:00 +08:00
CharlieJohn
8bda10c23c !54 fix 生成器生成的 service 和 serviceImpl 中 deleteWithValidByIds 参数字段类型错误
* fix 生成器生成的 service 和 serviceImpl 中 deleteWithValidByIds 参数字段类型错误
2021-06-17 09:30:52 +08:00
疯狂的狮子li
d10099d9e9 update 适配 jdk11 2021-06-16 23:46:26 +08:00
朱杰
ac3f9e5f33 【update】JDK11支持 2021-06-16 23:33:01 +08:00
疯狂的狮子li
0d9fb68a04 update 更新 自定义主键案例 2021-06-16 19:40:59 +08:00
疯狂的狮子li
c3636f1527 update 更新 feign demo 更清晰的用法 2021-06-16 19:24:44 +08:00
疯狂的狮子li
a0392865f4 update 更新 feign demo 更清晰的用法 2021-06-16 19:24:26 +08:00
疯狂的狮子li
9f856e9ec2 update 回滚 Mybatis-Plus 到 3.4.3 版本(3.4.3.1 官方代码有bug https://gitee.com/baomidou/mybatis-plus/issues/I3VS3L) 2021-06-16 18:44:06 +08:00
疯狂的狮子li
f9967cca4c fix 移除 Long 序列化为 String 配置 改为由用户自行添加注解 2021-06-16 17:41:48 +08:00
疯狂的狮子li
a1717eac6d update 升级 hutool 5.7.1 适配工具类 2021-06-16 15:39:19 +08:00
疯狂的狮子li
bb2ade75a8 update 升级 hutool 5.7.1 适配工具类 2021-06-16 15:38:44 +08:00
疯狂的狮子li
7bdce848e7 update 升级 hutool 5.7.1 适配工具类 2021-06-16 15:36:45 +08:00
疯狂的狮子li
feb7c85d57 update mybatis-plus 升级 3.4.3.1 fixbug 版本 2021-06-16 13:29:33 +08:00
疯狂的狮子li
2cdc12055d fix 修复 JsonUtils 参数为空报错 2021-06-16 13:15:18 +08:00
疯狂的狮子li
639816369a remove 移除无用swagger配置 2021-06-16 12:58:10 +08:00
RuoYi
3e90fd010d 升级commons.fileupload到最新版本v1.4 2021-06-16 09:53:00 +08:00
RuoYi
462862ba65 升级commons.io到最新版本v2.10.0 2021-06-16 09:52:38 +08:00
RuoYi
7601a72faf 升级element-ui到最新版本2.15.2 2021-06-15 10:26:19 +08:00
RuoYi
7ab14ff293 定时任务屏蔽rmi远程调用 2021-06-15 10:26:02 +08:00
疯狂的狮子li
d98faaffee update 移除 fastjson 增加 jackson 工具类 重写相关业务 2021-06-13 15:39:35 +08:00
疯狂的狮子li
c2cf7ba16a update 优化 jackson 序列化配置 2021-06-13 15:38:40 +08:00
疯狂的狮子li
5311937b69 update 增加 jackson 配置 默认序列化时间格式 2021-06-12 23:41:56 +08:00
疯狂的狮子li
a044519b21 update 移除 基础类 字段生成判断 2021-06-12 23:40:34 +08:00
疯狂的狮子li
8349e631d2 update 优化 异步工厂重写 使用 spring 异步处理 2021-06-12 20:14:50 +08:00
疯狂的狮子li
b3541e9758 update 优化 使用 hutool 替换 ruoyi 自带工具类 解决部分方法过期与高版本JDK不兼容问题 2021-06-12 20:13:35 +08:00
mingli
97a0c890bf update 增加MP自定义id 序列化兼容 2021-06-11 17:42:33 +08:00
RuoYi
200106df39 升级oshi到最新版本v5.7.4 2021-06-11 10:29:14 +08:00
疯狂的狮子li
83718c61cd 发布 v2.3.2 2021-06-11 09:29:21 +08:00
疯狂的狮子li
a51f7d52ed Merge remote-tracking branch 'origin/dev' into dev 2021-06-11 09:23:41 +08:00
疯狂的狮子li
bf3a88ff1a 发版 v2.3.2 2021-06-11 09:23:34 +08:00
RuoYi
ea66e20282 修复用户搜索分页变量错误 2021-06-10 22:36:22 +08:00
疯狂的狮子Li
346e80839f update spring-cache 与 MP二级缓存相关 2021-06-10 22:32:40 +08:00
RuoYi
a209b39552 分页组件新增pagerCount属性 2021-06-10 22:29:13 +08:00
疯狂的狮子li
24da85fea3 update MybatisPlus整合Redis二级缓存 2021-06-10 21:18:58 +08:00
疯狂的狮子li
57df2690da update spring-cache 整合 redisson 2021-06-10 20:23:15 +08:00
疯狂的狮子li
35f607f9a5 remove 删除无用注释 2021-06-10 18:23:59 +08:00
RuoYi
557672ba9f 系统布局配置支持动态标题开关 2021-06-10 18:05:27 +08:00
疯狂的狮子li
427430fc48 update 补全注释 更新文档 2021-06-10 17:11:44 +08:00
疯狂的狮子li
48d9fc10ea update 增加分页对象注释 2021-06-10 16:21:44 +08:00
疯狂的狮子li
c5c8afe147 update 还原错误提交 2021-06-10 15:44:14 +08:00
疯狂的狮子li
b348b766fc Merge remote-tracking branch 'origin/dev' into dev 2021-06-10 15:43:28 +08:00
疯狂的狮子li
b561f7d906 remove 移除无用配置文件 2021-06-10 15:43:20 +08:00
疯狂的狮子li
9d05d2bac5 remove 移除无用配置文件 2021-06-10 15:42:46 +08:00
RuoYi
a3116cd27d 优化部门父级启用状态 2021-06-10 15:34:38 +08:00
疯狂的狮子li
f6ccfe6ed3 update 独立 CountDownLatch 方法 2021-06-10 14:04:41 +08:00
疯狂的狮子li
1bf9dd1217 update 优化redis锁工具代码结构 2021-06-10 13:32:50 +08:00
疯狂的狮子li
524683eabd update swagger 升级为 3.0.0 使用 OAS_30 协议 2021-06-10 09:57:34 +08:00
疯狂的狮子li
2103731f10 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-admin/pom.xml
	ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/src/layout/components/Navbar.vue
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/online/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dept/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/system/notice/index.vue
	ruoyi-ui/src/views/system/post/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/tool/gen/index.vue
	ruoyi-ui/src/views/tool/swagger/index.vue
2021-06-10 09:44:56 +08:00
疯狂的狮子li
ceeac476ec update 优化 代码生成器 增加表单防重注解 2021-06-10 00:04:19 +08:00
疯狂的狮子li
a6ba7d9093 update 优化pr redis工具代码 2021-06-09 23:31:47 +08:00
sxq
f45b50a796 update redis锁工具类编写 2021-06-09 23:30:46 +08:00
RuoYi
2ace3257f9 升级swagger到最新版本v3.0.0 2021-06-09 20:07:36 +08:00
RuoYi
c16ee7fc2c 升级swagger到最新版本v3.0.0 2021-06-08 16:34:36 +08:00
RuoYi
fd33fe869d 修复导出角色数据范围翻译缺少仅本人 2021-06-08 16:27:24 +08:00
疯狂的狮子li
9a792e601e fix 修复相对路径上传异常问题 2021-06-04 18:12:09 +08:00
疯狂的狮子li
00d024ff86 fix 修复相对路径上传异常问题 2021-06-04 18:11:46 +08:00
疯狂的狮子li
428a6ed71b update 优化 锁切面代码 key到常量类 2021-06-04 16:49:33 +08:00
疯狂的狮子li
f087b37cb3 update 优化 锁切面代码 key到常量类 2021-06-04 16:46:28 +08:00
疯狂的狮子Li
2027dae30b !49 同步dev分支
Merge pull request !49 from 疯狂的狮子Li/dev
2021-06-04 16:12:43 +08:00
疯狂的狮子li
450c6759eb 发布 2.3.1 2021-06-04 16:11:17 +08:00
疯狂的狮子li
dcf125a08a update 优化 redis锁pr 代码 2021-06-04 16:09:43 +08:00
sxq
ad6386a618 redis分布式锁(基于注解形势)。 2021-06-04 15:00:56 +08:00
疯狂的狮子li
6fc141497a update 优化分页默认值 默认查全部 2021-06-04 10:48:35 +08:00
疯狂的狮子li
d674d934e7 fix 修复上传路径 win 打包编译为 win 路径, linux 报错问题 2021-06-04 09:46:28 +08:00
疯狂的狮子li
85bf5fbc9b fix 修复主键列表显示 重复生成bug 2021-06-03 17:33:48 +08:00
RuoYi
b7446f8d0f 富文本工具栏配置视频 2021-06-03 13:26:09 +08:00
RuoYi
19924cd184 修复关闭confirm提示框控制台报错问题 2021-06-03 13:24:29 +08:00
疯狂的狮子li
77a7cac830 同步 dev 2021-06-03 10:11:07 +08:00
疯狂的狮子li
01c34b837d Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-ui/src/views/system/menu/index.vue
2021-06-03 09:46:33 +08:00
疯狂的狮子li
5cc9b34132 update 更新文档 增加 star MIT IDEA 等小标签 2021-06-02 23:02:51 +08:00
疯狂的狮子li
a5975a489c update 更新文档 增加 star MIT IDEA 等小标签 2021-06-02 22:55:56 +08:00
疯狂的狮子li
edaf57148a update 更新开源协议软件名 2021-06-02 22:55:02 +08:00
RuoYi
85470a1549 修复表单构建选择下拉选择控制台报错问题 2021-06-02 20:43:34 +08:00
若依
2a604c0548 !237 同步菜单新增、修改界面“功能权限”maxlength为100(保持与数据库字段长度一致),避免因超过50后不能录入问题
Merge pull request !237 from 老李/origin
2021-06-02 20:40:09 +08:00
疯狂的狮子Li
2ab7c7feae !47 【优化】代码生成器新增、修改页面的按钮动作loading从页面loading到按钮loading
Merge pull request !47 from 狂盗一枝梅/kdyzm
2021-06-02 18:20:06 +08:00
kdyzm
6b789e2eb0 优化新增、修改页面的按钮动作loading从页面loading到按钮loading 2021-06-02 18:13:34 +08:00
疯狂的狮子li
329c95196e update 更新测试案例 2021-06-02 17:15:20 +08:00
疯狂的狮子Li
375a7f7b4c !45 【优化】为代码生成器生成的前端代码添加loading;删除方法回调函数变更为箭头表达式
Merge pull request !45 from 狂盗一枝梅/kdyzm
2021-06-02 17:10:40 +08:00
kdyzm
9590de2c19 优化树生成的代码生成:增加loading、修改删除按钮的回调函数为箭头函数 2021-06-02 17:08:00 +08:00
kdyzm
430addf520 【优化】为代码生成器生成的前端代码添加loading;删除方法回调函数变更为箭头表达式 2021-06-02 16:40:58 +08:00
sxq
0fe064b8a2 修复reddison不能批量删除的bug。 2021-06-02 15:14:04 +08:00
疯狂的狮子li
2ee2e4505a fix 修复配置文件书写错误 2021-06-02 14:28:40 +08:00
疯狂的狮子li
7c20d6e28c update 优化代码书写格式 使用工具类 2021-06-02 12:47:54 +08:00
疯狂的狮子li
a961fff69d Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/tool/TestController.java
2021-06-02 12:42:18 +08:00
RuoYi
b7f3c68eca 优化图片工具类读取文件 2021-06-02 11:45:40 +08:00
RuoYi
edd2981076 调整用户测试接口swagger注解 2021-06-02 11:45:30 +08:00
疯狂的狮子li
5c40c4b958 update 文档增加 Oracle 分支路径配置 2021-06-02 10:09:09 +08:00
疯狂的狮子li
a287599c8f update 增加redis空密码兼容性 2021-06-02 10:09:09 +08:00
疯狂的狮子li
0bc71e28a1 update 优化代码书写格式 去除警告 2021-06-02 10:09:08 +08:00
疯狂的狮子li
45fe77ce4a update 文档增加 Oracle 分支路径配置 2021-06-02 09:49:16 +08:00
疯狂的狮子li
a4edce5a93 Merge remote-tracking branch 'origin/dev' into dev 2021-06-02 09:41:19 +08:00
疯狂的狮子li
83ba79dca2 update 增加redis空密码兼容性 2021-06-02 09:41:12 +08:00
疯狂的狮子li
d1351503a8 update 优化代码书写格式 去除警告 2021-06-01 23:14:42 +08:00
疯狂的狮子li
d9dd76f2ae 发布 v2.3.0 2021-06-01 10:54:59 +08:00
疯狂的狮子li
54d97b53de 发布 v2.3.0 2021-06-01 10:54:23 +08:00
疯狂的狮子li
7437092765 Merge remote-tracking branch 'origin/master' 2021-06-01 10:34:09 +08:00
疯狂的狮子li
c90ca8c2a6 发布 v2.3.0 2021-06-01 10:33:57 +08:00
疯狂的狮子li
d815317d7c 发布 v2.3.0 2021-06-01 10:21:56 +08:00
疯狂的狮子li
7bbeea0b81 update 更新文档 增加 redisson 内容 2021-05-31 23:38:30 +08:00
疯狂的狮子li
99c4692a0d update 升级 luttuce 为 redisson 性能更强 工具更全 2021-05-31 23:21:14 +08:00
疯狂的狮子li
f3aaa7ea7a Merge remote-tracking branch 'origin/dev' into dev 2021-05-31 17:44:03 +08:00
疯狂的狮子Li
38c3c878e1 !44 修改批量接口,改用mybatis原生foreach优化性能
Merge pull request !44 from Yjoioooo/insert-optimization
2021-05-31 17:43:53 +08:00
朱杰
90063ad03c update 修改框架中批量接口,改为原生mybatis执行foreach,改善性能 2021-05-31 17:37:34 +08:00
朱杰
8ba346faa6 update 修改框架中批量接口,改为原生mybatis执行foreach,改善性能 2021-05-31 17:23:13 +08:00
疯狂的狮子li
079dc12fe1 update 优化 system 模块 删除性能 2021-05-31 16:55:26 +08:00
疯狂的狮子li
d7359122b4 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
	ry.sh
2021-05-31 13:21:29 +08:00
RuoYi
c105a63c8b 添加bat脚本执行应用 2021-05-31 12:16:27 +08:00
xx2yy
01fef0b9e1 同步菜单新增、修改界面“功能权限”maxlength为100(保持与数据库字段长度一致),避免因超过50后不能录入问题 2021-05-31 10:31:50 +08:00
疯狂的狮子li
7b7f098dee update 文档更新数据权限使用 2021-05-30 02:25:56 +08:00
疯狂的狮子li
a02aeb468e add 增加demo模块 树表演示案例(包含数据权限) 2021-05-30 02:25:14 +08:00
疯狂的狮子li
a3a682eeb1 add 增加demo模块 单表演示案例(包含数据权限) 2021-05-30 02:24:10 +08:00
疯狂的狮子li
456f31901c add 增加测试数据sql文件 2021-05-30 02:22:19 +08:00
疯狂的狮子li
6d5a0d8a7e update 完美修复 数据权限功能(支持单表多表过滤) 2021-05-30 02:20:21 +08:00
疯狂的狮子li
6192d42564 update 优化代码生成模板 2021-05-30 02:18:34 +08:00
疯狂的狮子li
8cc2aee13e fix 修复单表数据权限问题 2021-05-29 21:54:20 +08:00
疯狂的狮子li
0860934888 update 优化数据权限sql 解决MP apply注入附带 AND 语法问题 2021-05-29 21:52:15 +08:00
疯狂的狮子Li
d2b077af35 fix 修复数据权限编写错误 2021-05-29 21:48:56 +08:00
疯狂的狮子Li
4bca89f072 fix 修复数据权限编写错误 2021-05-29 21:48:26 +08:00
疯狂的狮子li
fcfc5c85c7 update 还原数据权限修改 2021-05-29 19:51:08 +08:00
疯狂的狮子li
06513446a0 update 还原数据权限修改 2021-05-29 19:44:33 +08:00
疯狂的狮子li
2d53896f92 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
#	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
2021-05-29 19:17:58 +08:00
疯狂的狮子li
e523764b0f 发布 2.2.1 2021-05-29 19:14:45 +08:00
疯狂的狮子li
8e7d9e1bc7 Merge remote-tracking branch 'origin/master' 2021-05-29 19:03:51 +08:00
疯狂的狮子li
38d2a97582 update 优化参数&字典缓存操作 2021-05-29 19:03:31 +08:00
疯狂的狮子li
01d2b6ded9 update 优化dataScope参数防止注入 2021-05-29 19:03:11 +08:00
疯狂的狮子li
080770a493 update 文档增加演示图例 2021-05-29 19:03:04 +08:00
疯狂的狮子li
3aaa219d5e fix 修复sql符号错误 2021-05-29 19:03:03 +08:00
疯狂的狮子li
df8a6bbaa2 remove 删除提交错误文件 2021-05-29 19:03:02 +08:00
疯狂的狮子li
08d82bb12f 配置文件错误 2021-05-29 19:03:01 +08:00
疯狂的狮子li
57e071fe6b 发布 2.2.1 2021-05-29 18:57:56 +08:00
疯狂的狮子li
8d761fa60c update 优化数据权限sql 解决MP apply注入附带 AND 语法问题 2021-05-29 18:54:35 +08:00
疯狂的狮子li
b7bd67b4cb update 优化数据权限sql 解决MP apply注入附带 AND 语法问题 2021-05-29 18:41:32 +08:00
疯狂的狮子li
ead1136e31 add 增加 security 权限框架 @Async 异步注解配置 2021-05-28 14:24:45 +08:00
疯狂的狮子li
3d54400163 update 增加修改包名文档 2021-05-28 11:08:51 +08:00
疯狂的狮子li
7779cbca4d update 优化参数&字典缓存操作 2021-05-28 10:30:11 +08:00
疯狂的狮子li
8d6c9e116d Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
2021-05-28 10:07:48 +08:00
疯狂的狮子li
d0b2166525 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysConfigController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictTypeController.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictDataService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDictTypeService.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictDataServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
	ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
	ruoyi-ui/src/api/system/config.js
	ruoyi-ui/src/api/system/dict/type.js
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dict/index.vue
2021-05-28 10:07:15 +08:00
疯狂的狮子li
b4f9d3a8f2 update 优化dataScope参数防止注入 2021-05-27 22:06:36 +08:00
RuoYi
af9cfb40a4 优化参数&字典缓存操作 2021-05-27 17:38:44 +08:00
RuoYi
6fa3bfe051 修复两处存在SQL注入漏洞问题 2021-05-27 17:38:27 +08:00
疯狂的狮子li
454a07b775 update 文档增加演示图例 2021-05-26 16:45:17 +08:00
疯狂的狮子li
8a6bc41938 update 文档增加演示图例 2021-05-26 16:44:59 +08:00
疯狂的狮子li
f793ee395d fix 修复sql符号错误 2021-05-26 13:00:48 +08:00
疯狂的狮子li
d2f0ea6fa0 fix 修复sql符号错误 2021-05-26 09:23:56 +08:00
疯狂的狮子li
c94756f8a2 remove 删除提交错误文件 2021-05-25 14:33:00 +08:00
疯狂的狮子li
a42c1e4711 remove 删除提交错误文件 2021-05-25 14:32:41 +08:00
疯狂的狮子li
25264faf37 配置文件错误 2021-05-25 14:28:58 +08:00
疯狂的狮子li
380b4e5f3a 配置文件错误 2021-05-25 14:28:38 +08:00
疯狂的狮子li
9bd78a8c22 !41 发布 v2.2.0
Merge pull request !41 from 疯狂的狮子li/dev
2021-05-25 14:18:21 +08:00
疯狂的狮子li
a570589dcc 发布 v2.2.0 2021-05-25 14:11:32 +08:00
疯狂的狮子li
2885ced2c7 add 增加验证码开关 2021-05-25 14:02:50 +08:00
朱杰
5dc873209e add 增加验证码开关 2021-05-25 14:02:34 +08:00
疯狂的狮子li
3131b7ea9d fix redis反序列化异常问题 2021-05-25 13:40:18 +08:00
疯狂的狮子li
ca903ebd1f update 更新捐献二维码 2021-05-25 10:32:19 +08:00
疯狂的狮子li
a2ca46004b update 更新捐献码 2021-05-25 10:17:43 +08:00
疯狂的狮子li
5795958a18 update 同步升级 ruoyi-vue 3.5.0 2021-05-25 10:14:18 +08:00
疯狂的狮子li
6c195af2a3 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-admin/pom.xml
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-common/pom.xml
	ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/ExceptionUtil.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/uuid/IdUtils.java
	ruoyi-framework/pom.xml
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
	ruoyi-generator/pom.xml
	ruoyi-generator/src/main/resources/vm/java/mapper.java.vm
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-quartz/pom.xml
	ruoyi-quartz/src/main/java/com/ruoyi/quartz/domain/SysJob.java
	ruoyi-system/pom.xml
	ruoyi-ui/package.json
	ruoyi-ui/public/index.html
	ruoyi-ui/src/views/index.vue
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/notice/index.vue
	ruoyi-ui/src/views/system/post/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
2021-05-25 10:00:36 +08:00
RuoYi
5e64a93d11 若依 3.5.0 2021-05-25 09:37:55 +08:00
疯狂的狮子li
caa81d1f4d Merge remote-tracking branch 'origin/dev' into dev 2021-05-24 16:12:46 +08:00
疯狂的狮子li
5f584e683a update redis序列化修改为使用jackson 2021-05-24 16:12:40 +08:00
RuoYi
4aabf5d8be Redis设置HashKey序列化 2021-05-24 15:10:55 +08:00
RuoYi
cf6254a8d5 用户登录后记录最后登录IP&时间 2021-05-24 14:21:29 +08:00
RuoYi
883cff5de9 新增IE浏览器版本过低提示页面 2021-05-24 14:15:41 +08:00
RuoYi
7e79c4f249 生成vue模板导出按钮点击后添加遮罩 2021-05-24 11:34:03 +08:00
若依
504638eb41 !234 【轻量级 PR】:删去两处冗余代码
Merge pull request !234 from xivLi/master
2021-05-24 11:30:21 +08:00
RuoYi
2adac4a899 升级fastjson到最新版1.2.76 2021-05-24 11:25:17 +08:00
RuoYi
56a943bf48 升级druid到最新版本v1.2.6 2021-05-24 11:24:54 +08:00
RuoYi
77ebca264a 修复请求形参未传值记录日志异常问题 2021-05-23 19:22:30 +08:00
RuoYi
7b94ae3a9a xss校验json条件优化 2021-05-23 19:20:36 +08:00
若依
bd1edc6dcc !233 修正方法名单词拼写错误
Merge pull request !233 from lyqwer/N/A
2021-05-23 17:15:18 +08:00
若依
09d166e97d !231 修正注释
Merge pull request !231 from 刘立伟/N/A
2021-05-23 17:14:52 +08:00
疯狂的狮子li
a272ea07a9 !38 修改bo代码生成器,修改无法更新代码生成器是否必填为否问题
Merge pull request !38 from Yjoioooo/master
2021-05-22 23:40:26 +08:00
朱杰
69dd3ab639 update 修改bo加入判断是否设置必填再加载必填注解 2021-05-22 23:30:11 +08:00
朱杰
798ffd9065 fix 修复代码生成器中表字段取消必填无法更新问题 2021-05-22 23:29:15 +08:00
xivLi
f3e5d908d6 quartz模块下 domain包中的 SysJob类不需要实现Serializable接口 2021-05-22 16:05:12 +08:00
xivLi
9651a7d7fc 删去utils.uuid下 IdUtils类中 多余的import(同包下的UUID类) 2021-05-22 15:52:19 +08:00
疯狂的狮子li
1d38d51ac1 发布 2.1.2 2021-05-21 17:58:04 +08:00
疯狂的狮子li
f80b8f0d42 update springboot 升级 2.3.11
update mybatis-plus 升级 3.4.3 分页Plus对象适配更新
2021-05-21 17:58:03 +08:00
疯狂的狮子li
d0dbe49bfd update 增加请求前缀 2021-05-21 17:58:02 +08:00
疯狂的狮子li
39a0e05f87 update 请求响应对象 与 分页对象 结构修改 适配接口文档配置 2021-05-21 17:58:01 +08:00
疯狂的狮子li
34e7f20f24 update 验证码生成更新为无符号整数计算 2021-05-21 17:58:01 +08:00
疯狂的狮子li
dc7eeaa45d 发布 2.1.2 2021-05-21 17:57:13 +08:00
lyqwer
b2914cbcb1 修正方法名单词拼写错误 2021-05-21 17:24:48 +08:00
疯狂的狮子li
97a237bbdc update springboot 升级 2.3.11
update mybatis-plus 升级 3.4.3 分页Plus对象适配更新
2021-05-21 11:50:47 +08:00
疯狂的狮子li
3d25dfbebe update 增加请求前缀 2021-05-20 17:00:18 +08:00
疯狂的狮子li
7076deb2b6 update 请求响应对象 与 分页对象 结构修改 适配接口文档配置 2021-05-20 13:23:12 +08:00
疯狂的狮子li
db18050b86 update 验证码生成更新为无符号整数计算 2021-05-19 22:57:34 +08:00
疯狂的狮子li
8c744e13bc 发布 v2.1.1 2021-05-18 11:38:18 +08:00
疯狂的狮子li
eb12d7bd73 fix 修复swagger开关无法控制关闭问题 2021-05-18 11:38:17 +08:00
疯狂的狮子li
5e32b5f0bf update 配置统一提取为 properties 配置类 2021-05-18 11:38:16 +08:00
疯狂的狮子li
0fc1f4e10e update admin 实时监控日志 改为保留一天 2021-05-18 11:38:16 +08:00
疯狂的狮子li
3b79eff2f1 fix maven install 异常 2021-05-18 11:38:15 +08:00
疯狂的狮子li
92a54a5320 update 删除过期方法 2021-05-18 11:38:14 +08:00
疯狂的狮子li
65ca0f2554 update 修正更新说明错误 2021-05-18 11:38:14 +08:00
疯狂的狮子li
72de8f57a7 发布 v2.1.1 2021-05-18 11:37:24 +08:00
刘立伟
d0a4d6b111 修正注释 2021-05-18 10:21:48 +08:00
疯狂的狮子li
c4eb641d9c fix 修复swagger开关无法控制关闭问题 2021-05-17 16:36:07 +08:00
RuoYi
b431703262 导出按钮点击之后添加遮罩 2021-05-17 15:37:58 +08:00
疯狂的狮子li
2ebcffb22e update 配置统一提取为 properties 配置类 2021-05-17 13:39:59 +08:00
疯狂的狮子li
89fa1dff09 update admin 实时监控日志 改为保留一天 2021-05-16 10:42:47 +08:00
疯狂的狮子li
5bc6057050 fix maven install 异常 2021-05-16 10:29:13 +08:00
疯狂的狮子li
87164d574e update 删除过期方法 2021-05-16 09:25:19 +08:00
疯狂的狮子li
b366f8b053 update 修正更新说明错误 2021-05-15 14:55:21 +08:00
疯狂的狮子li
be6a9ba72c 发布 v2.1.0 2021-05-15 14:34:57 +08:00
疯狂的狮子li
3e08a8e1c1 update 通用Service接口 增加自定义vo转换函数 2021-05-15 14:34:56 +08:00
疯狂的狮子li
3c57f468c6 update swagger升级3.0.2 2021-05-15 14:34:55 +08:00
疯狂的狮子li
84c1841e85 remove 移除ruoyi自带服务监控(Admin已全部包含) 2021-05-15 14:34:55 +08:00
疯狂的狮子li
a7833a3b72 remove 移除ruoyi自带服务监控(Admin已全部包含) 2021-05-15 14:34:54 +08:00
疯狂的狮子li
df6f3e658a update 增强分页工具兼容性 2021-05-15 14:34:53 +08:00
疯狂的狮子li
b885e1eeff 发布 v2.1.0 2021-05-15 14:33:53 +08:00
疯狂的狮子li
69b9a4db2b update 通用Service接口 增加自定义vo转换函数 2021-05-15 14:27:29 +08:00
疯狂的狮子li
ee064fa84c update swagger升级3.0.2 2021-05-15 14:25:48 +08:00
疯狂的狮子li
9d94d0fce9 remove 移除ruoyi自带服务监控(Admin已全部包含) 2021-05-15 14:25:07 +08:00
疯狂的狮子li
b5064021e6 remove 移除ruoyi自带服务监控(Admin已全部包含) 2021-05-15 14:23:43 +08:00
疯狂的狮子li
31db658929 update 增强分页工具兼容性 2021-05-15 11:32:05 +08:00
疯狂的狮子li
322d9d66a8 !36 同步dev分支
Merge pull request !36 from 疯狂的狮子li/dev
2021-05-14 21:43:57 +08:00
疯狂的狮子li
488cce767f update 打包插件更新 2.3.10 2021-05-14 21:43:28 +08:00
疯狂的狮子li
2316379160 !35 同步dev分支
Merge pull request !35 from 疯狂的狮子li/dev
2021-05-14 21:40:56 +08:00
疯狂的狮子li
d459bb61dc update 打包插件更新 2.3.10 2021-05-14 21:38:41 +08:00
疯狂的狮子li
590f4e07af !34 同步dev分支
Merge pull request !34 from 疯狂的狮子li/dev
2021-05-14 21:12:59 +08:00
疯狂的狮子li
e071b4315a 正式发布 v2.0.0 2021-05-14 21:07:20 +08:00
疯狂的狮子li
869e975ed1 update springboot 升级 2.3.10 依赖全面升级适配 2021-05-14 17:03:19 +08:00
疯狂的狮子li
dab99405c5 update springboot 升级 2.3.10 依赖全面升级适配 2021-05-14 16:58:09 +08:00
疯狂的狮子li
d2c745d3fd add 代码生成器 增加校验注解 2021-05-14 15:12:40 +08:00
疯狂的狮子li
6067cb1797 add 增加增强Mapper 重写业务适配 2021-05-14 13:01:18 +08:00
疯狂的狮子li
51efddcfb0 update 重写文档介绍 2021-05-14 11:19:50 +08:00
疯狂的狮子li
0c7e52d9c3 update 代码生成器修改为MP分页(完成) 2021-05-14 10:44:04 +08:00
疯狂的狮子li
81b50b9b3c update 代码生成器修改为MP分页(未完成) 2021-05-13 23:52:36 +08:00
疯狂的狮子li
7c26e516c9 update 更新数据权限相关注意事项 2021-05-13 22:45:26 +08:00
疯狂的狮子li
9c95c93630 fix 修复系统配置表 sql符号错误问题 2021-05-13 22:44:30 +08:00
疯狂的狮子li
7f73591742 fix 修复代码生成 数据权限问题 2021-05-13 22:43:14 +08:00
疯狂的狮子li
f01bb5966a update 使用 MP 分页工具 重构业务 2021-05-13 21:25:51 +08:00
疯狂的狮子li
b0417338cc add 增加升级版通用Service IServicePlus 2021-05-13 21:24:47 +08:00
疯狂的狮子li
20e82d708b remove 移除 pagehelper 分页工具 2021-05-13 21:23:50 +08:00
疯狂的狮子li
9f5a03edcd add 增加分页工具 2021-05-13 21:22:51 +08:00
疯狂的狮子li
a34fef3478 !33 版本更新 v1.0.2
Merge pull request !33 from 疯狂的狮子li/dev
2021-05-13 09:21:08 +08:00
疯狂的狮子li
685504e1d0 版本更新 v1.0.2 2021-05-13 09:20:02 +08:00
疯狂的狮子li
fddc128156 update 更新整合打包文档 重新排版 2021-05-13 09:17:12 +08:00
疯狂的狮子li
9159e2ed22 fix vue与boot整合打包与admin页面路由冲突 2021-05-13 09:16:28 +08:00
疯狂的狮子li
15fdb9b218 !32 版本更新 v1.0.1
Merge pull request !32 from 疯狂的狮子li/dev
2021-05-11 17:37:27 +08:00
疯狂的狮子li
3b73bbe0ac 版本更新 v1.0.1 2021-05-11 17:36:52 +08:00
疯狂的狮子li
c33c3de43a Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	README.md
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysOperlogController.java
	ruoyi-common/src/main/java/com/ruoyi/common/exception/file/InvalidExtensionException.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/Arith.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/MimeTypeUtils.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
	ruoyi-ui/src/assets/styles/element-ui.scss
	ruoyi-ui/src/views/index.vue
2021-05-11 17:14:53 +08:00
RuoYi
99726be9ac 修正导入表权限标识 2021-05-11 14:26:20 +08:00
RuoYi
32f333a00e 删除操作日志记录日志 2021-05-11 14:25:39 +08:00
RuoYi
be5c19b764 树级结构更新子节点使用replaceFirst 2021-05-11 14:25:25 +08:00
RuoYi
dd384e4a31 上传媒体类型添加视频格式 2021-05-11 14:25:08 +08:00
若依
bdde195e2b !225 【bug修复】文件上传时出现java.nio.file.FileAlreadyExistsException
Merge pull request !225 from CANYON/master
2021-05-11 14:19:53 +08:00
疯狂的狮子li
dafdb43c84 update 配置转移到 yml 文件 统一管理 2021-05-11 10:02:32 +08:00
疯狂的狮子li
961c60dd1a update 更新banner 2021-05-10 23:53:15 +08:00
疯狂的狮子li
e124de4b80 !31 同步dev分支
Merge pull request !31 from 疯狂的狮子li/dev
2021-05-10 15:35:09 +08:00
疯狂的狮子li
98624e66e5 正式发布 1.0.0 2021-05-10 15:34:17 +08:00
疯狂的狮子li
5343b03493 update 更新作者二维码 2021-05-08 23:57:09 +08:00
疯狂的狮子li
60895bf8d6 update 更新作者二维码 2021-05-08 23:54:52 +08:00
疯狂的狮子li
d50e7a3d17 !30 同步dev分支
Merge pull request !30 from 疯狂的狮子li/dev
2021-05-08 23:39:50 +08:00
疯狂的狮子li
a181c09786 fix 修复数据权限问题 2021-05-08 23:35:39 +08:00
疯狂的狮子li
7c8dd238de !29 同步dev分支
Merge pull request !29 from 疯狂的狮子li/dev
2021-05-08 17:08:21 +08:00
疯狂的狮子li
0b6952d0fe fix 日志时间sql符号转换问题 2021-05-08 17:05:18 +08:00
疯狂的狮子li
6ce4c93b3c fix 日志时间sql符号转换问题 2021-05-08 16:55:50 +08:00
libin
14ea071306 修复文件上传时java.nio.file.FileAlreadyExistsException 2021-05-08 15:31:16 +08:00
RuoYi
50034301ac 添加新群号:201396349 2021-05-06 20:40:25 +08:00
若依
85ed712c50 !222 update ruoyi-ui/src/assets/styles/element-ui.scss.
Merge pull request !222 from leizhuogogo/N/A
2021-05-06 20:39:36 +08:00
若依
f67d682345 !221 update ruoyi-common/src/main/java/com/ruoyi/common/utils/Arith.java.
Merge pull request !221 from phper08/N/A
2021-05-06 20:39:26 +08:00
疯狂的狮子li
0656dc381d !28 同步dev分支
Merge pull request !28 from 疯狂的狮子li/dev
2021-05-06 17:52:14 +08:00
leizhuogogo
3f1427eef9 update ruoyi-ui/src/assets/styles/element-ui.scss. 2021-05-06 17:50:28 +08:00
疯狂的狮子li
882f65fdce update 项目地址项目名 2021-05-06 17:44:46 +08:00
phper08
7d0f5e94ef update ruoyi-common/src/main/java/com/ruoyi/common/utils/Arith.java. 2021-05-03 13:18:33 +08:00
疯狂的狮子li
f1fccb7a66 !27 同步dev分支
Merge pull request !27 from 疯狂的狮子li/dev
2021-04-28 15:59:28 +08:00
疯狂的狮子li
73db99398f fix 部门权限问题 2021-04-28 15:58:08 +08:00
疯狂的狮子li
0af493ad67 !26 同步dev分支
Merge pull request !26 from 疯狂的狮子li/dev
2021-04-28 11:53:09 +08:00
疯狂的狮子li
bc182f1392 fix 日志时间问题 2021-04-28 11:52:21 +08:00
疯狂的狮子li
91c6ae307d Merge remote-tracking branch 'origin/master' 2021-04-25 10:40:15 +08:00
疯狂的狮子li
aabae8eb01 update 修改MP验证策略 NOT_NULL -> NOT_EMPTY 2021-04-25 10:40:09 +08:00
疯狂的狮子li
e3ea16d020 update 修改MP验证策略 NOT_NULL -> NOT_EMPTY 2021-04-25 10:38:20 +08:00
疯狂的狮子li
ad991c9d8e !25 同步 ruoyi
Merge pull request !25 from 疯狂的狮子li/dev
2021-04-25 09:46:06 +08:00
疯狂的狮子li
c0e5e9cb24 update 同步ruoyi 2021-04-25 09:45:45 +08:00
疯狂的狮子li
ae48c160b0 !24 修复问题
Merge pull request !24 from 疯狂的狮子li/dev
2021-04-25 09:39:52 +08:00
疯狂的狮子li
4e723f4936 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
2021-04-25 09:27:07 +08:00
疯狂的狮子li
251547e79e update 重写MP注入器 2021-04-25 09:19:38 +08:00
疯狂的狮子li
b222c4215b !23 同步dev
Merge pull request !23 from 疯狂的狮子li/dev
2021-04-23 16:00:06 +08:00
疯狂的狮子li
734073019f update 屏蔽用户密码返回 2021-04-23 15:59:46 +08:00
疯狂的狮子li
9a26a3c4e8 !22 同步 master
Merge pull request !22 from 疯狂的狮子li/master
2021-04-22 21:14:48 +08:00
疯狂的狮子li
1bef814c51 update 补全实体类 注入注解 2021-04-22 21:07:18 +08:00
疯狂的狮子li
6dc791c34f !21 同步dev分支
Merge pull request !21 from 疯狂的狮子li/dev
2021-04-22 15:42:00 +08:00
疯狂的狮子li
5fcef39a2e add 集成 spring-boot-admin 全方位监控 2021-04-22 15:04:35 +08:00
疯狂的狮子li
7ae9f21f82 !20 fix 问题
Merge pull request !20 from 疯狂的狮子li/dev
2021-04-22 10:08:12 +08:00
疯狂的狮子li
5b4e9ef4db Merge branch 'master' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus into dev 2021-04-22 09:50:03 +08:00
疯狂的狮子li
39e9df47bc !19 修改添加用户获取到密码为null
Merge pull request !19 from 再见亦是路人/master
2021-04-22 09:49:38 +08:00
疯狂的狮子li
9173f9c9cb fix feign熔断问题 2021-04-22 09:32:28 +08:00
RuoYi
62081aebb9 修复开启TopNav后,左侧打开外链问题 2021-04-21 16:34:44 +08:00
再见亦是路人
a4b71278c0 修改用户密码获取失败 2021-04-21 15:56:00 +08:00
RuoYi
3f07632cd4 修复一级菜单包屑显示重复问题 2021-04-21 15:14:36 +08:00
Ricky
2c94587263 优化ExcelUtil空值处理 2021-04-21 09:53:14 +08:00
疯狂的狮子li
db43f678d8 !18 fix 代码生成器编辑问题
Merge pull request !18 from 疯狂的狮子li/dev
2021-04-19 19:02:51 +08:00
疯狂的狮子li
a4f2aa1981 fix 代码生成器编辑问题 2021-04-19 19:01:26 +08:00
疯狂的狮子li
78149e19dc !17 同步 ruoyi
Merge pull request !17 from 疯狂的狮子li/dev
2021-04-19 17:54:33 +08:00
疯狂的狮子li
046b0bc98a 同步 ruoyi 2021-04-19 17:44:22 +08:00
疯狂的狮子li
97873a7b2b Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	pom.xml
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/components/ThemePicker/index.vue
	ruoyi-ui/src/layout/components/Settings/index.vue
	ruoyi-ui/src/store/modules/settings.js
2021-04-19 17:43:32 +08:00
疯狂的狮子li
f8633f8c4e fix Feign 熔断不生效 bug 2021-04-19 17:38:47 +08:00
疯狂的狮子li
ef27ee0a28 !15 同步 ruoyi
Merge pull request !15 from 疯狂的狮子li/dev
2021-04-16 11:36:47 +08:00
疯狂的狮子li
bf5315d306 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev 2021-04-16 11:34:39 +08:00
疯狂的狮子li
9c7efa8e0e !14 fix 表名上传错误
Merge pull request !14 from 疯狂的狮子li/dev
2021-04-16 11:32:07 +08:00
疯狂的狮子li
a1c44b4987 fix 表名上传错误 2021-04-16 11:30:51 +08:00
疯狂的狮子li
55f8624388 !13 同步dev分支
Merge pull request !13 from 疯狂的狮子li/dev
2021-04-14 14:38:29 +08:00
疯狂的狮子li
927777291e update 导出 Excel 工作表的名称修改 2021-04-14 14:36:27 +08:00
疯狂的狮子li
3fc3818231 update 完成所有原生功能使用 Mybatis-Plus 与 Lombok 重写 2021-04-14 13:27:27 +08:00
疯狂的狮子li
f093da99ec Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
 Conflicts:
	ruoyi-admin/src/main/resources/application-prod.yml
	ruoyi-generator/src/main/resources/vm/java/controller.java.vm
	ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/assets/styles/sidebar.scss
	ruoyi-ui/src/layout/components/Navbar.vue
	ruoyi-ui/src/layout/components/Settings/index.vue
	ruoyi-ui/src/layout/components/TagsView/index.vue
	ruoyi-ui/src/settings.js
	ruoyi-ui/src/store/getters.js
	ruoyi-ui/src/store/modules/permission.js
	ruoyi-ui/src/store/modules/settings.js
	ruoyi-ui/src/store/modules/tagsView.js
	ruoyi-ui/src/views/monitor/druid/index.vue
2021-04-14 13:22:31 +08:00
疯狂的狮子li
adeaa77864 update mp化 2021-04-14 12:01:26 +08:00
疯狂的狮子li
48d61a3cdf update mp化 2021-04-14 11:19:46 +08:00
疯狂的狮子li
876a06a9cd update mp化 2021-04-13 17:14:50 +08:00
疯狂的狮子li
20d40ea691 update mp化 2021-04-13 15:29:05 +08:00
疯狂的狮子li
d69d1fbfe8 update 更新任务调度模块 与 代码生成模块 MP lombok 化 2021-04-12 17:49:56 +08:00
疯狂的狮子li
323fe960bd update 更新基础包与核心包 lombok 化 2021-04-12 17:26:47 +08:00
疯狂的狮子li
938ca5c451 fix 补全缺包 2021-04-12 17:09:05 +08:00
疯狂的狮子li
4500db395f update ruoyi原生改为 MP lombok 格式
update SysConfig 模块代码
2021-04-12 17:02:55 +08:00
疯狂的狮子li
d48946ab90 fix bo缺包问题 2021-04-12 10:34:50 +08:00
疯狂的狮子li
88841ac01f update Date参数接收Bo实体格式转换 2021-04-09 11:47:51 +08:00
疯狂的狮子li
8b37eca241 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
	ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/utils/zipdownload.js
2021-04-08 17:12:13 +08:00
疯狂的狮子li
1d3a361a66 fix 字节转换 bug 2021-04-08 16:40:10 +08:00
疯狂的狮子li
c862484f00 update 默认增加editBo主键生成 2021-04-08 16:29:35 +08:00
疯狂的狮子li
ccd48965a8 fix controller 接口路径问题 2021-04-04 20:01:36 +08:00
疯狂的狮子li
b6472f3469 Merge branch 'master' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus 2021-04-04 11:27:42 +08:00
疯狂的狮子li
866c69e706 fix 代码生成器问题 2021-04-04 11:27:08 +08:00
疯狂的狮子li
a50df84a72 fix 生成 remove 方法参数类型错误 2021-04-03 17:00:47 +08:00
疯狂的狮子li
6760942218 fix Page 路径导入 2021-04-02 23:05:44 +08:00
疯狂的狮子li
b71e74927e add 添加单模块分支 2021-04-02 16:14:58 +08:00
疯狂的狮子li
7e50364244 add 添加单模块分支 2021-04-02 16:14:21 +08:00
疯狂的狮子li
b82fa6534b add 添加多模块分支 2021-04-02 16:12:09 +08:00
疯狂的狮子li
74a4848205 add 添加单模块分支 2021-04-02 16:11:23 +08:00
疯狂的狮子li
4e58887b9a add 增加单模块项目 2021-04-02 16:01:07 +08:00
疯狂的狮子li
dfcd84c2bc fix 数据权限语句null bug 2021-04-02 15:44:02 +08:00
疯狂的狮子li
3012bf0a31 add 增加数据权限注入 2021-04-02 14:22:27 +08:00
疯狂的狮子li
85e9534fae add 增加数据权限注入 2021-04-02 14:15:10 +08:00
疯狂的狮子li
4a1ff5a5ac update 修改controller生成模板 规范代码结构 2021-04-01 17:57:54 +08:00
疯狂的狮子li
222dfd1fe1 update 修改xml生成模板 附加domain类路径 2021-04-01 17:57:24 +08:00
疯狂的狮子li
c1964b934f update 简化queryById代码生成器 2021-03-31 16:51:24 +08:00
疯狂的狮子li
b16fe5e263 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/tool/build/index.vue
2021-03-31 16:49:45 +08:00
疯狂的狮子li
fdacc04582 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/utils/StringUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java
2021-03-30 17:21:22 +08:00
疯狂的狮子li
96d10126b2 修复request.getInputStream() 重复读取错误问题 2021-03-30 11:41:24 +08:00
疯狂的狮子li
a29ebef202 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/filter/RepeatableFilter.java
2021-03-30 11:38:56 +08:00
疯狂的狮子li
06e9feadee Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
2021-03-26 14:07:53 +08:00
疯狂的狮子li
77ffdf69a1 fix 修复 vo转换 分页bug 2021-03-25 17:01:17 +08:00
疯狂的狮子li
e3bcc6b273 fix 查询类模板缺少导入包 2021-03-25 17:00:40 +08:00
疯狂的狮子li
39793318a0 update ruoyi-demo 增加 knife4j 依赖 2021-03-25 16:59:17 +08:00
疯狂的狮子li
2df675bb01 !12 【BUG】项目启动后配置的定时器任务无法正常启动
Merge pull request !12 from linCodeTest/quartz_bug
2021-03-23 16:43:13 +08:00
linjiaru
c9e01879ca beanUtil.copy参数顺序反了 2021-03-23 16:22:02 +08:00
疯狂的狮子li
6557f1bdae update pr优化 2021-03-22 13:34:40 +08:00
疯狂的狮子li
f156e0a094 update pr优化 2021-03-22 13:32:20 +08:00
疯狂的狮子li
62464cfe45 fix Collection 验证失效问题 2021-03-22 13:31:43 +08:00
疯狂的狮子li
7d47e1e81b fix 表名转换问题 2021-03-22 13:30:59 +08:00
wugh
3d6fbb93f5 !11 [功能] 拆分出Vo,QueryBo,AddBo,EditBo等领域对象
* [修改] 错误引入的无用导包删除
* [新增] 增加Vo,QueryBo,AddBo,EditBo等视图,并调整controller,service的调用代码
* [新增] 增加CreateAndUpdateMetaObjectHandler,配合fill注解,实现创建和修改人的自动设置,减少重复代码
2021-03-22 09:32:49 +08:00
疯狂的狮子li
5d1e977442 个人信息添加手机&邮箱重复验证 2021-03-22 09:30:12 +08:00
疯狂的狮子li
8434511e39 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java
2021-03-22 09:29:25 +08:00
疯狂的狮子li
939d89f0b8 !10 [BUG] 解决只能使用circle干扰的bug
Merge pull request !10 from wugh/hotfix/captcha
2021-03-20 10:14:03 +08:00
wugh
1270b056d5 [bug修复] 解决调整验证码干扰的类型无效,只用circle的bug
[优化] 调整使用那种验证码的逻辑判断,使用switch优化,并减少重复代码
2021-03-19 19:28:43 +08:00
疯狂的狮子li
a7f235164f Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
2021-03-18 13:08:14 +08:00
疯狂的狮子li
31ddb2aee3 update swagger 升级为 knife4j 2021-03-16 12:52:09 +08:00
疯狂的狮子li
c0186580ba fix 修复代码生成缺少jar异常 2021-03-16 10:57:26 +08:00
疯狂的狮子li
63a582404b update swagger 模板修改为 swagger-bootstrap-ui 2021-03-15 17:51:00 +08:00
疯狂的狮子li
04e1dc351e update 移除无用依赖 2021-03-15 17:50:24 +08:00
疯狂的狮子li
7ae2df1390 update 使用hutool 重写 UserAgent 2021-03-15 17:49:30 +08:00
疯狂的狮子li
9b4b9e0c74 update 删除通用工具 改为使用hutool 2021-03-15 16:38:43 +08:00
疯狂的狮子li
46aa17db9c Merge remote-tracking branch 'origin/master' 2021-03-15 10:00:49 +08:00
疯狂的狮子li
71325b540a Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/resources/application-prod.yml
	ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
2021-03-15 10:00:14 +08:00
疯狂的狮子li
2509815a4f fix 验证码点击不刷新 bug 2021-03-14 00:15:29 +08:00
疯狂的狮子li
2b8ab9cc4d update 使用hutool重写系统监控 2021-03-12 18:02:23 +08:00
疯狂的狮子li
57cfad671f update 使用hutool重写验证码生成 2021-03-12 16:52:55 +08:00
疯狂的狮子li
9a94ab573d !6 update ruoyi-admin/src/main/resources/application.yml.
Merge pull request !6 from hechieh/N/A
2021-03-10 13:34:15 +08:00
hechieh
51d942f14c update ruoyi-admin/src/main/resources/application.yml. 2021-03-10 13:27:10 +08:00
疯狂的狮子li
5494ec36e5 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/core/text/Convert.java
	ruoyi-ui/src/components/Editor/index.vue
	ruoyi-ui/src/permission.js
	ruoyi-ui/src/store/modules/user.js
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
2021-03-09 09:32:49 +08:00
疯狂的狮子li
2c2deced02 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue 2021-03-03 17:14:21 +08:00
疯狂的狮子li
0638f3c1fe Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	README.md
	ruoyi-ui/src/views/index.vue
2021-02-28 14:39:53 +08:00
疯狂的狮子li
9b136e76bb update 3.4.0 2021-02-22 10:06:18 +08:00
疯狂的狮子li
ac99fddfe6 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-ui/package.json
	ruoyi-ui/src/views/index.vue
2021-02-22 10:04:43 +08:00
疯狂的狮子li
66899c4c96 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	sql/ry_20210210.sql
2021-02-18 09:12:32 +08:00
疯狂的狮子li
2c40a892f8 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/store/modules/permission.js
	ruoyi-ui/src/views/system/role/index.vue
2021-02-07 09:18:17 +08:00
疯狂的狮子li
6f0dfa850a Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/system/role/index.vue
2021-02-03 13:38:43 +08:00
疯狂的狮子li
8ba1266b6a 修改 页面生成模板 适配后端时间格式 2021-01-28 09:22:25 +08:00
疯狂的狮子li
118c02144f 集成 Feign 接口化管理 Http请求(如短信,支付,推送等) 2021-01-27 15:15:03 +08:00
疯狂的狮子li
a4756004f8 删除过时配置 2021-01-27 13:10:05 +08:00
疯狂的狮子li
6e6933bb25 支持树表生成 增加生成树表说明 2021-01-25 13:35:07 +08:00
疯狂的狮子li
2925f28255 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/package.json
2021-01-25 09:54:49 +08:00
疯狂的狮子li
b5e8fa2b98 统一校验配置类名称 2021-01-21 09:31:37 +08:00
疯狂的狮子li
09acac4caf 更新readme 2021-01-18 16:13:05 +08:00
疯狂的狮子li
9fdee373af 删除多余注解(@Data已包含) 2021-01-18 14:00:03 +08:00
疯狂的狮子li
3362ce5f33 升级 MybatisPlus 3.4.2 2021-01-15 15:55:24 +08:00
疯狂的狮子li
52325307f4 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	README.md
2021-01-15 15:08:50 +08:00
疯狂的狮子li
684eadbcc6 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableMapper.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityInitializer.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
	ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
	ruoyi-generator/src/main/resources/vm/java/controller.java.vm
	ruoyi-generator/src/main/resources/vm/java/domain.java.vm
	ruoyi-generator/src/main/resources/vm/java/mapper.java.vm
	ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-generator/src/main/resources/vm/xml/mapper.xml.vm
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/tool/gen/editTable.vue
	ruoyi-ui/src/views/tool/gen/genInfoForm.vue
	ruoyi-ui/src/views/tool/gen/index.vue
	sql/ry_20210108.sql
2021-01-11 09:58:41 +08:00
疯狂的狮子li
b368745380 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/package.json
	ruoyi-ui/src/components/HeaderSearch/index.vue
	ruoyi-ui/src/main.js
	ruoyi-ui/src/views/tool/gen/editTable.vue
	ruoyi-ui/src/views/tool/gen/index.vue
2021-01-06 09:35:00 +08:00
疯狂的狮子li
d73994f05d Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/src/layout/components/TagsView/index.vue
	ruoyi-ui/src/views/login.vue
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/online/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dept/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/system/notice/index.vue
	ruoyi-ui/src/views/system/post/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/tool/gen/index.vue
2021-01-05 09:22:36 +08:00
疯狂的狮子li
e9d368ed0c Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
	ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
2020-12-30 16:20:09 +08:00
疯狂的狮子li
b8f6731584 增加 demo模块 方便参考扩展 2020-12-29 10:17:44 +08:00
疯狂的狮子li
93e7f53cf8 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue 2020-12-28 10:40:13 +08:00
疯狂的狮子li
c24b912b50 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/src/store/modules/permission.js
2020-12-25 09:59:24 +08:00
疯狂的狮子li
476df3117b Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/utils/permission.js
	ruoyi-ui/src/utils/request.js
2020-12-24 10:04:54 +08:00
疯狂的狮子li
1000a577d0 配置文件新增redis数据库索引属性 2020-12-21 11:58:49 +08:00
疯狂的狮子li
78ef398257 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-ui/src/store/modules/permission.js
2020-12-21 11:55:32 +08:00
疯狂的狮子li
805c79506b 代码生成 后端支持 between 2020-12-18 17:46:05 +08:00
疯狂的狮子li
817da5bc04 修复export与list结果不统一问题 2020-12-18 16:50:58 +08:00
wangxianl
a514330db3 修复export与list结果不统一的问题 2020-12-18 15:47:07 +08:00
疯狂的狮子li
2b0cf24be4 修改 controller 生成器 解决where条件重复bug 2020-12-18 09:47:35 +08:00
疯狂的狮子li
6c8497f632 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/package.json
	ruoyi-ui/src/components/Breadcrumb/index.vue
	ruoyi-ui/src/layout/components/AppMain.vue
	ruoyi-ui/src/layout/components/Sidebar/index.vue
	ruoyi-ui/src/layout/components/TagsView/index.vue
	ruoyi-ui/src/store/getters.js
	ruoyi-ui/src/store/modules/permission.js
	ruoyi-ui/src/views/system/user/profile/resetPwd.vue
	ruoyi-ui/src/views/system/user/profile/userInfo.vue
	ruoyi-ui/src/views/tool/gen/editTable.vue
2020-12-18 09:45:54 +08:00
疯狂的狮子li
b029a7265a 将controller条件查询器改完隐式泛型 2020-12-18 00:02:40 +08:00
疯狂的狮子li
f44ff8477f Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	README.md
	ruoyi-common/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java
2020-12-16 12:44:21 +08:00
疯狂的狮子li
1249c7ca26 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/permission.js
	ruoyi-ui/src/views/login.vue
2020-12-15 10:25:00 +08:00
疯狂的狮子li
1ec7073027 同步升级 3.3 2020-12-14 09:28:15 +08:00
疯狂的狮子li
7e476b941e Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
	ruoyi-ui/package.json
	ruoyi-ui/src/main.js
	ruoyi-ui/src/views/index.vue
	ruoyi-ui/src/views/tool/gen/index.vue
2020-12-14 09:27:27 +08:00
疯狂的狮子li
8d4f3561d5 修复mybatis-plus插件不生效bug 2020-12-11 18:45:57 +08:00
疯狂的狮子li
8b88d91312 update README.md 2020-12-11 14:44:07 +08:00
疯狂的狮子li
f56f57a236 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDictDataController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysRoleMenuMapper.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
	ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml
	ruoyi-ui/package.json
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/assets/styles/sidebar.scss
	ruoyi-ui/src/assets/styles/variables.scss
	ruoyi-ui/src/components/HeaderSearch/index.vue
	ruoyi-ui/src/components/Screenfull/index.vue
	ruoyi-ui/src/layout/components/Settings/index.vue
	ruoyi-ui/src/layout/components/Sidebar/Logo.vue
	ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue
	ruoyi-ui/src/layout/components/Sidebar/index.vue
	ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue
	ruoyi-ui/src/layout/index.vue
	ruoyi-ui/src/main.js
	ruoyi-ui/src/settings.js
	ruoyi-ui/src/store/modules/settings.js
	ruoyi-ui/src/store/modules/user.js
	ruoyi-ui/src/views/login.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/system/user/profile/resetPwd.vue
	ruoyi-ui/src/views/system/user/profile/userInfo.vue
	ruoyi-ui/src/views/tool/gen/editTable.vue
	ruoyi-ui/src/views/tool/gen/index.vue
	ruoyi-ui/vue.config.js
2020-12-11 14:27:54 +08:00
疯狂的狮子li
4e56f30381 修改 生成器controller模板缺导包 与 index页面兼容性
Merge pull request !2 from dragonwzj/master
2020-12-09 16:49:24 +08:00
wangzhijun
fe39a7bc7b 模板controller导入;模板vue列表页当有查询条件时报错 2020-12-09 16:16:53 +08:00
疯狂的狮子li
5109eb0e7e 日志输出改回相对路径 解决新版idea 编译user.dir会指定到idea配置目录下 2020-12-09 13:37:04 +08:00
疯狂的狮子li
583738fa65 日志输出改回相对路径 解决新版idea 编译user.dir会指定到idea配置目录下 2020-12-09 13:33:41 +08:00
疯狂的狮子li
5a62019cdd 更新 如何修改为Tomcat相关注释配置与说明 2020-12-08 16:21:30 +08:00
疯狂的狮子li
69f30760f8 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/utils/request.js
	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
2020-12-07 12:59:35 +08:00
疯狂的狮子li
e80349c343 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
	ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysLogininforMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
	ruoyi-ui/src/utils/request.js
2020-12-04 11:46:29 +08:00
疯狂的狮子li
d2cef9c40d 新增 关于多数据源事务 2020-12-03 11:32:29 +08:00
疯狂的狮子li
b346036cca 增加 多数据源事务描述 2020-12-03 11:30:48 +08:00
疯狂的狮子li
5ebd0a971f Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue 2020-12-03 11:20:50 +08:00
疯狂的狮子li
c50e058953 为所有MP插件增加官方链接 2020-12-03 11:15:54 +08:00
疯狂的狮子li
a3dfa843af 增加 多数据源使用注意事项 2020-12-03 11:13:58 +08:00
疯狂的狮子li
2afb109bff 增加 maven多环境配置注释 2020-12-01 11:53:55 +08:00
疯狂的狮子li
f7f7557d4d 项目修改为 maven多环境配置 2020-12-01 11:44:29 +08:00
疯狂的狮子li
b36b413a69 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue 2020-12-01 09:23:55 +08:00
疯狂的狮子li
ce438f182a Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
	ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/text/CharsetKit.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
	ruoyi-ui/package.json
	ruoyi-ui/src/layout/components/AppMain.vue
	ruoyi-ui/src/layout/components/TagsView/index.vue
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/store/modules/permission.js
	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
	sql/ry_20201128.sql
2020-11-30 12:41:39 +08:00
疯狂的狮子li
6d900dc654 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue 2020-11-25 09:30:42 +08:00
疯狂的狮子li
15c4428b9c 修改 ruoyi CharsetKit.java bug 2020-11-24 11:54:38 +08:00
疯狂的狮子li
20d7c90515 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/ServerController.java
	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
	sql/ry_20201123.sql
2020-11-24 10:03:59 +08:00
疯狂的狮子li
3363d7b12d 同步升级 3.2.1 修复重大bug 阻止任意文件下载漏洞 2020-11-18 10:52:33 +08:00
疯狂的狮子li
ff563c44e2 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/package.json
	ruoyi-ui/src/views/index.vue
	ruoyi-ui/src/views/tool/gen/editTable.vue
2020-11-18 10:41:13 +08:00
疯狂的狮子li
527decb7fa 更新 undertow 配置 2020-11-16 14:50:05 +08:00
疯狂的狮子li
03f0e3a137 为所有MP插件和配置增加官方链接 2020-11-16 14:12:14 +08:00
疯狂的狮子li
148d0361e0 增加字段填充配置 2020-11-16 14:03:55 +08:00
疯狂的狮子li
d626dd9e90 更新分页插件配置 增加主键插件配置 2020-11-16 13:57:26 +08:00
疯狂的狮子li
1043afcecc 重磅升级 Mybatis-Plus 升级为 3.4.1 2020-11-13 11:39:16 +08:00
疯狂的狮子li
04d1154be0 重磅升级 重写 Mybatis-Plus 配置文件 根据官方文档详细注释 2020-11-13 11:18:37 +08:00
疯狂的狮子li
550f781d6f 重磅升级 Mybatis-Plus 插件 全部升级为最新插件 2020-11-13 11:17:33 +08:00
疯狂的狮子li
b114d0a41c 重磅升级 Mybatis-Plus 升级为 3.4.1 Hutool 升级到 5.4.0 2020-11-13 11:16:57 +08:00
疯狂的狮子li
60dda6c7eb Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/index.vue
2020-11-12 09:24:40 +08:00
疯狂的狮子li
c57005b4e4 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue 2020-11-06 17:18:55 +08:00
疯狂的狮子li
93093d9f55 更改 MybatisPlus Lambda查询 改为官方推荐写法 2020-11-05 13:56:49 +08:00
疯狂的狮子li
e095a9f73f Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue 2020-11-05 12:58:53 +08:00
疯狂的狮子li
5d748a50ff 删除 MyBatisConfig.java 配置文件 2020-11-03 09:58:01 +08:00
疯狂的狮子li
efb938c370 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java
	ruoyi-ui/src/views/system/notice/index.vue
	ruoyi-ui/src/views/system/user/index.vue
2020-11-03 09:56:18 +08:00
疯狂的狮子li
616fbc45ae 增加 校验框架配置与全局异常处理 2020-10-28 16:01:26 +08:00
疯狂的狮子li
cf44d1f213 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java
	ruoyi-ui/src/views/system/dept/index.vue
2020-10-28 11:54:52 +08:00
疯狂的狮子li
30d15afd33 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/PermissionService.java
	ruoyi-generator/src/main/resources/vm/sql/sql.vm
	ruoyi-ui/src/views/login.vue
	sql/ry_20201021.sql
2020-10-23 17:41:02 +08:00
疯狂的狮子li
8747d36b2c 更改日志存储路径 使用项目变量 2020-10-20 16:38:39 +08:00
疯狂的狮子li
1a15c528a2 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
	ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
2020-10-16 10:27:13 +08:00
疯狂的狮子li
f4876422a9 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/role/index.vue
2020-10-14 09:22:01 +08:00
疯狂的狮子li
8ca53c7666 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/online/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dept/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/system/notice/index.vue
	ruoyi-ui/src/views/system/post/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/system/user/profile/resetPwd.vue
	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
	ruoyi-ui/src/views/system/user/profile/userInfo.vue
	ruoyi-ui/src/views/tool/gen/index.vue
2020-10-12 09:54:59 +08:00
疯狂的狮子li
bd39b971cf Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-ui/package.json
	ruoyi-ui/src/utils/ruoyi.js
	ruoyi-ui/src/views/monitor/job/index.vue
2020-10-10 09:19:20 +08:00
疯狂的狮子li
cb92e41b76 修复生成树结构报错 2020-10-07 12:27:29 +08:00
疯狂的狮子li
cddaf4b088 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/layout/components/TagsView/index.vue
	ruoyi-ui/src/views/system/user/index.vue
2020-10-07 12:25:38 +08:00
疯狂的狮子li
cc59e5ad89 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
2020-10-03 11:57:41 +08:00
疯狂的狮子li
3c703e4189 解决 druid 请求已响应bug 2020-09-25 12:05:41 +08:00
疯狂的狮子li
ef4731e3ff 删除无用js 2020-09-25 12:05:01 +08:00
疯狂的狮子li
6101a3bf0d Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/domain/Server.java
	ruoyi-ui/src/assets/styles/sidebar.scss
2020-09-25 11:15:57 +08:00
疯狂的狮子li
aefa2095f0 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysLogininforController.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysRole.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
	ruoyi-common/src/main/java/com/ruoyi/common/core/domain/model/LoginUser.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/manager/factory/AsyncFactory.java
	ruoyi-generator/src/main/resources/vm/sql/sql.vm
	ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java
	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
	ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	sql/ry_20200920.sql
2020-09-22 13:22:30 +08:00
疯狂的狮子li
298fabfdec Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/mapper/GenTableColumnMapper.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java
	ruoyi-generator/src/main/resources/mapper/generator/GenTableColumnMapper.xml
	ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
	ruoyi-ui/src/api/tool/gen.js
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/tool/gen/index.vue
2020-09-18 17:38:23 +08:00
疯狂的狮子li
b111cbeedd Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
	ruoyi-ui/src/views/tool/gen/editTable.vue
2020-09-16 09:23:02 +08:00
疯狂的狮子li
06c4d4d01b Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	pom.xml
	ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MetaVo.java
	ruoyi-system/src/main/resources/mapper/system/SysNoticeMapper.xml
	ruoyi-ui/package.json
	ruoyi-ui/src/components/Editor/index.vue
	ruoyi-ui/src/router/index.js
2020-09-11 09:17:43 +08:00
疯狂的狮子li
a41bc230a1 修改上传文件路径 2020-09-08 14:49:37 +08:00
疯狂的狮子li
ef95cec77f Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDictTypeServiceImpl.java
	ruoyi-ui/src/components/Editor/index.vue
2020-09-07 11:31:40 +08:00
疯狂的狮子li
f69cb567f0 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	sql/ry_20200901.sql
2020-09-02 09:08:52 +08:00
疯狂的狮子li
1ef17bb582 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
2020-08-31 09:12:13 +08:00
疯狂的狮子li
fdbe943053 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTableColumn.java
2020-08-26 15:30:25 +08:00
疯狂的狮子li
184bb04bc2 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/components/Editor/index.vue
	ruoyi-ui/src/views/system/notice/index.vue
	sql/ry_20200822.sql
2020-08-24 10:26:44 +08:00
疯狂的狮子li
d464d8703c Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java
2020-08-21 13:01:12 +08:00
疯狂的狮子li
1b82822d15 根据勾选列表是否显示 隐藏主键列 2020-08-19 17:32:34 +08:00
疯狂的狮子li
1cc8bc172b 修改代码生成 删除主键type注解配置 使用全局配置 2020-08-19 17:03:21 +08:00
疯狂的狮子li
5aeac1a8ae Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/package.json
	ruoyi-ui/src/components/HeaderSearch/index.vue
	ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue
	ruoyi-ui/src/utils/ruoyi.js
2020-08-19 17:01:43 +08:00
疯狂的狮子li
def4377226 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/utils/ruoyi.js
2020-08-17 12:57:06 +08:00
疯狂的狮子li
25afde4796 同步升级3.1 2020-08-13 11:28:11 +08:00
疯狂的狮子li
088bc98a43 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-ui/package.json
2020-08-13 11:24:04 +08:00
疯狂的狮子li
3aaff7b776 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/monitor/SysUserOnlineController.java
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysMenuController.java
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/main.js
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/online/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dept/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/system/notice/index.vue
	ruoyi-ui/src/views/system/post/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/tool/gen/index.vue
2020-08-12 10:16:29 +08:00
疯狂的狮子li
4044ed23ea Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java
	ruoyi-ui/src/components/Editor/index.vue
2020-08-10 09:38:28 +08:00
疯狂的狮子li
a9f4a4e111 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	.gitignore
	ruoyi-common/src/main/java/com/ruoyi/common/utils/spring/SpringUtils.java
	ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserOnlineServiceImpl.java
	ruoyi-system/src/main/resources/mapper/system/SysConfigMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysDictTypeMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysPostMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysRoleMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysRoleMenuMapper.xml
	ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
	ruoyi-ui/src/utils/request.js
	ruoyi-ui/src/utils/ruoyi.js
2020-08-07 09:22:36 +08:00
疯狂的狮子li
c7785d1dbc Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	README.md
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
	ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
	ruoyi-ui/src/utils/request.js
2020-08-05 09:42:03 +08:00
疯狂的狮子li
5b1ed429ae 文件路径,使用jvm系统变量,兼容windows和linux; 2020-08-05 09:35:41 +08:00
疯狂的狮子li
c8613ac9a7 错误修正 2020-08-04 14:34:05 +08:00
疯狂的狮子li
d9aa681a0d 错误修正 2020-08-04 14:31:51 +08:00
疯狂的狮子li
c966d9bada Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	pom.xml
	ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CaptchaController.java
	ruoyi-admin/src/main/resources/application.yml
	ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java
	ruoyi-common/src/main/java/com/ruoyi/common/utils/sql/SqlUtil.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/TokenService.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/service/IGenTableService.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
	ruoyi-generator/src/main/resources/mapper/generator/GenTableMapper.xml
	ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
	ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
	ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
	ruoyi-ui/babel.config.js
	ruoyi-ui/package.json
	ruoyi-ui/src/api/tool/gen.js
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/components/HeaderSearch/index.vue
	ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue
	ruoyi-ui/src/main.js
	ruoyi-ui/src/utils/ruoyi.js
	ruoyi-ui/src/views/login.vue
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/online/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dept/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/system/notice/index.vue
	ruoyi-ui/src/views/system/post/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/tool/gen/genInfoForm.vue
	ruoyi-ui/src/views/tool/gen/index.vue
	ruoyi-ui/vue.config.js
	sql/ry_20200724.sql
2020-08-02 18:31:47 +08:00
疯狂的狮子li
a95abff0d3 删除文件 ruoyi-common/src/main/resources 2020-08-02 18:18:35 +08:00
疯狂的狮子li
8a9a53225a Merge branch 'master' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus 2020-07-23 09:55:40 +08:00
疯狂的狮子li
e19e2fd9cc Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-common/src/main/java/com/ruoyi/common/constant/GenConstants.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
	ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/domain/GenTable.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/service/GenTableServiceImpl.java
	ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
	ruoyi-generator/src/main/resources/vm/sql/sql.vm
	ruoyi-ui/src/utils/index.js
	ruoyi-ui/src/utils/ruoyi.js
	ruoyi-ui/src/views/tool/gen/editTable.vue
	ruoyi-ui/src/views/tool/gen/genInfoForm.vue
	ruoyi-ui/src/views/tool/gen/importTable.vue
2020-07-23 09:54:57 +08:00
疯狂的狮子li
8e1b8a3a3f 全注入 可能会出现小白乱用的情况 改成@Autowired构造注入 2020-07-22 18:46:34 +08:00
疯狂的狮子li
6f47310c24 同步升级3.0 端口提交错误 改回8080 2020-07-20 10:47:00 +08:00
疯狂的狮子li
1e79d6f56f 同步升级3.0 2020-07-20 10:41:32 +08:00
疯狂的狮子li
a53a3b3119 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/package.json
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java
	ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
	ruoyi/src/main/java/com/ruoyi/common/utils/sign/Md5Utils.java
	ruoyi/src/main/java/com/ruoyi/framework/security/service/SysLoginService.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysLoginController.java
	ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUser.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
2020-07-17 16:43:47 +08:00
疯狂的狮子li
22f3e2ad23 Merge branch 'master' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus 2020-07-17 11:41:29 +08:00
疯狂的狮子li
4555050301 删除 mybatis相关配置 2020-07-17 11:41:09 +08:00
疯狂的狮子li
e6dc647287 修复数据库decimal类型无improt问题 2020-07-16 20:09:35 +08:00
疯狂的狮子li
e85334bacd 修复 生成器业务名 只会截取表下划线的最后一个 导致很多controller 会重名 问题 2020-07-16 13:14:01 +08:00
疯狂的狮子li
a3a3d62034 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/layout/components/Navbar.vue
	ruoyi-ui/src/views/system/role/index.vue
2020-07-13 09:27:49 +08:00
疯狂的狮子li
59b42fddea Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi/src/main/java/com/ruoyi/framework/redis/RedisCache.java
2020-07-10 11:40:38 +08:00
疯狂的狮子li
eef65b449d Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/README.md
	ruoyi/src/main/resources/application.yml
2020-07-06 09:16:44 +08:00
疯狂的狮子li
942629722d 删除 测试数据 2020-07-02 10:58:13 +08:00
疯狂的狮子li
f652a035b7 增加 数据库超时重连配置 2020-07-01 09:16:47 +08:00
疯狂的狮子li
c70ec63952 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi/sql/ry_20200629.sql
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysUserController.java
2020-07-01 09:16:25 +08:00
疯狂的狮子li
f0bee6af63 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
	ruoyi-ui/src/views/tool/gen/editTable.vue
	ruoyi-ui/src/views/tool/gen/index.vue
	ruoyi/src/main/java/com/ruoyi/RuoYiApplication.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java
2020-06-29 09:08:18 +08:00
疯狂的狮子li
2e95557840 删除测试代码 2020-06-29 09:07:17 +08:00
疯狂的狮子li
827bbc2b17 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi/src/main/java/com/ruoyi/common/constant/HttpStatus.java
	ruoyi/src/main/java/com/ruoyi/common/core/lang/UUID.java
	ruoyi/src/main/java/com/ruoyi/common/utils/VerifyCodeUtils.java
	ruoyi/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java
	ruoyi/src/main/java/com/ruoyi/framework/config/FastJson2JsonRedisSerializer.java
	ruoyi/src/main/java/com/ruoyi/project/monitor/service/impl/SysOperLogServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysLoginController.java
	ruoyi/src/main/java/com/ruoyi/project/system/domain/SysRole.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysConfigServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDictDataServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysPostServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserOnlineServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/service/GenTableColumnServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/service/GenTableServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/service/IGenTableColumnService.java
2020-06-21 10:06:26 +08:00
疯狂的狮子li
eb7c29c647 解决文件上传bug,因undertow与tomcat对文件写入的底层实现不同,无需创建新文件 2020-06-18 15:33:36 +08:00
疯狂的狮子li
8d318c222e Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java
2020-06-18 15:13:40 +08:00
疯狂的狮子li
db380f9af1 还原 2020-06-15 14:06:12 +08:00
疯狂的狮子li
694fb19628 修复 上传文件重名问题 2020-06-15 13:07:14 +08:00
疯狂的狮子li
c53d5fd1f6 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/monitor/online/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/vue.config.js
	ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
	ruoyi/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/util/GenUtils.java
2020-06-12 15:14:19 +08:00
疯狂的狮子li
6bb7db31aa Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/components/HeaderSearch/index.vue
	ruoyi-ui/src/components/IconSelect/index.vue
	ruoyi-ui/src/permission.js
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
	ruoyi/src/main/java/com/ruoyi/framework/web/domain/BaseEntity.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysPostController.java
	ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml
	ruoyi/src/main/resources/mybatis/system/SysDictDataMapper.xml
	ruoyi/src/main/resources/mybatis/system/SysRoleMapper.xml
	ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml
	ruoyi/src/main/resources/vm/vue/index.vue.vm
	ruoyi/src/main/resources/vm/xml/mapper.xml.vm
2020-06-08 12:01:19 +08:00
疯狂的狮子li
2e37fe9bc9 Merge branch 'master' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus 2020-06-01 13:40:15 +08:00
疯狂的狮子li
8a62368141 同步若依2.3版本 2020-06-01 13:40:01 +08:00
疯狂的狮子li
5f866906d1 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/package.json
	ruoyi-ui/src/api/system/config.js
	ruoyi-ui/src/api/system/dict/data.js
	ruoyi-ui/src/api/system/dict/type.js
	ruoyi-ui/src/assets/styles/element-variables.scss
	ruoyi-ui/src/components/SvgIcon/index.vue
	ruoyi-ui/src/layout/components/Sidebar/Link.vue
	ruoyi-ui/src/layout/components/Sidebar/index.vue
	ruoyi-ui/src/layout/components/TagsView/ScrollPane.vue
	ruoyi-ui/src/layout/components/TagsView/index.vue
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dept/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/system/notice/index.vue
	ruoyi-ui/src/views/system/post/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/system/user/profile/resetPwd.vue
	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
	ruoyi-ui/src/views/system/user/profile/userInfo.vue
	ruoyi-ui/vue.config.js
	ruoyi/pom.xml
	ruoyi/src/main/java/com/ruoyi/common/constant/Constants.java
	ruoyi/src/main/java/com/ruoyi/common/utils/StringUtils.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysConfigController.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDictDataController.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDictTypeController.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/ISysConfigService.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDictDataService.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDictTypeService.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysConfigServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDictDataServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDictTypeServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
	ruoyi/src/main/resources/application.yml
	ruoyi/src/main/resources/vm/sql/sql.vm
	ruoyi/src/main/resources/vm/vue/index.vue.vm
2020-06-01 13:34:08 +08:00
疯狂的狮子li
48999868d8 update README.md. 2020-05-27 17:49:10 +08:00
疯狂的狮子li
35e940f0b5 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/layout/components/Sidebar/index.vue
	ruoyi-ui/src/layout/components/TagsView/index.vue
	ruoyi/src/main/java/com/ruoyi/common/constant/Constants.java
	ruoyi/src/main/java/com/ruoyi/common/constant/UserConstants.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysMenuController.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
2020-05-27 09:05:31 +08:00
疯狂的狮子li
4460fae46f Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue 2020-05-23 10:31:39 +08:00
疯狂的狮子li
c20dabbcdf 更改 README.md 增加改动说明 2020-05-23 10:29:31 +08:00
疯狂的狮子li
98941acd2a Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/api/system/dept.js
	ruoyi-ui/src/utils/request.js
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/logininfor/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/dept/index.vue
	ruoyi/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java
	ruoyi/src/main/java/com/ruoyi/framework/aspectj/lang/annotation/DataSource.java
	ruoyi/src/main/java/com/ruoyi/framework/config/SwaggerConfig.java
	ruoyi/src/main/java/com/ruoyi/framework/web/controller/BaseController.java
	ruoyi/src/main/java/com/ruoyi/framework/web/page/TableDataInfo.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/controller/GenController.java
	ruoyi/src/main/resources/application.yml
2020-05-20 09:15:19 +08:00
疯狂的狮子li
661cc0afdb Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi/src/main/java/com/ruoyi/common/constant/Constants.java
	ruoyi/src/main/java/com/ruoyi/common/utils/http/HttpUtils.java
	ruoyi/src/main/java/com/ruoyi/common/utils/ip/AddressUtils.java
	ruoyi/src/main/resources/application.yml
	ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml
2020-05-14 16:25:43 +08:00
疯狂的狮子li
d350c048b8 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/store/modules/tagsView.js
	ruoyi/src/main/java/com/ruoyi/common/constant/UserConstants.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java
	ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysDeptMapper.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/ISysDeptService.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysDeptServiceImpl.java
	ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml
2020-05-07 17:44:08 +08:00
疯狂的狮子li
b15be7078c 同步ruoyi-vue更新 2020-05-06 11:57:51 +08:00
疯狂的狮子li
42008124b6 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	ruoyi-ui/src/assets/styles/ruoyi.scss
#	ruoyi-ui/src/views/tool/gen/index.vue
2020-04-29 09:17:17 +08:00
疯狂的狮子li
1dae7c9bc9 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/store/modules/permission.js
	ruoyi-ui/src/views/tool/gen/index.vue
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java
	ruoyi/src/main/resources/vm/java/domain.java.vm
	ruoyi/src/main/resources/vm/vue/index.vue.vm
2020-04-29 09:16:29 +08:00
疯狂的狮子li
1062da678f Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/store/modules/permission.js
	ruoyi-ui/src/views/tool/gen/index.vue
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysRoleServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java
	ruoyi/src/main/resources/vm/java/domain.java.vm
	ruoyi/src/main/resources/vm/vue/index.vue.vm
2020-04-25 20:14:40 +08:00
疯狂的狮子li
4bee0d652a 修复前端页面报错 找不到模块问题 2020-04-25 20:09:39 +08:00
疯狂的狮子li
405ad4280c Merge branch 'master' of https://gitee.com/JavaLionLi/RuoYi-Vue-Plus 2020-04-21 09:09:43 +08:00
疯狂的狮子li
44e2618ee2 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/system/config/index.vue
	ruoyi-ui/src/views/system/dept/index.vue
	ruoyi-ui/src/views/system/dict/data.vue
	ruoyi-ui/src/views/system/dict/index.vue
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/system/notice/index.vue
	ruoyi-ui/src/views/system/post/index.vue
	ruoyi-ui/src/views/system/role/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi-ui/src/views/system/user/profile/userAvatar.vue
	ruoyi-ui/src/views/tool/gen/importTable.vue
	ruoyi-ui/src/views/tool/gen/index.vue
	ruoyi/sql/ry_20200415.sql
	ruoyi/src/main/java/com/ruoyi/project/system/domain/SysMenu.java
	ruoyi/src/main/java/com/ruoyi/project/system/domain/vo/RouterVo.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
	ruoyi/src/main/resources/mybatis/system/SysMenuMapper.xml
	ruoyi/src/main/resources/vm/sql/sql.vm
	ruoyi/src/main/resources/vm/vue/index.vue.vm
2020-04-21 09:08:48 +08:00
疯狂的狮子li
09918e338a 修复 undertow 未生效问题 2020-04-19 14:47:25 +08:00
疯狂的狮子li
1dac24c9f8 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi/pom.xml
2020-04-13 12:51:20 +08:00
疯狂的狮子li
76ea06748b 升级fastjson到最新版1.2.68 修复安全加固 2020-04-13 12:48:03 +08:00
疯狂的狮子li
29b131b107 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi/src/main/resources/vm/vue/index.vue.vm
2020-04-10 13:43:18 +08:00
疯狂的狮子li
31a2713012 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/package.json
	ruoyi-ui/src/api/login.js
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/layout/components/Navbar.vue
	ruoyi-ui/src/utils/ruoyi.js
	ruoyi-ui/src/views/tool/build/index.vue
	ruoyi-ui/src/views/tool/gen/editTable.vue
	ruoyi-ui/src/views/tool/gen/index.vue
	ruoyi/src/main/java/com/ruoyi/project/monitor/domain/SysLogininfor.java
	ruoyi/src/main/java/com/ruoyi/project/monitor/domain/SysOperLog.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysLoginController.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/controller/GenController.java
	ruoyi/src/main/resources/mybatis/tool/GenTableMapper.xml
2020-04-03 10:16:28 +08:00
疯狂的狮子li
39d8723159 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi/src/main/resources/mybatis/system/SysMenuMapper.xml
2020-03-24 15:29:45 +08:00
疯狂的狮子li
67657e9f02 升级 v2.2 2020-03-19 09:32:15 +08:00
疯狂的狮子li
2a922caf89 升级 v2.2 2020-03-19 09:22:46 +08:00
疯狂的狮子li
bd7371fb8b 升级 v2.2 2020-03-19 09:21:17 +08:00
疯狂的狮子li
51ae2d1a87 升级 v2.2 2020-03-19 09:13:07 +08:00
疯狂的狮子li
b1afb78ca2 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/package.json
	ruoyi-ui/src/components/SvgIcon/index.vue
	ruoyi-ui/src/layout/components/TagsView/index.vue
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/store/modules/tagsView.js
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi/pom.xml
	ruoyi/src/main/java/com/ruoyi/RuoYiApplication.java
	ruoyi/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
	ruoyi/src/main/java/com/ruoyi/framework/web/domain/Server.java
	ruoyi/src/main/java/com/ruoyi/project/common/CommonController.java
	ruoyi/src/main/resources/application.yml
2020-03-19 09:10:03 +08:00
疯狂的狮子li
2e6bb454f4 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/bin/package.bat
	ruoyi-ui/package.json
	ruoyi-ui/src/assets/styles/element-ui.scss
	ruoyi-ui/src/layout/components/Navbar.vue
	ruoyi-ui/src/layout/components/Sidebar/SidebarItem.vue
	ruoyi-ui/src/layout/components/TagsView/index.vue
	ruoyi-ui/src/router/index.js
	ruoyi-ui/src/views/components/icons/element-icons.js
	ruoyi-ui/src/views/dashboard/mixins/resize.js
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi/src/main/java/com/ruoyi/common/filter/XssFilter.java
	ruoyi/src/main/java/com/ruoyi/common/filter/XssHttpServletRequestWrapper.java
	ruoyi/src/main/java/com/ruoyi/common/utils/text/CharsetKit.java
	ruoyi/src/main/java/com/ruoyi/common/utils/text/Convert.java
	ruoyi/src/main/java/com/ruoyi/common/utils/text/StrFormatter.java
	ruoyi/src/main/java/com/ruoyi/framework/config/FilterConfig.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysNoticeController.java
	ruoyi/src/main/java/com/ruoyi/project/system/mapper/SysNoticeMapper.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java
	ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/controller/GenController.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/service/GenTableColumnServiceImpl.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/util/GenUtils.java
2020-03-16 09:58:40 +08:00
疯狂的狮子li
7507a3ed2a Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/system/user/profile/index.vue
	ruoyi/src/main/java/com/ruoyi/framework/security/service/SysPermissionService.java
	ruoyi/src/main/java/com/ruoyi/framework/security/service/TokenService.java
	ruoyi/src/main/resources/mybatis/monitor/SysOperLogMapper.xml
2020-03-09 09:40:39 +08:00
疯狂的狮子li
bed1fd98ff Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/login/auth-redirect.vue
	ruoyi-ui/src/views/login/components/SocialSignin.vue
	ruoyi-ui/src/views/system/dept/index.vue
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/tool/gen/editTable.vue
2020-03-02 16:15:24 +08:00
疯狂的狮子li
f9b9156c8a Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/monitor/operlog/index.vue
	ruoyi-ui/src/views/tool/gen/importTable.vue
	ruoyi/src/main/resources/vm/java/mapper.java.vm
	ruoyi/src/main/resources/vm/java/service.java.vm
2020-02-28 17:34:44 +08:00
疯狂的狮子li
87c0074fab Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi/src/main/java/com/ruoyi/framework/config/MyBatisConfig.java
2020-02-25 10:48:50 +08:00
疯狂的狮子li
0ba48df61e 升级 v2.1 2020-02-24 10:19:17 +08:00
疯狂的狮子li
db20b4a3d3 升级 v2.1 2020-02-24 10:02:53 +08:00
疯狂的狮子li
6687efd887 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/package.json
	ruoyi-ui/src/components/RuoYi/Git/index.vue
	ruoyi-ui/src/layout/components/Navbar.vue
	ruoyi-ui/src/main.js
	ruoyi-ui/src/utils/index.js
	ruoyi-ui/src/utils/permission.js
	ruoyi-ui/src/utils/ruoyi.js
	ruoyi-ui/src/views/system/dept/index.vue
	ruoyi-ui/src/views/system/menu/index.vue
	ruoyi-ui/src/views/tool/build/index.vue
	ruoyi-ui/src/views/tool/gen/genInfoForm.vue
	ruoyi/pom.xml
	ruoyi/src/main/java/com/ruoyi/common/constant/GenConstants.java
	ruoyi/src/main/java/com/ruoyi/common/utils/html/EscapeUtil.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysMenuController.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/controller/GenController.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/domain/GenTable.java
	ruoyi/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java
	ruoyi/src/main/resources/application.yml
	ruoyi/src/main/resources/mybatis/monitor/SysLogininforMapper.xml
	ruoyi/src/main/resources/mybatis/monitor/SysOperLogMapper.xml
	ruoyi/src/main/resources/vm/java/controller.java.vm
	ruoyi/src/main/resources/vm/java/domain.java.vm
	ruoyi/src/main/resources/vm/vue/index.vue.vm
2020-02-24 09:56:22 +08:00
疯狂的狮子li
c9527fcf42 修复地址开关无效问题 2020-02-24 09:23:37 +08:00
疯狂的狮子li
a1cf719d26 Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue
 Conflicts:
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi/src/main/java/com/ruoyi/project/system/domain/SysUser.java
2020-02-18 14:47:23 +08:00
疯狂的狮子li
7cd5c26337 修复sql报错 2020-02-16 16:30:10 +08:00
疯狂的狮子li
fbba782f5c 增加彩色日志输出 调整优化日志格式 2020-02-14 13:58:35 +08:00
疯狂的狮子li
a108574387 增加彩色日志输出 调整优化日志格式 2020-02-14 13:40:39 +08:00
疯狂的狮子li
de74b802d4 web 容器使用 undertow 性能更强 2020-02-14 13:37:19 +08:00
疯狂的狮子li
83c427c1bb 增加 代码生成与MybatisPlus测试案例 cstest 2020-02-14 13:36:52 +08:00
疯狂的狮子li
7c8d062d58 修改 代码生成器 适配 MybatisPlus 2020-02-14 13:27:55 +08:00
疯狂的狮子li
c7bc8e415f 集成 Lombok + MybatisPlus 3.3.0 2020-02-14 13:27:09 +08:00
疯狂的狮子li
2841620be6 初始化项目 2020-02-13 10:48:51 +08:00
疯狂的狮子li
b279aa391c 删除文件 ruoyi 2020-02-13 10:47:22 +08:00
疯狂的狮子li
abdb1048ed 删除文件 ruoyi-ui 2020-02-13 10:47:14 +08:00
疯狂的狮子li
a7fa51303b 删除文件 LICENSE 2020-02-13 10:47:08 +08:00
疯狂的狮子li
3dd52a3f7d 删除文件 README.md 2020-02-13 10:47:02 +08:00
1192 changed files with 122410 additions and 51891 deletions

18
.editorconfig Normal file
View File

@@ -0,0 +1,18 @@
# http://editorconfig.org
root = true
# 空格替代Tab缩进在各种编辑工具下效果一致
[*]
indent_style = space
indent_size = 4
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
[*.{json,yml,yaml}]
indent_size = 2
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false

View File

@@ -0,0 +1,49 @@
### 使用版本(未按照模板填写直接删除)
- jdk版本(带上尾号): 例如 1.8.0_202
- 框架版本(项目启动时输出的版本号): 例如 4.4.0
- 其他依赖版本(你觉得有必要的):
### 问题前提
> 功能不好用 不会用 是否已经看过项目文档
> 项目运行报错 是否已经拿着报错信息去百度 常见报错百度百度足以
> 是否搜索过其他issue 一些已经解决的问题 会在issue内留下解决方法
> 无法线上解决或者与框架无关的问题的欢迎加VIP群跟作者一对一谈
### 异常模块
> 此报错都涉及到那些系统模块
例如 ruoyi-system ruoyi-auth 等等
### 问题描述
> 越详细越容易直击问题所在
已知: XXX功能不好用 或 XXX数据不正常 等等
### 希望结果
> 想知道你觉得怎么样是正常或者合理的
希望功能可以有XXX结果 或者 XXX现象
### 重现步骤
> 作者并不知道这个问题是如何出现的
- 1
- 2
- 3
### 相关代码与报错信息(请勿发混乱格式)
> 代码可按照如下形式提供或者截图均可 越详细越好
> 大多数问题都是 代码编写错误问题 逻辑问题 或者用法错误等问题
```java
public class XXX {
}
```

View File

@@ -0,0 +1,50 @@
name: Bug 反馈
description: 当你中发现了一个 Bug导致应用崩溃或抛出异常或者有一个组件存在问题或者某些地方看起来不对劲。
title: "[Bug]: "
labels: ["bug"]
body:
- type: textarea
id: version
attributes:
label: 版本
description: 你当前正在使用我们软件的哪个版本(pom文件内的版本号)
value: |
jdk版本(带上尾号): 例如 1.8.0
框架版本(项目启动时输出的版本号): 例如 4.4.0
其他依赖版本(你觉得有必要的):
validations:
required: true
- type: checkboxes
attributes:
label: 功能不好用不会用是否已经看过项目文档?
options:
- label: https://plus-doc.dromara.org
required: true
- type: checkboxes
attributes:
label: 这个问题是否已经存在?
options:
- label: 我已经搜索过现有的问题 (https://gitee.com/dromara/RuoYi-Vue-Plus/issues)
required: true
- type: textarea
attributes:
label: 希望结果
description: 想知道你觉得怎么样是正常或者合理的。
validations:
required: true
- type: markdown
attributes:
label: 如何复现
description: 请详细告诉我们如何复现你遇到的问题
value: |
如涉及代码 可提供一个最小代码示例 并使用```附上它 或者截图均可 越详细越好<br>
大多数问题都是 代码编写错误问题 逻辑问题 或者用法错误等问题
validations:
required: true
- type: textarea
attributes:
label: 相关代码与报错信息(请勿发混乱格式)
description: 如果可以的话,上传任何关于 bug 的截图。
value: |
[在这里上传图片]

View File

@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: RuoYi-Vue-Plus 文档中心
url: https://plus-doc.dromara.org
about: 提供 RuoYi-Vue-Plus 搭建使用指南、平台基本开发使用方式、介绍、基础知识和常见问题解答

View File

@@ -0,0 +1,43 @@
name: 功能建议
description: 对本项目提出一个功能建议
title: "[功能建议]: "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
感谢提出功能建议我们将仔细考虑请持续关注该issues在加入计划后我们会有贡献者设置为负责人同时状态成为进行中。
- type: textarea
id: related-problem
attributes:
label: 你的功能建议是否和某个问题相关?
description: 清晰并简洁地描述问题是什么,例如,当我...时,我总是感到困扰。
validations:
required: false
- type: textarea
id: desired-solution
attributes:
label: 你希望看到什么解决方案?
description: 清晰并简洁地描述你希望发生的事情。
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: 你考虑过哪些替代方案?
description: 清晰并简洁地描述你考虑过的任何替代解决方案或功能。
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: 你有其他上下文或截图吗?
description: 在此处添加有关功能请求的任何其他上下文或截图。
validations:
required: false
- type: checkboxes
attributes:
label: 意向参与贡献
options:
- label: 我有意向参与具体功能的开发实现并将代码贡献回到上游社区
required: false

View File

@@ -0,0 +1,7 @@
### 更改目的 解决了什么问题(请提交到dev分支)
### 改动逻辑 这么写的思路(让作者更好的理解你的意图)
### 测试 都做了哪些测试(未经过测试不采纳)

90
.gitignore vendored
View File

@@ -1,44 +1,46 @@
######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
target/
!.mvn/wrapper/maven-wrapper.jar
######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/
######################################################################
# Others
*.log
*.xml.versionsBackup
*.swp
!*/build/*.java
!*/build/*.html
!*/build/*.xml
######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
target/
!.mvn/wrapper/maven-wrapper.jar
######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### JRebel ###
rebel.xml
### NetBeans ###
nbproject/private/
build/*
nbbuild/
nbdist/
.nb-gradle/
######################################################################
# Others
*.log
*.xml.versionsBackup
*.swp
!*/build/*.java
!*/build/*.html
!*/build/*.xml

View File

@@ -0,0 +1,12 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="ruoyi-monitor-admin" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-monitor-admin:4.8.2" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-extend/ruoyi-monitor-admin/Dockerfile" />
</settings>
</deployment>
<method v="2" />
</configuration>
</component>

12
.run/ruoyi-server.run.xml Normal file
View File

@@ -0,0 +1,12 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="ruoyi-server" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-server:4.8.2" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-admin/Dockerfile" />
</settings>
</deployment>
<method v="2" />
</configuration>
</component>

View File

@@ -0,0 +1,12 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="ruoyi-xxl-job-admin" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
<deployment type="dockerfile">
<settings>
<option name="imageTag" value="ruoyi/ruoyi-xxl-job-admin:4.8.2" />
<option name="buildOnly" value="true" />
<option name="sourceFilePath" value="ruoyi-extend/ruoyi-xxl-job-admin/Dockerfile" />
</settings>
</deployment>
<method v="2" />
</configuration>
</component>

View File

@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2018 RuoYi
Copyright (c) 2019 RuoYi-Vue-Plus
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
@@ -17,4 +17,4 @@ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

236
README.md
View File

@@ -1,85 +1,171 @@
<img src="https://foruda.gitee.com/images/1679673773341074847/178e8451_1766278.png" width="50%" height="50%">
<div style="height: 10px; clear: both;"></div>
- - -
## 版本状态说明
由于 springboot 2.X 与 vue 2.X 官方均宣布停止维护, 故而 框架 4.X 版本 进入维护状态(只处理问题不更新功能)
停止维护时间预计: 2024年6-10月具体根据使用人数动态决定, 此版本已经相当稳定 即便不更新功能也不影响使用
如果依旧选择使用 jdk8 或者 jdk11 可以放心使用此版本, 如果希望使用 jdk17 或者 jdk21 可以选择使用 5.X 分支
## 平台简介
若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
[![码云Gitee](https://gitee.com/dromara/RuoYi-Vue-Plus/badge/star.svg?theme=blue)](https://gitee.com/dromara/RuoYi-Vue-Plus)
[![GitHub](https://img.shields.io/github/stars/JavaLionLi/RuoYi-Vue-Plus.svg?style=social&label=Stars)](https://github.com/dromara/RuoYi-Vue-Plus)
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://gitee.com/dromara/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)
<br>
[![RuoYi-Vue-Plus](https://img.shields.io/badge/RuoYi_Vue_Plus-4.8.2-success.svg)](https://gitee.com/dromara/RuoYi-Vue-Plus)
[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.7-blue.svg)]()
[![JDK-8+](https://img.shields.io/badge/JDK-8-green.svg)]()
[![JDK-11](https://img.shields.io/badge/JDK-11-green.svg)]()
* 前端采用Vue、Element UI。
* 后端采用Spring Boot、Spring Security、Redis & Jwt。
* 权限认证使用Jwt支持多终端认证系统。
* 支持加载动态权限菜单,多方式轻松权限控制。
* 高效率开发,使用代码生成器可以一键生成前后端代码。
* 提供了单应用版本[RuoYi-Vue-fast](https://github.com/yangzongzhuan/RuoYi-Vue-fast)Oracle版本[RuoYi-Vue-Oracle](https://github.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。
* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud)
* 特别鸣谢:[element](https://github.com/ElemeFE/element)[vue-element-admin](https://github.com/PanJiaChen/vue-element-admin)[eladmin-web](https://github.com/elunez/eladmin-web)。
* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)&nbsp;&nbsp;
* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)&nbsp;&nbsp;
> RuoYi-Vue-Plus 是重写 RuoYi-Vue 针对 `分布式集群` 场景全方位升级(不兼容原框架)
## 内置功能
> 项目代码、文档 均开源免费可商用 遵循开源协议在项目中保留开源协议文件即可<br>
活到老写到老 为兴趣而开源 为学习而开源 为让大家真正可以学到技术而开源
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
3. 岗位管理:配置系统用户所属担任职务。
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
7. 参数管理:对系统动态配置常用参数。
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
10. 登录日志:系统登录日志记录查询包含登录异常。
11. 在线用户:当前系统中活跃用户状态监控。
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
13. 代码生成前后端代码的生成java、html、xml、sql支持CRUD下载 。
14. 系统接口根据业务代码自动生成相关的api接口文档。
15. 服务监控监视当前系统CPU、内存、磁盘、堆栈等相关信息。
16. 缓存监控:对系统的缓存信息查询,命令统计等。
17. 在线构建器拖动表单元素生成相应的HTML代码。
18. 连接池监视监视当前系统数据库连接池状态可进行分析SQL找出系统性能瓶颈。
> 系统演示: [传送门](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4836388&doc_id=1469725)
## 在线体验
# 本框架与RuoYi的功能差异
- admin/admin123
- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
演示地址http://vue.ruoyi.vip
文档地址http://doc.ruoyi.vip
## 演示图
<table>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/cd1f90be5f2684f4560c9519c0f2a232ee8.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/1cbcf0e6f257c7d3a063c0e3f2ff989e4b3.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-8074972883b5ba0622e13246738ebba237a.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-9f88719cdfca9af2e58b352a20e23d43b12.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-39bf2584ec3a529b0d5a3b70d15c9b37646.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-936ec82d1f4872e1bc980927654b6007307.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-b2d62ceb95d2dd9b3fbe157bb70d26001e9.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-d67451d308b7a79ad6819723396f7c3d77a.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/5e8c387724954459291aafd5eb52b456f53.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/644e78da53c2e92a95dfda4f76e6d117c4b.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-8370a0d02977eebf6dbf854c8450293c937.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-49003ed83f60f633e7153609a53a2b644f7.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-d4fe726319ece268d4746602c39cffc0621.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-c195234bbcd30be6927f037a6755e6ab69c.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/b6115bc8c31de52951982e509930b20684a.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-5e4daac0bb59612c5038448acbcef235e3a.png"/></td>
</tr>
</table>
| 功能 | 本框架 | RuoYi |
|-------------|-------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------|
| 前端项目 | 基于vue3-element-admin开源项目重写<br/>Vue3 + TS + ElementPlus | 基于Vue2/Vue3 + JS |
| 后端项目结构 | 采用插件化 + 扩展包形式 结构解耦 易于扩展 | 模块相互注入耦合严重难以扩展 |
| 后端代码风格 | 严格遵守Alibaba规范与项目统一配置的代码格式化 | 代码书写与常规结构不同阅读障碍大 |
| Web容器 | 采用 Undertow 基于 XNIO 的高性能容器 | 采用 Tomcat |
| 权限认证 | 采用 Sa-Token、Jwt 静态使用功能齐全 低耦合 高扩展 | Spring Security 配置繁琐扩展性极差 |
| 权限注解 | 采用 Sa-Token 支持注解 登录校验、角色校验、权限校验、二级认证校验、HttpBasic校验、忽略校验<br/>角色与权限校验支持多种条件 如 `AND` `OR``权限 OR 角色` 等复杂表达式 | 只支持是否存在匹配 |
| 关系数据库支持 | 原生支持 MySQL、Oracle、PostgreSQL、SQLServer<br/>可同时使用异构切换 | 支持 Mysql、Oracle 不支持同时使用、不支持异构切换 |
| 缓存数据库 | 支持 Redis 5-7 支持大部分新功能特性 如 分布式限流、分布式队列 | Redis 简单 get set 支持 |
| Redis客户端 | 采用 Redisson Redis官方推荐 基于Netty的客户端工具<br/>支持Redis 90%以上的命令 底层优化规避很多不正确的用法 例如: keys被转换为scan<br/>支持单机、哨兵、单主集群、多主集群等模式 | Lettuce + RedisTemplate 支持模式少 工具使用繁琐<br/>连接池采用 common-pool Bug多经常性出问题 |
| 缓存注解 | 采用 Spring-Cache 注解 对其扩展了实现支持了更多功能<br/>例如 过期时间 最大空闲时间 组最大长度等 只需一个注解即可完成数据自动缓存 | 需手动编写Redis代码逻辑 |
| ORM框架 | 采用 Mybatis-Plus 基于对象几乎不用写SQL全java操作 功能强大插件众多<br/>例如多租户插件 分页插件 乐观锁插件等等 | 采用 Mybatis 基于XML需要手写SQL |
| SQL监控 | 采用 p6spy 可输出完整SQL与执行时间监控 | log输出 需手动拼接sql与参数无法快速查看调试问题 |
| 数据分页 | 采用 Mybatis-Plus 分页插件<br/>框架对其进行了扩展 对象化分页对象 支持多种方式传参 支持前端多排序 复杂排序 | 采用 PageHelper 仅支持单查询分页 参数只能从param传 只能单排序 功能扩展性差 体验不好 |
| 数据权限 | 采用 Mybatis-Plus 插件 自行分析拼接SQL 无感式过滤<br/>只需为Mapper设置好注解条件 支持多种自定义 不限于部门角色 | 采用 注解+aop 实现 基于部门角色 生成的sql兼容性差 不支持其他业务扩展<br/>生成sql后需手动拼接到具体业务sql上 对于多个Mapper查询不起作用 |
| 数据脱敏 | 采用 注解 + jackson 序列化期间脱敏 支持不同模块不同的脱敏条件<br/>支持多种策略 如身份证、手机号、地址、邮箱、银行卡等 可自行扩展 | 无 |
| 数据加解密 | 采用 注解 + mybatis 拦截器 对存取数据期间自动加解密<br/>支持多种策略 如BASE64、AES、RSA、SM2、SM4等 | 无 |
| 数据翻译 | 采用 注解 + jackson 序列化期间动态修改数据 数据进行翻译<br/>支持多种模式: `映射翻译` `直接翻译` `其他扩展条件翻译` 接口化两步即可完成自定义扩展 内置多种翻译实现 | 无 |
| 多数据源框架 | 采用 dynamic-datasource 支持世面大部分数据库<br/>通过yml配置即可动态管理异构不同种类的数据库 也可通过前端页面添加数据源<br/>支持spel表达式从请求头参数等条件切换数据源 | 基于 druid 手动编写代码配置数据源 配置繁琐 支持性差 |
| 多数据源事务 | 采用 dynamic-datasource 支持多数据源不同种类的数据库事务回滚 | 不支持 |
| 数据库连接池 | 采用 HikariCP Spring官方内置连接池 配置简单 以性能与稳定性闻名天下 | 采用 druid bug众多 社区维护差 活跃度低 配置众多繁琐性能一般 |
| 数据库主键 | 采用 雪花ID 基于时间戳的 有序增长 唯一ID 再也不用为分库分表 数据合并主键冲突重复而发愁 | 采用 数据库自增ID 支持数据量有限 不支持多数据源主键唯一 |
| WebSocket协议 | 基于 Spring 封装的 WebSocket 协议 扩展了Token鉴权与分布式会话同步 不再只是基于单机的废物 | 无 |
| 序列化 | 采用 Jackson Spring官方内置序列化 靠谱!!! | 采用 fastjson bugjson 远近闻名 |
| 分布式幂等 | 参考美团GTIS防重系统简化实现(细节可看文档) | 手动编写注解基于aop实现 |
| 分布式任务调度 | 采用 Xxl-Job 天生支持分布式 统一的管理中心 | 采用 Quartz 基于数据库锁性能差 集群需要做很多配置与改造 |
| 文件存储 | 采用 Minio 分布式文件存储 天生支持多机、多硬盘、多分片、多副本存储<br/>支持权限管理 安全可靠 文件可加密存储 | 采用 本机文件存储 文件裸漏 易丢失泄漏 不支持集群有单点效应 |
| 云存储 | 采用 AWS S3 协议客户端 支持 七牛、阿里、腾讯 等一切支持S3协议的厂家 | 不支持 |
| 短信 | 采用 sms4j 短信融合包 支持数十种短信厂家 只需在yml配置好厂家密钥即可使用 可多厂家共用 | 不支持 |
| 邮件 | 采用 mail-api 通用协议支持大部分邮件厂商 | 不支持 |
| 接口文档 | 采用 SpringDoc、javadoc 无注解零入侵基于java注释<br/>只需把注释写好 无需再写一大堆的文档注解了 | 采用 Springfox 已停止维护 需要编写大量的注解来支持文档生成 |
| 校验框架 | 采用 Validation 支持注解与工具类校验 注解支持国际化 | 仅支持注解 且注解不支持国际化 |
| Excel框架 | 采用 Alibaba EasyExcel 基于插件化<br/>框架对其增加了很多功能 例如 自动合并相同内容 自动排列布局 字典翻译等 | 基于 POI 手写实现 功能有限 复杂 扩展性差 |
| 工具类框架 | 采用 Hutool、Lombok 上百种工具覆盖90%的使用需求 基于注解自动生成 get set 等简化框架大量代码 | 手写工具稳定性差易出问题 工具数量有限 代码臃肿需自己手写 get set 等 |
| 监控框架 | 采用 SpringBoot-Admin 基于SpringBoot官方 actuator 探针机制<br/>实时监控服务状态 框架还为其扩展了在线日志查看监控 | 无 |
| 链路追踪 | 采用 Apache SkyWalking 还在为请求不知道去哪了 到哪出了问题而烦恼吗<br/>用了它即可实时查看请求经过的每一处每一个节点 | 无 |
| 代码生成器 | 只需设计好表结构 一键生成所有crud代码与页面<br/>降低80%的开发量 把精力都投入到业务设计上<br/>框架为其适配MP、SpringDoc规范化代码 同时支持动态多数据源代码生成 | 代码生成原生结构 只支持单数据源生成 |
| 部署方式 | 支持 Docker 编排 一键搭建所有环境 让开发人员从此不再为搭建环境而烦恼 | 原生jar部署 其他环境需手动下载安装 自行搭建 |
| 项目路径修改 | 提供详细的修改方案文档 并为其做了一些改动 非常简单即可修改成自己想要的 | 需要做很多改造 文档说明有限 |
| 国际化 | 基于请求头动态返回不同语种的文本内容 开发难度低 有对应的工具类 支持大部分注解内容国际化 | 只提供基础功能 其他需自行编写扩展 |
| 代码单例测试 | 提供单例测试 使用方式编写方法与maven多环境单测插件 | 只提供基础功能 其他需自行编写扩展 |
| Demo案例 | 提供框架功能的实际使用案例 单独一个模块提供了很多很全 | 无 |
## 若依前后端分离交流群
## 本框架与RuoYi的业务差异
| 业务 | 功能说明 | 本框架 | RuoYi |
|--------|-----------------------------------------|-----|------------------|
| 用户管理 | 用户的管理配置 如:新增用户、分配用户所属部门、角色、岗位等 | 支持 | 支持 |
| 部门管理 | 配置系统组织机构(公司、部门、小组) 树结构展现支持数据权限 | 支持 | 支持 |
| 岗位管理 | 配置系统用户所属担任职务 | 支持 | 支持 |
| 菜单管理 | 配置系统菜单、操作权限、按钮权限标识等 | 支持 | 支持 |
| 角色管理 | 角色菜单权限分配、设置角色按机构进行数据范围权限划分 | 支持 | 支持 |
| 字典管理 | 对系统中经常使用的一些较为固定的数据进行维护 | 支持 | 支持 |
| 参数管理 | 对系统动态配置常用参数 | 支持 | 支持 |
| 通知公告 | 系统通知公告信息发布维护 | 支持 | 支持 |
| 操作日志 | 系统正常操作日志记录和查询 系统异常信息日志记录和查询 | 支持 | 支持 |
| 登录日志 | 系统登录日志记录查询包含登录异常 | 支持 | 支持 |
| 文件管理 | 系统文件展示、上传、下载、删除等管理 | 支持 | 无 |
| 文件配置管理 | 系统文件上传、下载所需要的配置信息动态添加、修改、删除等管理 | 支持 | 无 |
| 在线用户管理 | 已登录系统的在线用户信息监控与强制踢出操作 | 支持 | 支持 |
| 定时任务 | 运行报表、任务管理(添加、修改、删除)、日志管理、执行器管理等 | 支持 | 仅支持任务与日志管理 |
| 代码生成 | 多数据源前后端代码的生成java、html、xml、sql支持CRUD下载 | 支持 | 仅支持单数据源 |
| 系统接口 | 根据业务代码自动生成相关的api接口文档 | 支持 | 支持 |
| 服务监控 | 监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等 | 支持 | 仅支持单机CPU、内存、磁盘监控 |
| 缓存监控 | 对系统的缓存信息查询,命令统计等。 | 支持 | 支持 |
| 在线构建器 | 拖动表单元素生成相应的HTML代码。 | 支持 | 支持 |
| 使用案例 | 系统的一些功能案例 | 支持 | 不支持 |
## 参考文档
使用框架前请仔细阅读文档重点注意事项
<br>
>[初始化项目 必看](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4164117&doc_id=1469725)
>>[https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4164117&doc_id=1469725](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4164117&doc_id=1469725)
>
>[专栏与视频 入门必看](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=5473272&doc_id=1469725)
>>[https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=5473272&doc_id=1469725](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=5473272&doc_id=1469725)
>
>[部署项目 必看](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4219382&doc_id=1469725)
>>[https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4219382&doc_id=1469725](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4219382&doc_id=1469725)
>
>[参考文档 Wiki](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages)
>>[https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages)
## 软件架构图
![Plus部署架构图](https://images.gitee.com/uploads/images/2021/1112/202137_673ac5d2_1766278.png "Plus部署架构图.png")
## 贡献代码
欢迎各路英雄豪杰 `PR` 代码 请提交到 `dev` 开发分支 统一测试发版
框架定位为 `通用后台管理系统(分布式集群强化)` 原则上不接受业务 `PR`
### 其他
* 同步升级 RuoYi-Vue
* GitHub 地址 [RuoYi-Vue-Plus-github](https://github.com/dromara/RuoYi-Vue-Plus)
* 单模块 分支 [RuoYi-Vue-Plus-fast](https://gitee.com/dromara/RuoYi-Vue-Plus/tree/fast/)
* 微服务 分支 [RuoYi-Cloud-Plus](https://gitee.com/JavaLionLi/RuoYi-Cloud-Plus)
* 用户扩展项目 [扩展项目列表](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/pages?sort_id=4478302&doc_id=1469725)
## 加群与捐献
>[加群与捐献](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/加群与捐献?sort_id=4104598)
>>[https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/加群与捐献?sort_id=4104598](https://gitee.com/dromara/RuoYi-Vue-Plus/wikis/加群与捐献?sort_id=4104598)
## 捐献作者
作者为兼职做开源,平时还需要工作,如果帮到了您可以请作者吃个盒饭
<img src="https://images.gitee.com/uploads/images/2022/0218/213734_b1b8197f_1766278.jpeg" width="300px" height="450px" />
<img src="https://images.gitee.com/uploads/images/2021/0525/101713_3d18b119_1766278.jpeg" width="300px" height="450px" />
## 演示图例
| | |
|--------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------|
| ![输入图片说明](https://foruda.gitee.com/images/1680077524361362822/270bb429_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680077619939771291/989bf9b6_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680077681751513929/1c27c5bd_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680077721559267315/74d63e23_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680077765638904515/1b75d4a6_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078026375951297/eded7a4b_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078237104531207/0eb1b6a7_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078254306078709/5931e22f_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078287971528493/0b9af60a_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078308138770249/8d3b6696_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078352553634393/db5ef880_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078378238393374/601e4357_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078414983206024/2aae27c1_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078446738419874/ecce7d59_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078475971341775/149e8634_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078491666717143/3fadece7_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078558863188826/fb8ced2a_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078574561685461/ae68a0b2_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078594932772013/9d8bfec6_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078626493093532/fcfe4ff6_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078643608812515/0295bd4f_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078685196286463/d7612c81_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078703877318597/56fce0bc_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078716586545643/b6dbd68f_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078734103217688/eb1e6aa6_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078759131415480/73c525d8_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078779416197879/75e3ed02_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078802329118061/77e10915_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078893627848351/34a1c342_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078928175016986/f126ec4a_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078941718318363/b68a0f72_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680078963175518631/3bb769a1_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680078982294090567/b31c343d_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680079000642440444/77ca82a9_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680079020995074177/03b7d52e_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680079039367822173/76811806_1766278.png "屏幕截图") |
| ![输入图片说明](https://foruda.gitee.com/images/1680079274333484664/4dfdc7c0_1766278.png "屏幕截图") | ![输入图片说明](https://foruda.gitee.com/images/1680079290467458224/d6715fcf_1766278.png "屏幕截图") |
QQ群 [![加入QQ群](https://img.shields.io/badge/已满-937441-blue.svg)](https://jq.qq.com/?_wv=1027&k=5bVB1og) [![加入QQ群](https://img.shields.io/badge/已满-887144332-blue.svg)](https://jq.qq.com/?_wv=1027&k=5eiA4DH) [![加入QQ群](https://img.shields.io/badge/已满-180251782-blue.svg)](https://jq.qq.com/?_wv=1027&k=5AxMKlC) [![加入QQ群](https://img.shields.io/badge/已满-104180207-blue.svg)](https://jq.qq.com/?_wv=1027&k=51G72yr) [![加入QQ群](https://img.shields.io/badge/186866453-blue.svg)](https://jq.qq.com/?_wv=1027&k=VvjN2nvu) 点击按钮入群。

View File

@@ -1,12 +0,0 @@
@echo off
echo.
echo [<5B><>Ϣ] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
echo.
%~d0
cd %~dp0
cd ..
call mvn clean
pause

View File

@@ -1,12 +0,0 @@
@echo off
echo.
echo [<5B><>Ϣ] <20><><EFBFBD><EFBFBD>Web<65><62><EFBFBD>̣<EFBFBD><CCA3><EFBFBD><EFBFBD><EFBFBD>war/jar<61><72><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
echo.
%~d0
cd %~dp0
cd ..
call mvn clean package -Dmaven.test.skip=true
pause

View File

@@ -1,14 +0,0 @@
@echo off
echo.
echo [<5B><>Ϣ] <20><><EFBFBD><EFBFBD>Web<65><62><EFBFBD>̡<EFBFBD>
echo.
cd %~dp0
cd ../ruoyi-admin/target
set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -jar %JAVA_OPTS% ruoyi-admin.jar
cd bin
pause

Binary file not shown.

708
pom.xml
View File

@@ -1,277 +1,431 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi</artifactId>
<version>3.4.0</version>
<name>ruoyi</name>
<url>http://www.ruoyi.vip</url>
<description>若依管理系统</description>
<properties>
<ruoyi.version>3.4.0</ruoyi.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<druid.version>1.2.4</druid.version>
<bitwalker.version>1.21</bitwalker.version>
<swagger.version>2.9.2</swagger.version>
<kaptcha.version>2.3.2</kaptcha.version>
<mybatis-spring-boot.version>2.1.4</mybatis-spring-boot.version>
<pagehelper.boot.version>1.3.0</pagehelper.boot.version>
<fastjson.version>1.2.75</fastjson.version>
<oshi.version>5.6.0</oshi.version>
<jna.version>5.7.0</jna.version>
<commons.io.version>2.5</commons.io.version>
<commons.fileupload.version>1.3.3</commons.fileupload.version>
<commons.collections.version>3.2.2</commons.collections.version>
<poi.version>4.1.2</poi.version>
<velocity.version>1.7</velocity.version>
<jwt.version>0.9.1</jwt.version>
</properties>
<!-- 依赖声明 -->
<dependencyManagement>
<dependencies>
<!-- SpringBoot的依赖配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.13.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--阿里数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>${bitwalker.version}</version>
</dependency>
<!-- SpringBoot集成mybatis框架 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis-spring-boot.version}</version>
</dependency>
<!-- pagehelper 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.boot.version}</version>
</dependency>
<!-- 获取系统信息 -->
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>${oshi.version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>${jna.version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>${jna.version}</version>
</dependency>
<!-- swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
<exclusions>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
</exclusion>
<exclusion>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- swagger2-UI-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<!--io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons.io.version}</version>
</dependency>
<!--文件上传工具类 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons.fileupload.version}</version>
</dependency>
<!-- excel工具 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<!--velocity代码生成使用模板 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>${velocity.version}</version>
<exclusions>
<exclusion>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- collections工具类 -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>${commons.collections.version}</version>
</dependency>
<!-- 阿里JSON解析器 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<!--Token生成与解析-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jwt.version}</version>
</dependency>
<!--验证码 -->
<dependency>
<groupId>com.github.penggle</groupId>
<artifactId>kaptcha</artifactId>
<version>${kaptcha.version}</version>
</dependency>
<!-- 定时任务-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-quartz</artifactId>
<version>${ruoyi.version}</version>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-generator</artifactId>
<version>${ruoyi.version}</version>
</dependency>
<!-- 核心模块-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-framework</artifactId>
<version>${ruoyi.version}</version>
</dependency>
<!-- 系统模块-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-system</artifactId>
<version>${ruoyi.version}</version>
</dependency>
<!-- 通用工具-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common</artifactId>
<version>${ruoyi.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<modules>
<module>ruoyi-admin</module>
<module>ruoyi-framework</module>
<module>ruoyi-system</module>
<module>ruoyi-quartz</module>
<module>ruoyi-generator</module>
<module>ruoyi-common</module>
</modules>
<packaging>pom</packaging>
<dependencies>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>public</id>
<name>aliyun nexus</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>aliyun nexus</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-vue-plus</artifactId>
<version>4.8.2</version>
<name>RuoYi-Vue-Plus</name>
<url>https://gitee.com/dromara/RuoYi-Vue-Plus</url>
<description>RuoYi-Vue-Plus后台管理系统</description>
<properties>
<ruoyi-vue-plus.version>4.8.2</ruoyi-vue-plus.version>
<spring-boot.version>2.7.18</spring-boot.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven-jar-plugin.version>3.2.2</maven-jar-plugin.version>
<spring-boot.mybatis>2.2.2</spring-boot.mybatis>
<springdoc.version>1.6.15</springdoc.version>
<poi.version>5.2.3</poi.version>
<easyexcel.version>3.3.2</easyexcel.version>
<velocity.version>2.3</velocity.version>
<satoken.version>1.37.0</satoken.version>
<mybatis-plus.version>3.5.4</mybatis-plus.version>
<p6spy.version>3.9.1</p6spy.version>
<hutool.version>5.8.22</hutool.version>
<okhttp.version>4.10.0</okhttp.version>
<spring-boot-admin.version>2.7.11</spring-boot-admin.version>
<redisson.version>3.20.1</redisson.version>
<lock4j.version>2.2.3</lock4j.version>
<dynamic-ds.version>3.5.2</dynamic-ds.version>
<alibaba-ttl.version>2.14.2</alibaba-ttl.version>
<xxl-job.version>2.4.0</xxl-job.version>
<lombok.version>1.18.30</lombok.version>
<bouncycastle.version>1.72</bouncycastle.version>
<!-- 离线IP地址定位库 -->
<ip2region.version>2.7.0</ip2region.version>
<!-- OSS 配置 -->
<aws-java-sdk-s3.version>1.12.540</aws-java-sdk-s3.version>
<!-- SMS 配置 -->
<sms4j.version>2.2.0</sms4j.version>
</properties>
<profiles>
<profile>
<id>local</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>local</profiles.active>
<logging.level>info</logging.level>
</properties>
</profile>
<profile>
<id>dev</id>
<properties>
<!-- 环境标识,需要与配置文件的名称相对应 -->
<profiles.active>dev</profiles.active>
<logging.level>info</logging.level>
</properties>
<activation>
<!-- 默认环境 -->
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
<logging.level>warn</logging.level>
</properties>
</profile>
</profiles>
<!-- 依赖声明 -->
<dependencyManagement>
<dependencies>
<!-- SpringBoot的依赖配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- hutool 的依赖配置-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-bom</artifactId>
<version>${hutool.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-webmvc-core</artifactId>
<version>${springdoc.version}</version>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-javadoc</artifactId>
<version>${springdoc.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>${easyexcel.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- velocity代码生成使用模板 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${velocity.version}</version>
</dependency>
<!-- Sa-Token 权限认证, 在线文档http://sa-token.dev33.cn/ -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
<version>${satoken.version}</version>
</dependency>
<!-- Sa-Token 整合 jwt -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-jwt</artifactId>
<version>${satoken.version}</version>
<exclusions>
<exclusion>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- dynamic-datasource 多数据源-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>${dynamic-ds.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- sql性能分析插件 -->
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
<version>${p6spy.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>${okhttp.version}</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>${aws-java-sdk-s3.version}</version>
</dependency>
<!--短信sms4j-->
<dependency>
<groupId>org.dromara.sms4j</groupId>
<artifactId>sms4j-spring-boot-starter</artifactId>
<version>${sms4j.version}</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<!--redisson-->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>${redisson.version}</version>
<exclusions>
<exclusion>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-data-30</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-data-27</artifactId>
<version>${redisson.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>lock4j-redisson-spring-boot-starter</artifactId>
<version>${lock4j.version}</version>
</dependency>
<!-- xxl-job-core -->
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>${xxl-job.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
<version>${alibaba-ttl.version}</version>
</dependency>
<!-- 离线IP地址定位库 ip2region -->
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
<version>${ip2region.version}</version>
</dependency>
<!-- 加密包引入 -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15to18</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<!-- 定时任务 -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-job</artifactId>
<version>${ruoyi-vue-plus.version}</version>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-generator</artifactId>
<version>${ruoyi-vue-plus.version}</version>
</dependency>
<!-- 核心模块-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-framework</artifactId>
<version>${ruoyi-vue-plus.version}</version>
</dependency>
<!-- 系统模块-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-system</artifactId>
<version>${ruoyi-vue-plus.version}</version>
</dependency>
<!-- 通用工具-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-common</artifactId>
<version>${ruoyi-vue-plus.version}</version>
</dependency>
<!-- OSS对象存储模块 -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-oss</artifactId>
<version>${ruoyi-vue-plus.version}</version>
</dependency>
<!-- SMS短信模块 -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-sms</artifactId>
<version>${ruoyi-vue-plus.version}</version>
</dependency>
<!-- demo模块 -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-demo</artifactId>
<version>${ruoyi-vue-plus.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<modules>
<module>ruoyi-admin</module>
<module>ruoyi-framework</module>
<module>ruoyi-system</module>
<module>ruoyi-job</module>
<module>ruoyi-generator</module>
<module>ruoyi-common</module>
<module>ruoyi-demo</module>
<module>ruoyi-extend</module>
<module>ruoyi-oss</module>
<module>ruoyi-sms</module>
</modules>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.9.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<annotationProcessorPaths>
<path>
<groupId>com.github.therapi</groupId>
<artifactId>therapi-runtime-javadoc-scribe</artifactId>
<version>0.15.0</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>${spring-boot.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<!-- 单元测试使用 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<argLine>-Dfile.encoding=UTF-8</argLine>
<!-- 根据打包环境执行对应的@Tag测试方法 -->
<groups>${profiles.active}</groups>
<!-- 排除标签 -->
<excludedGroups>exclude</excludedGroups>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 关闭过滤 -->
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<!-- 引入所有 匹配文件进行过滤 -->
<includes>
<include>application*</include>
<include>bootstrap*</include>
<include>banner*</include>
</includes>
<!-- 启用过滤 即该资源中的变量将会被过滤器中的值替换 -->
<filtering>true</filtering>
</resource>
</resources>
</build>
<repositories>
<repository>
<id>public</id>
<name>huawei nexus</name>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>huawei nexus</name>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>

23
ruoyi-admin/Dockerfile Normal file
View File

@@ -0,0 +1,23 @@
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER Lion Li
RUN mkdir -p /ruoyi/server/logs \
/ruoyi/server/temp \
/ruoyi/skywalking/agent
WORKDIR /ruoyi/server
ENV SERVER_PORT=8080
EXPOSE ${SERVER_PORT}
ADD ./target/ruoyi-admin.jar ./app.jar
ENTRYPOINT ["java", \
"-Djava.security.egd=file:/dev/./urandom", \
"-Dserver.port=${SERVER_PORT}", \
# 应用名称 如果想区分集群节点监控 改成不同的名称即可
# "-Dskywalking.agent.service_name=ruoyi-server", \
# "-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar", \
"-jar", "app.jar"]

View File

@@ -1,108 +1,131 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ruoyi</artifactId>
<groupId>com.ruoyi</groupId>
<version>3.4.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>ruoyi-admin</artifactId>
<description>
web服务入口
</description>
<dependencies>
<!-- spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 表示依赖不会传递 -->
</dependency>
<!-- swagger2-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<!--防止进入swagger页面报类型转换错误排除2.9.2中的引用手动增加1.5.21版本-->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.21</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
<!-- swagger2-UI-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<!-- Mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 核心模块-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-framework</artifactId>
</dependency>
<!-- 定时任务-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-quartz</artifactId>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-generator</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.1.RELEASE</version>
<configuration>
<fork>true</fork> <!-- 如果没有该配置devtools不会生效 -->
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<warName>${project.artifactId}</warName>
</configuration>
</plugin>
</plugins>
<finalName>${project.artifactId}</finalName>
</build>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ruoyi-vue-plus</artifactId>
<groupId>com.ruoyi</groupId>
<version>4.8.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>ruoyi-admin</artifactId>
<description>
web服务入口
</description>
<dependencies>
<!-- spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 表示依赖不会传递 -->
</dependency>
<!-- Mysql驱动包 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>
<!-- Oracle -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
</dependency>
<!-- PostgreSql -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
<!-- SqlServer -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
</dependency>
<!-- 核心模块-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-framework</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-system</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-job</artifactId>
</dependency>
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-oss</artifactId>
</dependency>
<!-- 代码生成-->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-generator</artifactId>
</dependency>
<!-- demo模块 -->
<dependency>
<groupId>com.ruoyi</groupId>
<artifactId>ruoyi-demo</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- skywalking 整合 logback -->
<!-- <dependency>-->
<!-- <groupId>org.apache.skywalking</groupId>-->
<!-- <artifactId>apm-toolkit-logback-1.x</artifactId>-->
<!-- <version>${与你的agent探针版本保持一致}</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.skywalking</groupId>-->
<!-- <artifactId>apm-toolkit-trace</artifactId>-->
<!-- <version>${与你的agent探针版本保持一致}</version>-->
<!-- </dependency>-->
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<fork>true</fork> <!-- 如果没有该配置devtools不会生效 -->
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<warName>${project.artifactId}</warName>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -1,30 +1,24 @@
package com.ruoyi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
/**
* 启动程序
*
* @author ruoyi
*/
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
public class RuoYiApplication
{
public static void main(String[] args)
{
// System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(RuoYiApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙ \n" +
" .-------. ____ __ \n" +
" | _ _ \\ \\ \\ / / \n" +
" | ( ' ) | \\ _. / ' \n" +
" |(_ o _) / _( )_ .' \n" +
" | (_,_).' __ ___(_ o _)' \n" +
" | |\\ \\ | || |(_,_)' \n" +
" | | \\ `' /| `-' / \n" +
" | | \\ / \\ / \n" +
" ''-' `'-' `-..-' ");
}
}
package com.ruoyi;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
/**
* 启动程序
*
* @author ruoyi
*/
@SpringBootApplication
public class RuoYiApplication {
public static void main(String[] args) {
System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication application = new SpringApplication(RuoYiApplication.class);
application.setApplicationStartup(new BufferingApplicationStartup(2048));
application.run(args);
System.out.println("(♥◠‿◠)ノ゙ RuoYi-Vue-Plus启动成功 ლ(´ڡ`ლ)゙");
}
}

View File

@@ -1,18 +1,18 @@
package com.ruoyi;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
/**
* web容器中进行部署
*
* @author ruoyi
*/
public class RuoYiServletInitializer extends SpringBootServletInitializer
{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
{
return application.sources(RuoYiApplication.class);
}
}
package com.ruoyi;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
/**
* web容器中进行部署
*
* @author ruoyi
*/
public class RuoYiServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(RuoYiApplication.class);
}
}

View File

@@ -1,86 +1,134 @@
package com.ruoyi.web.controller.common;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.FastByteArrayOutputStream;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.google.code.kaptcha.Producer;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.sign.Base64;
import com.ruoyi.common.utils.uuid.IdUtils;
/**
* 验证码操作处理
*
* @author ruoyi
*/
@RestController
public class CaptchaController
{
@Resource(name = "captchaProducer")
private Producer captchaProducer;
@Resource(name = "captchaProducerMath")
private Producer captchaProducerMath;
@Autowired
private RedisCache redisCache;
// 验证码类型
@Value("${ruoyi.captchaType}")
private String captchaType;
/**
* 生成验证码
*/
@GetMapping("/captchaImage")
public AjaxResult getCode(HttpServletResponse response) throws IOException
{
// 保存验证码信息
String uuid = IdUtils.simpleUUID();
String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
String capStr = null, code = null;
BufferedImage image = null;
// 生成验证码
if ("math".equals(captchaType))
{
String capText = captchaProducerMath.createText();
capStr = capText.substring(0, capText.lastIndexOf("@"));
code = capText.substring(capText.lastIndexOf("@") + 1);
image = captchaProducerMath.createImage(capStr);
}
else if ("char".equals(captchaType))
{
capStr = code = captchaProducer.createText();
image = captchaProducer.createImage(capStr);
}
redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
// 转换流信息写出
FastByteArrayOutputStream os = new FastByteArrayOutputStream();
try
{
ImageIO.write(image, "jpg", os);
}
catch (IOException e)
{
return AjaxResult.error(e.getMessage());
}
AjaxResult ajax = AjaxResult.success();
ajax.put("uuid", uuid);
ajax.put("img", Base64.encode(os.toByteArray()));
return ajax;
}
}
package com.ruoyi.web.controller.common;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.captcha.AbstractCaptcha;
import cn.hutool.captcha.generator.CodeGenerator;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.CaptchaType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.email.MailUtils;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.common.utils.reflect.ReflectUtils;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.framework.config.properties.CaptchaProperties;
import com.ruoyi.framework.config.properties.MailProperties;
import com.ruoyi.system.service.ISysConfigService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.api.SmsBlend;
import org.dromara.sms4j.api.entity.SmsResponse;
import org.dromara.sms4j.core.factory.SmsFactory;
import org.dromara.sms4j.provider.enumerate.SupplierType;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
import java.time.Duration;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 验证码操作处理
*
* @author Lion Li
*/
@SaIgnore
@Slf4j
@Validated
@RequiredArgsConstructor
@RestController
public class CaptchaController {
private final CaptchaProperties captchaProperties;
private final ISysConfigService configService;
private final MailProperties mailProperties;
/**
* 短信验证码
*
* @param phonenumber 用户手机号
*/
@GetMapping("/captchaSms")
public R<Void> smsCaptcha(@NotBlank(message = "{user.phonenumber.not.blank}") String phonenumber) {
String key = CacheConstants.CAPTCHA_CODE_KEY + phonenumber;
String code = RandomUtil.randomNumbers(4);
RedisUtils.setCacheObject(key, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
// 验证码模板id 自行处理 (查数据库或写死均可)
String templateId = "";
LinkedHashMap<String, String> map = new LinkedHashMap<>(1);
map.put("code", code);
SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.ALIBABA);
SmsResponse smsResponse = smsBlend.sendMessage(phonenumber, templateId, map);
if (!"OK".equals(smsResponse.getCode())) {
log.error("验证码短信发送异常 => {}", smsResponse);
return R.fail(smsResponse.getMessage());
}
return R.ok();
}
/**
* 邮箱验证码
*
* @param email 邮箱
*/
@GetMapping("/captchaEmail")
public R<Void> emailCode(@NotBlank(message = "{user.email.not.blank}") String email) {
if (!mailProperties.getEnabled()) {
return R.fail("当前系统没有开启邮箱功能!");
}
String key = CacheConstants.CAPTCHA_CODE_KEY + email;
String code = RandomUtil.randomNumbers(4);
RedisUtils.setCacheObject(key, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
try {
MailUtils.sendText(email, "登录验证码", "您本次验证码为:" + code + ",有效性为" + Constants.CAPTCHA_EXPIRATION + "分钟,请尽快填写。");
} catch (Exception e) {
log.error("验证码短信发送异常 => {}", e.getMessage());
return R.fail(e.getMessage());
}
return R.ok();
}
/**
* 生成验证码
*/
@GetMapping("/captchaImage")
public R<Map<String, Object>> getCode() {
Map<String, Object> ajax = new HashMap<>();
boolean captchaEnabled = configService.selectCaptchaEnabled();
ajax.put("captchaEnabled", captchaEnabled);
if (!captchaEnabled) {
return R.ok(ajax);
}
// 保存验证码信息
String uuid = IdUtil.simpleUUID();
String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + uuid;
// 生成验证码
CaptchaType captchaType = captchaProperties.getType();
boolean isMath = CaptchaType.MATH == captchaType;
Integer length = isMath ? captchaProperties.getNumberLength() : captchaProperties.getCharLength();
CodeGenerator codeGenerator = ReflectUtils.newInstance(captchaType.getClazz(), length);
AbstractCaptcha captcha = SpringUtils.getBean(captchaProperties.getCategory().getClazz());
captcha.setGenerator(codeGenerator);
captcha.createCode();
String code = captcha.getCode();
if (isMath) {
ExpressionParser parser = new SpelExpressionParser();
Expression exp = parser.parseExpression(StringUtils.remove(code, "="));
code = exp.getValue(String.class);
}
RedisUtils.setCacheObject(verifyKey, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
ajax.put("uuid", uuid);
ajax.put("img", captcha.getImageBase64());
return R.ok(ajax);
}
}

View File

@@ -1,118 +0,0 @@
package com.ruoyi.web.controller.common;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.framework.config.ServerConfig;
/**
* 通用请求处理
*
* @author ruoyi
*/
@RestController
public class CommonController
{
private static final Logger log = LoggerFactory.getLogger(CommonController.class);
@Autowired
private ServerConfig serverConfig;
/**
* 通用下载请求
*
* @param fileName 文件名称
* @param delete 是否删除
*/
@GetMapping("common/download")
public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request)
{
try
{
if (!FileUtils.checkAllowDownload(fileName))
{
throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
}
String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
String filePath = RuoYiConfig.getDownloadPath() + fileName;
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
FileUtils.setAttachmentResponseHeader(response, realFileName);
FileUtils.writeBytes(filePath, response.getOutputStream());
if (delete)
{
FileUtils.deleteFile(filePath);
}
}
catch (Exception e)
{
log.error("下载文件失败", e);
}
}
/**
* 通用上传请求
*/
@PostMapping("/common/upload")
public AjaxResult uploadFile(MultipartFile file) throws Exception
{
try
{
// 上传文件路径
String filePath = RuoYiConfig.getUploadPath();
// 上传并返回新文件名称
String fileName = FileUploadUtils.upload(filePath, file);
String url = serverConfig.getUrl() + fileName;
AjaxResult ajax = AjaxResult.success();
ajax.put("fileName", fileName);
ajax.put("url", url);
return ajax;
}
catch (Exception e)
{
return AjaxResult.error(e.getMessage());
}
}
/**
* 本地资源通用下载
*/
@GetMapping("/common/download/resource")
public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response)
throws Exception
{
try
{
if (!FileUtils.checkAllowDownload(resource))
{
throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource));
}
// 本地资源路径
String localPath = RuoYiConfig.getProfile();
// 数据库资源地址
String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX);
// 下载名称
String downloadName = StringUtils.substringAfterLast(downloadPath, "/");
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
FileUtils.setAttachmentResponseHeader(response, downloadName);
FileUtils.writeBytes(downloadPath, response.getOutputStream());
}
catch (Exception e)
{
log.error("下载文件失败", e);
}
}
}

View File

@@ -1,53 +1,168 @@
package com.ruoyi.web.controller.monitor;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.StringUtils;
/**
* 缓存监控
*
* @author ruoyi
*/
@RestController
@RequestMapping("/monitor/cache")
public class CacheController
{
@Autowired
private RedisTemplate<String, String> redisTemplate;
@PreAuthorize("@ss.hasPermi('monitor:cache:list')")
@GetMapping()
public AjaxResult getInfo() throws Exception
{
Properties info = (Properties) redisTemplate.execute((RedisCallback<Object>) connection -> connection.info());
Properties commandStats = (Properties) redisTemplate.execute((RedisCallback<Object>) connection -> connection.info("commandstats"));
Object dbSize = redisTemplate.execute((RedisCallback<Object>) connection -> connection.dbSize());
Map<String, Object> result = new HashMap<>(3);
result.put("info", info);
result.put("dbSize", dbSize);
List<Map<String, String>> pieList = new ArrayList<>();
commandStats.stringPropertyNames().forEach(key -> {
Map<String, String> data = new HashMap<>(2);
String property = commandStats.getProperty(key);
data.put("name", StringUtils.removeStart(key, "cmdstat_"));
data.put("value", StringUtils.substringBetween(property, "calls=", ",usec"));
pieList.add(data);
});
result.put("commandStats", pieList);
return AjaxResult.success(result);
}
}
package com.ruoyi.web.controller.monitor;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.collection.CollUtil;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.constant.CacheNames;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.utils.JsonUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.redis.CacheUtils;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.system.domain.SysCache;
import lombok.RequiredArgsConstructor;
import org.redisson.spring.data.connection.RedissonConnectionFactory;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.stream.Collectors;
/**
* 缓存监控
*
* @author Lion Li
*/
@RequiredArgsConstructor
@RestController
@RequestMapping("/monitor/cache")
public class CacheController {
private final RedissonConnectionFactory connectionFactory;
private final static List<SysCache> CACHES = new ArrayList<>();
static {
CACHES.add(new SysCache(CacheConstants.ONLINE_TOKEN_KEY, "在线用户"));
CACHES.add(new SysCache(CacheNames.SYS_CONFIG, "配置信息"));
CACHES.add(new SysCache(CacheNames.SYS_DICT, "数据字典"));
CACHES.add(new SysCache(CacheConstants.CAPTCHA_CODE_KEY, "验证码"));
CACHES.add(new SysCache(CacheConstants.REPEAT_SUBMIT_KEY, "防重提交"));
CACHES.add(new SysCache(CacheConstants.RATE_LIMIT_KEY, "限流处理"));
CACHES.add(new SysCache(CacheNames.SYS_OSS_CONFIG, "OSS配置"));
CACHES.add(new SysCache(CacheConstants.PWD_ERR_CNT_KEY, "密码错误次数"));
}
/**
* 获取缓存监控列表
*/
@SaCheckPermission("monitor:cache:list")
@GetMapping()
public R<Map<String, Object>> getInfo() throws Exception {
RedisConnection connection = connectionFactory.getConnection();
Properties info = connection.info();
Properties commandStats = connection.info("commandstats");
Long dbSize = connection.dbSize();
Map<String, Object> result = new HashMap<>(3);
result.put("info", info);
result.put("dbSize", dbSize);
List<Map<String, String>> pieList = new ArrayList<>();
if (commandStats != null) {
commandStats.stringPropertyNames().forEach(key -> {
Map<String, String> data = new HashMap<>(2);
String property = commandStats.getProperty(key);
data.put("name", StringUtils.removeStart(key, "cmdstat_"));
data.put("value", StringUtils.substringBetween(property, "calls=", ",usec"));
pieList.add(data);
});
}
result.put("commandStats", pieList);
return R.ok(result);
}
/**
* 获取缓存监控缓存名列表
*/
@SaCheckPermission("monitor:cache:list")
@GetMapping("/getNames")
public R<List<SysCache>> cache() {
return R.ok(CACHES);
}
/**
* 获取缓存监控Key列表
*
* @param cacheName 缓存名
*/
@SaCheckPermission("monitor:cache:list")
@GetMapping("/getKeys/{cacheName}")
public R<Collection<String>> getCacheKeys(@PathVariable String cacheName) {
Collection<String> cacheKeys = new HashSet<>(0);
if (isCacheNames(cacheName)) {
Set<Object> keys = CacheUtils.keys(cacheName);
if (CollUtil.isNotEmpty(keys)) {
cacheKeys = keys.stream().map(Object::toString).collect(Collectors.toList());
}
} else {
cacheKeys = RedisUtils.keys(cacheName + "*");
}
return R.ok(cacheKeys);
}
/**
* 获取缓存监控缓存值详情
*
* @param cacheName 缓存名
* @param cacheKey 缓存key
*/
@SaCheckPermission("monitor:cache:list")
@GetMapping("/getValue/{cacheName}/{cacheKey}")
public R<SysCache> getCacheValue(@PathVariable String cacheName, @PathVariable String cacheKey) {
Object cacheValue;
if (isCacheNames(cacheName)) {
cacheValue = CacheUtils.get(cacheName, cacheKey);
} else {
cacheValue = RedisUtils.getCacheObject(cacheKey);
}
SysCache sysCache = new SysCache(cacheName, cacheKey, JsonUtils.toJsonString(cacheValue));
return R.ok(sysCache);
}
/**
* 清理缓存监控缓存名
*
* @param cacheName 缓存名
*/
@SaCheckPermission("monitor:cache:list")
@DeleteMapping("/clearCacheName/{cacheName}")
public R<Void> clearCacheName(@PathVariable String cacheName) {
if (isCacheNames(cacheName)) {
CacheUtils.clear(cacheName);
} else {
RedisUtils.deleteKeys(cacheName + "*");
}
return R.ok();
}
/**
* 清理缓存监控Key
*
* @param cacheKey key名
*/
@SaCheckPermission("monitor:cache:list")
@DeleteMapping("/clearCacheKey/{cacheName}/{cacheKey}")
public R<Void> clearCacheKey(@PathVariable String cacheName, @PathVariable String cacheKey) {
if (isCacheNames(cacheName)) {
CacheUtils.evict(cacheName, cacheKey);
} else {
RedisUtils.deleteObject(cacheKey);
}
return R.ok();
}
/**
* 清理全部缓存监控
*/
@SaCheckPermission("monitor:cache:list")
@DeleteMapping("/clearCacheAll")
public R<Void> clearCacheAll() {
RedisUtils.deleteKeys("*");
return R.ok();
}
private boolean isCacheNames(String cacheName) {
return !StringUtils.contains(cacheName, ":");
}
}

View File

@@ -1,27 +0,0 @@
package com.ruoyi.web.controller.monitor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.framework.web.domain.Server;
/**
* 服务器监控
*
* @author ruoyi
*/
@RestController
@RequestMapping("/monitor/server")
public class ServerController
{
@PreAuthorize("@ss.hasPermi('monitor:server:list')")
@GetMapping()
public AjaxResult getInfo() throws Exception
{
Server server = new Server();
server.copyTo();
return AjaxResult.success(server);
}
}

View File

@@ -1,67 +1,88 @@
package com.ruoyi.web.controller.monitor;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysLogininfor;
import com.ruoyi.system.service.ISysLogininforService;
/**
* 系统访问记录
*
* @author ruoyi
*/
@RestController
@RequestMapping("/monitor/logininfor")
public class SysLogininforController extends BaseController
{
@Autowired
private ISysLogininforService logininforService;
@PreAuthorize("@ss.hasPermi('monitor:logininfor:list')")
@GetMapping("/list")
public TableDataInfo list(SysLogininfor logininfor)
{
startPage();
List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
return getDataTable(list);
}
@Log(title = "登录日志", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('monitor:logininfor:export')")
@GetMapping("/export")
public AjaxResult export(SysLogininfor logininfor)
{
List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
ExcelUtil<SysLogininfor> util = new ExcelUtil<SysLogininfor>(SysLogininfor.class);
return util.exportExcel(list, "登录日志");
}
@PreAuthorize("@ss.hasPermi('monitor:logininfor:remove')")
@Log(title = "登录日志", businessType = BusinessType.DELETE)
@DeleteMapping("/{infoIds}")
public AjaxResult remove(@PathVariable Long[] infoIds)
{
return toAjax(logininforService.deleteLogininforByIds(infoIds));
}
@PreAuthorize("@ss.hasPermi('monitor:logininfor:remove')")
@Log(title = "登录日志", businessType = BusinessType.CLEAN)
@DeleteMapping("/clean")
public AjaxResult clean()
{
logininforService.cleanLogininfor();
return AjaxResult.success();
}
}
package com.ruoyi.web.controller.monitor;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.system.domain.SysLogininfor;
import com.ruoyi.system.service.ISysLogininforService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 系统访问记录
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/monitor/logininfor")
public class SysLogininforController extends BaseController {
private final ISysLogininforService logininforService;
/**
* 获取系统访问记录列表
*/
@SaCheckPermission("monitor:logininfor:list")
@GetMapping("/list")
public TableDataInfo<SysLogininfor> list(SysLogininfor logininfor, PageQuery pageQuery) {
return logininforService.selectPageLogininforList(logininfor, pageQuery);
}
/**
* 导出系统访问记录列表
*/
@Log(title = "登录日志", businessType = BusinessType.EXPORT)
@SaCheckPermission("monitor:logininfor:export")
@PostMapping("/export")
public void export(SysLogininfor logininfor, HttpServletResponse response) {
List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
ExcelUtil.exportExcel(list, "登录日志", SysLogininfor.class, response);
}
/**
* 批量删除登录日志
* @param infoIds 日志ids
*/
@SaCheckPermission("monitor:logininfor:remove")
@Log(title = "登录日志", businessType = BusinessType.DELETE)
@DeleteMapping("/{infoIds}")
public R<Void> remove(@PathVariable Long[] infoIds) {
return toAjax(logininforService.deleteLogininforByIds(infoIds));
}
/**
* 清理系统访问记录
*/
@SaCheckPermission("monitor:logininfor:remove")
@Log(title = "登录日志", businessType = BusinessType.CLEAN)
@DeleteMapping("/clean")
public R<Void> clean() {
logininforService.cleanLogininfor();
return R.ok();
}
@SaCheckPermission("monitor:logininfor:unlock")
@Log(title = "账户解锁", businessType = BusinessType.OTHER)
@GetMapping("/unlock/{userName}")
public R<Void> unlock(@PathVariable("userName") String userName) {
String loginName = CacheConstants.PWD_ERR_CNT_KEY + userName;
if (RedisUtils.hasKey(loginName)) {
RedisUtils.deleteObject(loginName);
}
return R.ok();
}
}

View File

@@ -1,66 +1,74 @@
package com.ruoyi.web.controller.monitor;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysOperLog;
import com.ruoyi.system.service.ISysOperLogService;
/**
* 操作日志记录
*
* @author ruoyi
*/
@RestController
@RequestMapping("/monitor/operlog")
public class SysOperlogController extends BaseController
{
@Autowired
private ISysOperLogService operLogService;
@PreAuthorize("@ss.hasPermi('monitor:operlog:list')")
@GetMapping("/list")
public TableDataInfo list(SysOperLog operLog)
{
startPage();
List<SysOperLog> list = operLogService.selectOperLogList(operLog);
return getDataTable(list);
}
@Log(title = "操作日志", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('monitor:operlog:export')")
@GetMapping("/export")
public AjaxResult export(SysOperLog operLog)
{
List<SysOperLog> list = operLogService.selectOperLogList(operLog);
ExcelUtil<SysOperLog> util = new ExcelUtil<SysOperLog>(SysOperLog.class);
return util.exportExcel(list, "操作日志");
}
@PreAuthorize("@ss.hasPermi('monitor:operlog:remove')")
@DeleteMapping("/{operIds}")
public AjaxResult remove(@PathVariable Long[] operIds)
{
return toAjax(operLogService.deleteOperLogByIds(operIds));
}
@Log(title = "操作日志", businessType = BusinessType.CLEAN)
@PreAuthorize("@ss.hasPermi('monitor:operlog:remove')")
@DeleteMapping("/clean")
public AjaxResult clean()
{
operLogService.cleanOperLog();
return AjaxResult.success();
}
}
package com.ruoyi.web.controller.monitor;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysOperLog;
import com.ruoyi.system.service.ISysOperLogService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 操作日志记录
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/monitor/operlog")
public class SysOperlogController extends BaseController {
private final ISysOperLogService operLogService;
/**
* 获取操作日志记录列表
*/
@SaCheckPermission("monitor:operlog:list")
@GetMapping("/list")
public TableDataInfo<SysOperLog> list(SysOperLog operLog, PageQuery pageQuery) {
return operLogService.selectPageOperLogList(operLog, pageQuery);
}
/**
* 导出操作日志记录列表
*/
@Log(title = "操作日志", businessType = BusinessType.EXPORT)
@SaCheckPermission("monitor:operlog:export")
@PostMapping("/export")
public void export(SysOperLog operLog, HttpServletResponse response) {
List<SysOperLog> list = operLogService.selectOperLogList(operLog);
ExcelUtil.exportExcel(list, "操作日志", SysOperLog.class, response);
}
/**
* 批量删除操作日志记录
* @param operIds 日志ids
*/
@Log(title = "操作日志", businessType = BusinessType.DELETE)
@SaCheckPermission("monitor:operlog:remove")
@DeleteMapping("/{operIds}")
public R<Void> remove(@PathVariable Long[] operIds) {
return toAjax(operLogService.deleteOperLogByIds(operIds));
}
/**
* 清理操作日志记录
*/
@Log(title = "操作日志", businessType = BusinessType.CLEAN)
@SaCheckPermission("monitor:operlog:remove")
@DeleteMapping("/clean")
public R<Void> clean() {
operLogService.cleanOperLog();
return R.ok();
}
}

View File

@@ -1,92 +1,90 @@
package com.ruoyi.web.controller.monitor;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysUserOnline;
import com.ruoyi.system.service.ISysUserOnlineService;
/**
* 在线用户监控
*
* @author ruoyi
*/
@RestController
@RequestMapping("/monitor/online")
public class SysUserOnlineController extends BaseController
{
@Autowired
private ISysUserOnlineService userOnlineService;
@Autowired
private RedisCache redisCache;
@PreAuthorize("@ss.hasPermi('monitor:online:list')")
@GetMapping("/list")
public TableDataInfo list(String ipaddr, String userName)
{
Collection<String> keys = redisCache.keys(Constants.LOGIN_TOKEN_KEY + "*");
List<SysUserOnline> userOnlineList = new ArrayList<SysUserOnline>();
for (String key : keys)
{
LoginUser user = redisCache.getCacheObject(key);
if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName))
{
if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername()))
{
userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user));
}
}
else if (StringUtils.isNotEmpty(ipaddr))
{
if (StringUtils.equals(ipaddr, user.getIpaddr()))
{
userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user));
}
}
else if (StringUtils.isNotEmpty(userName) && StringUtils.isNotNull(user.getUser()))
{
if (StringUtils.equals(userName, user.getUsername()))
{
userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, user));
}
}
else
{
userOnlineList.add(userOnlineService.loginUserToUserOnline(user));
}
}
Collections.reverse(userOnlineList);
userOnlineList.removeAll(Collections.singleton(null));
return getDataTable(userOnlineList);
}
/**
* 强退用户
*/
@PreAuthorize("@ss.hasPermi('monitor:online:forceLogout')")
@Log(title = "在线用户", businessType = BusinessType.FORCE)
@DeleteMapping("/{tokenId}")
public AjaxResult forceLogout(@PathVariable String tokenId)
{
redisCache.deleteObject(Constants.LOGIN_TOKEN_KEY + tokenId);
return AjaxResult.success();
}
}
package com.ruoyi.web.controller.monitor;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.exception.NotLoginException;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.bean.BeanUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.dto.UserOnlineDTO;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StreamUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.redis.RedisUtils;
import com.ruoyi.system.domain.SysUserOnline;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* 在线用户监控
*
* @author Lion Li
*/
@RequiredArgsConstructor
@RestController
@RequestMapping("/monitor/online")
public class SysUserOnlineController extends BaseController {
/**
* 获取在线用户监控列表
*
* @param ipaddr IP地址
* @param userName 用户名
*/
@SaCheckPermission("monitor:online:list")
@GetMapping("/list")
public TableDataInfo<SysUserOnline> list(String ipaddr, String userName) {
// 获取所有未过期的 token
List<String> keys = StpUtil.searchTokenValue("", 0, -1, false);
List<UserOnlineDTO> userOnlineDTOList = new ArrayList<>();
for (String key : keys) {
String token = StringUtils.substringAfterLast(key, ":");
// 如果已经过期则跳过
if (StpUtil.stpLogic.getTokenActiveTimeoutByToken(token) < -1) {
continue;
}
userOnlineDTOList.add(RedisUtils.getCacheObject(CacheConstants.ONLINE_TOKEN_KEY + token));
}
if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName)) {
userOnlineDTOList = StreamUtils.filter(userOnlineDTOList, userOnline ->
StringUtils.equals(ipaddr, userOnline.getIpaddr()) &&
StringUtils.equals(userName, userOnline.getUserName())
);
} else if (StringUtils.isNotEmpty(ipaddr)) {
userOnlineDTOList = StreamUtils.filter(userOnlineDTOList, userOnline ->
StringUtils.equals(ipaddr, userOnline.getIpaddr())
);
} else if (StringUtils.isNotEmpty(userName)) {
userOnlineDTOList = StreamUtils.filter(userOnlineDTOList, userOnline ->
StringUtils.equals(userName, userOnline.getUserName())
);
}
Collections.reverse(userOnlineDTOList);
userOnlineDTOList.removeAll(Collections.singleton(null));
List<SysUserOnline> userOnlineList = BeanUtil.copyToList(userOnlineDTOList, SysUserOnline.class);
return TableDataInfo.build(userOnlineList);
}
/**
* 强退用户
*
* @param tokenId token值
*/
@SaCheckPermission("monitor:online:forceLogout")
@Log(title = "在线用户", businessType = BusinessType.FORCE)
@DeleteMapping("/{tokenId}")
public R<Void> forceLogout(@PathVariable String tokenId) {
try {
StpUtil.kickoutByTokenValue(tokenId);
} catch (NotLoginException ignored) {
}
return R.ok();
}
}

View File

@@ -1,135 +1,137 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
/**
* 参数配置 信息操作处理
*
* @author ruoyi
*/
@RestController
@RequestMapping("/system/config")
public class SysConfigController extends BaseController
{
@Autowired
private ISysConfigService configService;
/**
* 获取参数配置列表
*/
@PreAuthorize("@ss.hasPermi('system:config:list')")
@GetMapping("/list")
public TableDataInfo list(SysConfig config)
{
startPage();
List<SysConfig> list = configService.selectConfigList(config);
return getDataTable(list);
}
@Log(title = "参数管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:config:export')")
@GetMapping("/export")
public AjaxResult export(SysConfig config)
{
List<SysConfig> list = configService.selectConfigList(config);
ExcelUtil<SysConfig> util = new ExcelUtil<SysConfig>(SysConfig.class);
return util.exportExcel(list, "参数数据");
}
/**
* 根据参数编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:config:query')")
@GetMapping(value = "/{configId}")
public AjaxResult getInfo(@PathVariable Long configId)
{
return AjaxResult.success(configService.selectConfigById(configId));
}
/**
* 根据参数键名查询参数值
*/
@GetMapping(value = "/configKey/{configKey}")
public AjaxResult getConfigKey(@PathVariable String configKey)
{
return AjaxResult.success(configService.selectConfigByKey(configKey));
}
/**
* 新增参数配置
*/
@PreAuthorize("@ss.hasPermi('system:config:add')")
@Log(title = "参数管理", businessType = BusinessType.INSERT)
@PostMapping
@RepeatSubmit
public AjaxResult add(@Validated @RequestBody SysConfig config)
{
if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config)))
{
return AjaxResult.error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
}
config.setCreateBy(SecurityUtils.getUsername());
return toAjax(configService.insertConfig(config));
}
/**
* 修改参数配置
*/
@PreAuthorize("@ss.hasPermi('system:config:edit')")
@Log(title = "参数管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysConfig config)
{
if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config)))
{
return AjaxResult.error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
}
config.setUpdateBy(SecurityUtils.getUsername());
return toAjax(configService.updateConfig(config));
}
/**
* 删除参数配置
*/
@PreAuthorize("@ss.hasPermi('system:config:remove')")
@Log(title = "参数管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{configIds}")
public AjaxResult remove(@PathVariable Long[] configIds)
{
return toAjax(configService.deleteConfigByIds(configIds));
}
/**
* 清空缓存
*/
@PreAuthorize("@ss.hasPermi('system:config:remove')")
@Log(title = "参数管理", businessType = BusinessType.CLEAN)
@DeleteMapping("/clearCache")
public AjaxResult clearCache()
{
configService.clearCache();
return AjaxResult.success();
}
}
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.service.ISysConfigService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 参数配置 信息操作处理
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/config")
public class SysConfigController extends BaseController {
private final ISysConfigService configService;
/**
* 获取参数配置列表
*/
@SaCheckPermission("system:config:list")
@GetMapping("/list")
public TableDataInfo<SysConfig> list(SysConfig config, PageQuery pageQuery) {
return configService.selectPageConfigList(config, pageQuery);
}
/**
* 导出参数配置列表
*/
@Log(title = "参数管理", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:config:export")
@PostMapping("/export")
public void export(SysConfig config, HttpServletResponse response) {
List<SysConfig> list = configService.selectConfigList(config);
ExcelUtil.exportExcel(list, "参数数据", SysConfig.class, response);
}
/**
* 根据参数编号获取详细信息
*
* @param configId 参数ID
*/
@SaCheckPermission("system:config:query")
@GetMapping(value = "/{configId}")
public R<SysConfig> getInfo(@PathVariable Long configId) {
return R.ok(configService.selectConfigById(configId));
}
/**
* 根据参数键名查询参数值
*
* @param configKey 参数Key
*/
@GetMapping(value = "/configKey/{configKey}")
public R<Void> getConfigKey(@PathVariable String configKey) {
return R.ok(configService.selectConfigByKey(configKey));
}
/**
* 新增参数配置
*/
@SaCheckPermission("system:config:add")
@Log(title = "参数管理", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysConfig config) {
if (!configService.checkConfigKeyUnique(config)) {
return R.fail("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
}
configService.insertConfig(config);
return R.ok();
}
/**
* 修改参数配置
*/
@SaCheckPermission("system:config:edit")
@Log(title = "参数管理", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody SysConfig config) {
if (!configService.checkConfigKeyUnique(config)) {
return R.fail("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
}
configService.updateConfig(config);
return R.ok();
}
/**
* 根据参数键名修改参数配置
*/
@SaCheckPermission("system:config:edit")
@Log(title = "参数管理", businessType = BusinessType.UPDATE)
@PutMapping("/updateByKey")
public R<Void> updateByKey(@RequestBody SysConfig config) {
configService.updateConfig(config);
return R.ok();
}
/**
* 删除参数配置
*
* @param configIds 参数ID串
*/
@SaCheckPermission("system:config:remove")
@Log(title = "参数管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{configIds}")
public R<Void> remove(@PathVariable Long[] configIds) {
configService.deleteConfigByIds(configIds);
return R.ok();
}
/**
* 刷新参数缓存
*/
@SaCheckPermission("system:config:remove")
@Log(title = "参数管理", businessType = BusinessType.CLEAN)
@DeleteMapping("/refreshCache")
public R<Void> refreshCache() {
configService.resetConfigCache();
return R.ok();
}
}

View File

@@ -1,163 +1,122 @@
package com.ruoyi.web.controller.system;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.service.ISysDeptService;
/**
* 部门信息
*
* @author ruoyi
*/
@RestController
@RequestMapping("/system/dept")
public class SysDeptController extends BaseController
{
@Autowired
private ISysDeptService deptService;
/**
* 获取部门列表
*/
@PreAuthorize("@ss.hasPermi('system:dept:list')")
@GetMapping("/list")
public AjaxResult list(SysDept dept)
{
List<SysDept> depts = deptService.selectDeptList(dept);
return AjaxResult.success(depts);
}
/**
* 查询部门列表(排除节点)
*/
@PreAuthorize("@ss.hasPermi('system:dept:list')")
@GetMapping("/list/exclude/{deptId}")
public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
{
List<SysDept> depts = deptService.selectDeptList(new SysDept());
Iterator<SysDept> it = depts.iterator();
while (it.hasNext())
{
SysDept d = (SysDept) it.next();
if (d.getDeptId().intValue() == deptId
|| ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""))
{
it.remove();
}
}
return AjaxResult.success(depts);
}
/**
* 根据部门编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:dept:query')")
@GetMapping(value = "/{deptId}")
public AjaxResult getInfo(@PathVariable Long deptId)
{
return AjaxResult.success(deptService.selectDeptById(deptId));
}
/**
* 获取部门下拉树列表
*/
@GetMapping("/treeselect")
public AjaxResult treeselect(SysDept dept)
{
List<SysDept> depts = deptService.selectDeptList(dept);
return AjaxResult.success(deptService.buildDeptTreeSelect(depts));
}
/**
* 加载对应角色部门列表树
*/
@GetMapping(value = "/roleDeptTreeselect/{roleId}")
public AjaxResult roleDeptTreeselect(@PathVariable("roleId") Long roleId)
{
List<SysDept> depts = deptService.selectDeptList(new SysDept());
AjaxResult ajax = AjaxResult.success();
ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId));
ajax.put("depts", deptService.buildDeptTreeSelect(depts));
return ajax;
}
/**
* 新增部门
*/
@PreAuthorize("@ss.hasPermi('system:dept:add')")
@Log(title = "部门管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysDept dept)
{
if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
{
return AjaxResult.error("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
}
dept.setCreateBy(SecurityUtils.getUsername());
return toAjax(deptService.insertDept(dept));
}
/**
* 修改部门
*/
@PreAuthorize("@ss.hasPermi('system:dept:edit')")
@Log(title = "部门管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysDept dept)
{
if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
{
return AjaxResult.error("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在");
}
else if (dept.getParentId().equals(dept.getDeptId()))
{
return AjaxResult.error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
}
else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus())
&& deptService.selectNormalChildrenDeptById(dept.getDeptId()) > 0)
{
return AjaxResult.error("该部门包含未停用的子部门!");
}
dept.setUpdateBy(SecurityUtils.getUsername());
return toAjax(deptService.updateDept(dept));
}
/**
* 删除部门
*/
@PreAuthorize("@ss.hasPermi('system:dept:remove')")
@Log(title = "部门管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{deptId}")
public AjaxResult remove(@PathVariable Long deptId)
{
if (deptService.hasChildByDeptId(deptId))
{
return AjaxResult.error("存在下级部门,不允许删除");
}
if (deptService.checkDeptExistUser(deptId))
{
return AjaxResult.error("部门存在用户,不允许删除");
}
return toAjax(deptService.deleteDeptById(deptId));
}
}
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.convert.Convert;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.service.ISysDeptService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 部门信息
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/dept")
public class SysDeptController extends BaseController {
private final ISysDeptService deptService;
/**
* 获取部门列表
*/
@SaCheckPermission("system:dept:list")
@GetMapping("/list")
public R<List<SysDept>> list(SysDept dept) {
List<SysDept> depts = deptService.selectDeptList(dept);
return R.ok(depts);
}
/**
* 查询部门列表(排除节点)
*
* @param deptId 部门ID
*/
@SaCheckPermission("system:dept:list")
@GetMapping("/list/exclude/{deptId}")
public R<List<SysDept>> excludeChild(@PathVariable(value = "deptId", required = false) Long deptId) {
List<SysDept> depts = deptService.selectDeptList(new SysDept());
depts.removeIf(d -> d.getDeptId().equals(deptId)
|| StringUtils.splitList(d.getAncestors()).contains(Convert.toStr(deptId)));
return R.ok(depts);
}
/**
* 根据部门编号获取详细信息
*
* @param deptId 部门ID
*/
@SaCheckPermission("system:dept:query")
@GetMapping(value = "/{deptId}")
public R<SysDept> getInfo(@PathVariable Long deptId) {
deptService.checkDeptDataScope(deptId);
return R.ok(deptService.selectDeptById(deptId));
}
/**
* 新增部门
*/
@SaCheckPermission("system:dept:add")
@Log(title = "部门管理", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysDept dept) {
if (!deptService.checkDeptNameUnique(dept)) {
return R.fail("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
}
return toAjax(deptService.insertDept(dept));
}
/**
* 修改部门
*/
@SaCheckPermission("system:dept:edit")
@Log(title = "部门管理", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody SysDept dept) {
Long deptId = dept.getDeptId();
deptService.checkDeptDataScope(deptId);
if (!deptService.checkDeptNameUnique(dept)) {
return R.fail("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在");
} else if (dept.getParentId().equals(deptId)) {
return R.fail("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
} else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus())) {
if (deptService.selectNormalChildrenDeptById(deptId) > 0) {
return R.fail("该部门包含未停用的子部门!");
} else if (deptService.checkDeptExistUser(deptId)) {
return R.fail("该部门下存在已分配用户,不能禁用!");
}
}
return toAjax(deptService.updateDept(dept));
}
/**
* 删除部门
*
* @param deptId 部门ID
*/
@SaCheckPermission("system:dept:remove")
@Log(title = "部门管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{deptId}")
public R<Void> remove(@PathVariable Long deptId) {
if (deptService.hasChildByDeptId(deptId)) {
return R.warn("存在下级部门,不允许删除");
}
if (deptService.checkDeptExistUser(deptId)) {
return R.warn("部门存在用户,不允许删除");
}
deptService.checkDeptDataScope(deptId);
return toAjax(deptService.deleteDeptById(deptId));
}
}

View File

@@ -1,120 +1,116 @@
package com.ruoyi.web.controller.system;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.ISysDictDataService;
import com.ruoyi.system.service.ISysDictTypeService;
/**
* 数据字典信息
*
* @author ruoyi
*/
@RestController
@RequestMapping("/system/dict/data")
public class SysDictDataController extends BaseController
{
@Autowired
private ISysDictDataService dictDataService;
@Autowired
private ISysDictTypeService dictTypeService;
@PreAuthorize("@ss.hasPermi('system:dict:list')")
@GetMapping("/list")
public TableDataInfo list(SysDictData dictData)
{
startPage();
List<SysDictData> list = dictDataService.selectDictDataList(dictData);
return getDataTable(list);
}
@Log(title = "字典数据", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:dict:export')")
@GetMapping("/export")
public AjaxResult export(SysDictData dictData)
{
List<SysDictData> list = dictDataService.selectDictDataList(dictData);
ExcelUtil<SysDictData> util = new ExcelUtil<SysDictData>(SysDictData.class);
return util.exportExcel(list, "字典数据");
}
/**
* 查询字典数据详细
*/
@PreAuthorize("@ss.hasPermi('system:dict:query')")
@GetMapping(value = "/{dictCode}")
public AjaxResult getInfo(@PathVariable Long dictCode)
{
return AjaxResult.success(dictDataService.selectDictDataById(dictCode));
}
/**
* 根据字典类型查询字典数据信息
*/
@GetMapping(value = "/type/{dictType}")
public AjaxResult dictType(@PathVariable String dictType)
{
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
if (StringUtils.isNull(data))
{
data = new ArrayList<SysDictData>();
}
return AjaxResult.success(data);
}
/**
* 新增字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:add')")
@Log(title = "字典数据", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysDictData dict)
{
dict.setCreateBy(SecurityUtils.getUsername());
return toAjax(dictDataService.insertDictData(dict));
}
/**
* 修改保存字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:edit')")
@Log(title = "字典数据", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysDictData dict)
{
dict.setUpdateBy(SecurityUtils.getUsername());
return toAjax(dictDataService.updateDictData(dict));
}
/**
* 删除字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:remove')")
@Log(title = "字典类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{dictCodes}")
public AjaxResult remove(@PathVariable Long[] dictCodes)
{
return toAjax(dictDataService.deleteDictDataByIds(dictCodes));
}
}
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.ISysDictDataService;
import com.ruoyi.system.service.ISysDictTypeService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
/**
* 数据字典信息
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/dict/data")
public class SysDictDataController extends BaseController {
private final ISysDictDataService dictDataService;
private final ISysDictTypeService dictTypeService;
/**
* 查询字典数据列表
*/
@SaCheckPermission("system:dict:list")
@GetMapping("/list")
public TableDataInfo<SysDictData> list(SysDictData dictData, PageQuery pageQuery) {
return dictDataService.selectPageDictDataList(dictData, pageQuery);
}
/**
* 导出字典数据列表
*/
@Log(title = "字典数据", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:dict:export")
@PostMapping("/export")
public void export(SysDictData dictData, HttpServletResponse response) {
List<SysDictData> list = dictDataService.selectDictDataList(dictData);
ExcelUtil.exportExcel(list, "字典数据", SysDictData.class, response);
}
/**
* 查询字典数据详细
*
* @param dictCode 字典code
*/
@SaCheckPermission("system:dict:query")
@GetMapping(value = "/{dictCode}")
public R<SysDictData> getInfo(@PathVariable Long dictCode) {
return R.ok(dictDataService.selectDictDataById(dictCode));
}
/**
* 根据字典类型查询字典数据信息
*
* @param dictType 字典类型
*/
@GetMapping(value = "/type/{dictType}")
public R<List<SysDictData>> dictType(@PathVariable String dictType) {
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
if (ObjectUtil.isNull(data)) {
data = new ArrayList<>();
}
return R.ok(data);
}
/**
* 新增字典类型
*/
@SaCheckPermission("system:dict:add")
@Log(title = "字典数据", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysDictData dict) {
dictDataService.insertDictData(dict);
return R.ok();
}
/**
* 修改保存字典类型
*/
@SaCheckPermission("system:dict:edit")
@Log(title = "字典数据", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody SysDictData dict) {
dictDataService.updateDictData(dict);
return R.ok();
}
/**
* 删除字典类型
*
* @param dictCodes 字典code串
*/
@SaCheckPermission("system:dict:remove")
@Log(title = "字典类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{dictCodes}")
public R<Void> remove(@PathVariable Long[] dictCodes) {
dictDataService.deleteDictDataByIds(dictCodes);
return R.ok();
}
}

View File

@@ -1,131 +1,125 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDictType;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.ISysDictTypeService;
/**
* 数据字典信息
*
* @author ruoyi
*/
@RestController
@RequestMapping("/system/dict/type")
public class SysDictTypeController extends BaseController
{
@Autowired
private ISysDictTypeService dictTypeService;
@PreAuthorize("@ss.hasPermi('system:dict:list')")
@GetMapping("/list")
public TableDataInfo list(SysDictType dictType)
{
startPage();
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
return getDataTable(list);
}
@Log(title = "字典类型", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:dict:export')")
@GetMapping("/export")
public AjaxResult export(SysDictType dictType)
{
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
ExcelUtil<SysDictType> util = new ExcelUtil<SysDictType>(SysDictType.class);
return util.exportExcel(list, "字典类型");
}
/**
* 查询字典类型详细
*/
@PreAuthorize("@ss.hasPermi('system:dict:query')")
@GetMapping(value = "/{dictId}")
public AjaxResult getInfo(@PathVariable Long dictId)
{
return AjaxResult.success(dictTypeService.selectDictTypeById(dictId));
}
/**
* 新增字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:add')")
@Log(title = "字典类型", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysDictType dict)
{
if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict)))
{
return AjaxResult.error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在");
}
dict.setCreateBy(SecurityUtils.getUsername());
return toAjax(dictTypeService.insertDictType(dict));
}
/**
* 修改字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:edit')")
@Log(title = "字典类型", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysDictType dict)
{
if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict)))
{
return AjaxResult.error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在");
}
dict.setUpdateBy(SecurityUtils.getUsername());
return toAjax(dictTypeService.updateDictType(dict));
}
/**
* 删除字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:remove')")
@Log(title = "字典类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{dictIds}")
public AjaxResult remove(@PathVariable Long[] dictIds)
{
return toAjax(dictTypeService.deleteDictTypeByIds(dictIds));
}
/**
* 清空缓存
*/
@PreAuthorize("@ss.hasPermi('system:dict:remove')")
@Log(title = "字典类型", businessType = BusinessType.CLEAN)
@DeleteMapping("/clearCache")
public AjaxResult clearCache()
{
dictTypeService.clearCache();
return AjaxResult.success();
}
/**
* 获取字典选择框列表
*/
@GetMapping("/optionselect")
public AjaxResult optionselect()
{
List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll();
return AjaxResult.success(dictTypes);
}
}
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDictType;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.service.ISysDictTypeService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 数据字典信息
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/dict/type")
public class SysDictTypeController extends BaseController {
private final ISysDictTypeService dictTypeService;
/**
* 查询字典类型列表
*/
@SaCheckPermission("system:dict:list")
@GetMapping("/list")
public TableDataInfo<SysDictType> list(SysDictType dictType, PageQuery pageQuery) {
return dictTypeService.selectPageDictTypeList(dictType, pageQuery);
}
/**
* 导出字典类型列表
*/
@Log(title = "字典类型", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:dict:export")
@PostMapping("/export")
public void export(SysDictType dictType, HttpServletResponse response) {
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
ExcelUtil.exportExcel(list, "字典类型", SysDictType.class, response);
}
/**
* 查询字典类型详细
*
* @param dictId 字典ID
*/
@SaCheckPermission("system:dict:query")
@GetMapping(value = "/{dictId}")
public R<SysDictType> getInfo(@PathVariable Long dictId) {
return R.ok(dictTypeService.selectDictTypeById(dictId));
}
/**
* 新增字典类型
*/
@SaCheckPermission("system:dict:add")
@Log(title = "字典类型", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysDictType dict) {
if (!dictTypeService.checkDictTypeUnique(dict)) {
return R.fail("新增字典'" + dict.getDictName() + "'失败,字典类型已存在");
}
dictTypeService.insertDictType(dict);
return R.ok();
}
/**
* 修改字典类型
*/
@SaCheckPermission("system:dict:edit")
@Log(title = "字典类型", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody SysDictType dict) {
if (!dictTypeService.checkDictTypeUnique(dict)) {
return R.fail("修改字典'" + dict.getDictName() + "'失败,字典类型已存在");
}
dictTypeService.updateDictType(dict);
return R.ok();
}
/**
* 删除字典类型
*
* @param dictIds 字典ID串
*/
@SaCheckPermission("system:dict:remove")
@Log(title = "字典类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{dictIds}")
public R<Void> remove(@PathVariable Long[] dictIds) {
dictTypeService.deleteDictTypeByIds(dictIds);
return R.ok();
}
/**
* 刷新字典缓存
*/
@SaCheckPermission("system:dict:remove")
@Log(title = "字典类型", businessType = BusinessType.CLEAN)
@DeleteMapping("/refreshCache")
public R<Void> refreshCache() {
dictTypeService.resetDictCache();
return R.ok();
}
/**
* 获取字典选择框列表
*/
@GetMapping("/optionselect")
public R<List<SysDictType>> optionselect() {
List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll();
return R.ok(dictTypes);
}
}

View File

@@ -0,0 +1,32 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.utils.StringUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 首页
*
* @author Lion Li
*/
@RequiredArgsConstructor
@RestController
public class SysIndexController {
/**
* 系统基础配置
*/
private final RuoYiConfig ruoyiConfig;
/**
* 访问首页,提示语
*/
@SaIgnore
@GetMapping("/")
public String index() {
return StringUtils.format("欢迎使用{}后台管理框架当前版本v{},请通过前端地址访问。", ruoyiConfig.getName(), ruoyiConfig.getVersion());
}
}

View File

@@ -1,94 +1,144 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import java.util.Set;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginBody;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.framework.web.service.SysLoginService;
import com.ruoyi.framework.web.service.SysPermissionService;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.service.ISysMenuService;
/**
* 登录验证
*
* @author ruoyi
*/
@RestController
public class SysLoginController
{
@Autowired
private SysLoginService loginService;
@Autowired
private ISysMenuService menuService;
@Autowired
private SysPermissionService permissionService;
@Autowired
private TokenService tokenService;
/**
* 登录方法
*
* @param loginBody 登录信息
* @return 结果
*/
@PostMapping("/login")
public AjaxResult login(@RequestBody LoginBody loginBody)
{
AjaxResult ajax = AjaxResult.success();
// 生成令牌
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
loginBody.getUuid());
ajax.put(Constants.TOKEN, token);
return ajax;
}
/**
* 获取用户信息
*
* @return 用户信息
*/
@GetMapping("getInfo")
public AjaxResult getInfo()
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
SysUser user = loginUser.getUser();
// 角色集合
Set<String> roles = permissionService.getRolePermission(user);
// 权限集合
Set<String> permissions = permissionService.getMenuPermission(user);
AjaxResult ajax = AjaxResult.success();
ajax.put("user", user);
ajax.put("roles", roles);
ajax.put("permissions", permissions);
return ajax;
}
/**
* 获取路由信息
*
* @return 路由信息
*/
@GetMapping("getRouters")
public AjaxResult getRouters()
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
// 用户信息
SysUser user = loginUser.getUser();
List<SysMenu> menus = menuService.selectMenuTreeByUserId(user.getUserId());
return AjaxResult.success(menuService.buildMenus(menus));
}
}
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.EmailLoginBody;
import com.ruoyi.common.core.domain.model.LoginBody;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.domain.model.SmsLoginBody;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.system.domain.vo.RouterVo;
import com.ruoyi.system.service.ISysMenuService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.SysLoginService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 登录验证
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
public class SysLoginController {
private final SysLoginService loginService;
private final ISysMenuService menuService;
private final ISysUserService userService;
/**
* 登录方法
*
* @param loginBody 登录信息
* @return 结果
*/
@SaIgnore
@PostMapping("/login")
public R<Map<String, Object>> login(@Validated @RequestBody LoginBody loginBody) {
Map<String, Object> ajax = new HashMap<>();
// 生成令牌
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
loginBody.getUuid());
ajax.put(Constants.TOKEN, token);
return R.ok(ajax);
}
/**
* 短信登录
*
* @param smsLoginBody 登录信息
* @return 结果
*/
@SaIgnore
@PostMapping("/smsLogin")
public R<Map<String, Object>> smsLogin(@Validated @RequestBody SmsLoginBody smsLoginBody) {
Map<String, Object> ajax = new HashMap<>();
// 生成令牌
String token = loginService.smsLogin(smsLoginBody.getPhonenumber(), smsLoginBody.getSmsCode());
ajax.put(Constants.TOKEN, token);
return R.ok(ajax);
}
/**
* 邮件登录
*
* @param body 登录信息
* @return 结果
*/
@PostMapping("/emailLogin")
public R<Map<String, Object>> emailLogin(@Validated @RequestBody EmailLoginBody body) {
Map<String, Object> ajax = new HashMap<>();
// 生成令牌
String token = loginService.emailLogin(body.getEmail(), body.getEmailCode());
ajax.put(Constants.TOKEN, token);
return R.ok(ajax);
}
/**
* 小程序登录(示例)
*
* @param xcxCode 小程序code
* @return 结果
*/
@SaIgnore
@PostMapping("/xcxLogin")
public R<Map<String, Object>> xcxLogin(@NotBlank(message = "{xcx.code.not.blank}") String xcxCode) {
Map<String, Object> ajax = new HashMap<>();
// 生成令牌
String token = loginService.xcxLogin(xcxCode);
ajax.put(Constants.TOKEN, token);
return R.ok(ajax);
}
/**
* 退出登录
*/
@SaIgnore
@PostMapping("/logout")
public R<Void> logout() {
loginService.logout();
return R.ok("退出成功");
}
/**
* 获取用户信息
*
* @return 用户信息
*/
@GetMapping("getInfo")
public R<Map<String, Object>> getInfo() {
LoginUser loginUser = LoginHelper.getLoginUser();
SysUser user = userService.selectUserById(loginUser.getUserId());
Map<String, Object> ajax = new HashMap<>();
ajax.put("user", user);
ajax.put("roles", loginUser.getRolePermission());
ajax.put("permissions", loginUser.getMenuPermission());
return R.ok(ajax);
}
/**
* 获取路由信息
*
* @return 路由信息
*/
@GetMapping("getRouters")
public R<List<RouterVo>> getRouters() {
Long userId = LoginHelper.getUserId();
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
return R.ok(menuService.buildMenus(menus));
}
}

View File

@@ -1,157 +1,127 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.service.ISysMenuService;
/**
* 菜单信息
*
* @author ruoyi
*/
@RestController
@RequestMapping("/system/menu")
public class SysMenuController extends BaseController
{
@Autowired
private ISysMenuService menuService;
@Autowired
private TokenService tokenService;
/**
* 获取菜单列表
*/
@PreAuthorize("@ss.hasPermi('system:menu:list')")
@GetMapping("/list")
public AjaxResult list(SysMenu menu)
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
Long userId = loginUser.getUser().getUserId();
List<SysMenu> menus = menuService.selectMenuList(menu, userId);
return AjaxResult.success(menus);
}
/**
* 根据菜单编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:menu:query')")
@GetMapping(value = "/{menuId}")
public AjaxResult getInfo(@PathVariable Long menuId)
{
return AjaxResult.success(menuService.selectMenuById(menuId));
}
/**
* 获取菜单下拉树列表
*/
@GetMapping("/treeselect")
public AjaxResult treeselect(SysMenu menu)
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
Long userId = loginUser.getUser().getUserId();
List<SysMenu> menus = menuService.selectMenuList(menu, userId);
return AjaxResult.success(menuService.buildMenuTreeSelect(menus));
}
/**
* 加载对应角色菜单列表树
*/
@GetMapping(value = "/roleMenuTreeselect/{roleId}")
public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId)
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
List<SysMenu> menus = menuService.selectMenuList(loginUser.getUser().getUserId());
AjaxResult ajax = AjaxResult.success();
ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
ajax.put("menus", menuService.buildMenuTreeSelect(menus));
return ajax;
}
/**
* 新增菜单
*/
@PreAuthorize("@ss.hasPermi('system:menu:add')")
@Log(title = "菜单管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysMenu menu)
{
if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu)))
{
return AjaxResult.error("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
}
else if (UserConstants.YES_FRAME.equals(menu.getIsFrame())
&& !StringUtils.startsWithAny(menu.getPath(), Constants.HTTP, Constants.HTTPS))
{
return AjaxResult.error("新增菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
}
menu.setCreateBy(SecurityUtils.getUsername());
return toAjax(menuService.insertMenu(menu));
}
/**
* 修改菜单
*/
@PreAuthorize("@ss.hasPermi('system:menu:edit')")
@Log(title = "菜单管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysMenu menu)
{
if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu)))
{
return AjaxResult.error("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
}
else if (UserConstants.YES_FRAME.equals(menu.getIsFrame())
&& !StringUtils.startsWithAny(menu.getPath(), Constants.HTTP, Constants.HTTPS))
{
return AjaxResult.error("修改菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
}
else if (menu.getMenuId().equals(menu.getParentId()))
{
return AjaxResult.error("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己");
}
menu.setUpdateBy(SecurityUtils.getUsername());
return toAjax(menuService.updateMenu(menu));
}
/**
* 删除菜单
*/
@PreAuthorize("@ss.hasPermi('system:menu:remove')")
@Log(title = "菜单管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{menuId}")
public AjaxResult remove(@PathVariable("menuId") Long menuId)
{
if (menuService.hasChildByMenuId(menuId))
{
return AjaxResult.error("存在子菜单,不允许删除");
}
if (menuService.checkMenuExistRole(menuId))
{
return AjaxResult.error("菜单已分配,不允许删除");
}
return toAjax(menuService.deleteMenuById(menuId));
}
}
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.lang.tree.Tree;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysMenu;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.service.ISysMenuService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 菜单信息
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/menu")
public class SysMenuController extends BaseController {
private final ISysMenuService menuService;
/**
* 获取菜单列表
*/
@SaCheckPermission("system:menu:list")
@GetMapping("/list")
public R<List<SysMenu>> list(SysMenu menu) {
List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
return R.ok(menus);
}
/**
* 根据菜单编号获取详细信息
*
* @param menuId 菜单ID
*/
@SaCheckPermission("system:menu:query")
@GetMapping(value = "/{menuId}")
public R<SysMenu> getInfo(@PathVariable Long menuId) {
return R.ok(menuService.selectMenuById(menuId));
}
/**
* 获取菜单下拉树列表
*/
@GetMapping("/treeselect")
public R<List<Tree<Long>>> treeselect(SysMenu menu) {
List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
return R.ok(menuService.buildMenuTreeSelect(menus));
}
/**
* 加载对应角色菜单列表树
*
* @param roleId 角色ID
*/
@GetMapping(value = "/roleMenuTreeselect/{roleId}")
public R<Map<String, Object>> roleMenuTreeselect(@PathVariable("roleId") Long roleId) {
List<SysMenu> menus = menuService.selectMenuList(getUserId());
Map<String, Object> ajax = new HashMap<>();
ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
ajax.put("menus", menuService.buildMenuTreeSelect(menus));
return R.ok(ajax);
}
/**
* 新增菜单
*/
@SaCheckPermission("system:menu:add")
@Log(title = "菜单管理", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysMenu menu) {
if (!menuService.checkMenuNameUnique(menu)) {
return R.fail("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
} else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
return R.fail("新增菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
}
return toAjax(menuService.insertMenu(menu));
}
/**
* 修改菜单
*/
@SaCheckPermission("system:menu:edit")
@Log(title = "菜单管理", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody SysMenu menu) {
if (!menuService.checkMenuNameUnique(menu)) {
return R.fail("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
} else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath())) {
return R.fail("修改菜单'" + menu.getMenuName() + "'失败,地址必须以http(s)://开头");
} else if (menu.getMenuId().equals(menu.getParentId())) {
return R.fail("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己");
}
return toAjax(menuService.updateMenu(menu));
}
/**
* 删除菜单
*
* @param menuId 菜单ID
*/
@SaCheckPermission("system:menu:remove")
@Log(title = "菜单管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{menuId}")
public R<Void> remove(@PathVariable("menuId") Long menuId) {
if (menuService.hasChildByMenuId(menuId)) {
return R.warn("存在子菜单,不允许删除");
}
if (menuService.checkMenuExistRole(menuId)) {
return R.warn("菜单已分配,不允许删除");
}
return toAjax(menuService.deleteMenuById(menuId));
}
}

View File

@@ -1,92 +1,80 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.domain.SysNotice;
import com.ruoyi.system.service.ISysNoticeService;
/**
* 公告 信息操作处理
*
* @author ruoyi
*/
@RestController
@RequestMapping("/system/notice")
public class SysNoticeController extends BaseController
{
@Autowired
private ISysNoticeService noticeService;
/**
* 获取通知公告列表
*/
@PreAuthorize("@ss.hasPermi('system:notice:list')")
@GetMapping("/list")
public TableDataInfo list(SysNotice notice)
{
startPage();
List<SysNotice> list = noticeService.selectNoticeList(notice);
return getDataTable(list);
}
/**
* 根据通知公告编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:notice:query')")
@GetMapping(value = "/{noticeId}")
public AjaxResult getInfo(@PathVariable Long noticeId)
{
return AjaxResult.success(noticeService.selectNoticeById(noticeId));
}
/**
* 新增通知公告
*/
@PreAuthorize("@ss.hasPermi('system:notice:add')")
@Log(title = "通知公告", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysNotice notice)
{
notice.setCreateBy(SecurityUtils.getUsername());
return toAjax(noticeService.insertNotice(notice));
}
/**
* 修改通知公告
*/
@PreAuthorize("@ss.hasPermi('system:notice:edit')")
@Log(title = "通知公告", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysNotice notice)
{
notice.setUpdateBy(SecurityUtils.getUsername());
return toAjax(noticeService.updateNotice(notice));
}
/**
* 删除通知公告
*/
@PreAuthorize("@ss.hasPermi('system:notice:remove')")
@Log(title = "通知公告", businessType = BusinessType.DELETE)
@DeleteMapping("/{noticeIds}")
public AjaxResult remove(@PathVariable Long[] noticeIds)
{
return toAjax(noticeService.deleteNoticeByIds(noticeIds));
}
}
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.SysNotice;
import com.ruoyi.system.service.ISysNoticeService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
/**
* 公告 信息操作处理
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/notice")
public class SysNoticeController extends BaseController {
private final ISysNoticeService noticeService;
/**
* 获取通知公告列表
*/
@SaCheckPermission("system:notice:list")
@GetMapping("/list")
public TableDataInfo<SysNotice> list(SysNotice notice, PageQuery pageQuery) {
return noticeService.selectPageNoticeList(notice, pageQuery);
}
/**
* 根据通知公告编号获取详细信息
*
* @param noticeId 公告ID
*/
@SaCheckPermission("system:notice:query")
@GetMapping(value = "/{noticeId}")
public R<SysNotice> getInfo(@PathVariable Long noticeId) {
return R.ok(noticeService.selectNoticeById(noticeId));
}
/**
* 新增通知公告
*/
@SaCheckPermission("system:notice:add")
@Log(title = "通知公告", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysNotice notice) {
return toAjax(noticeService.insertNotice(notice));
}
/**
* 修改通知公告
*/
@SaCheckPermission("system:notice:edit")
@Log(title = "通知公告", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody SysNotice notice) {
return toAjax(noticeService.updateNotice(notice));
}
/**
* 删除通知公告
*
* @param noticeIds 公告ID串
*/
@SaCheckPermission("system:notice:remove")
@Log(title = "通知公告", businessType = BusinessType.DELETE)
@DeleteMapping("/{noticeIds}")
public R<Void> remove(@PathVariable Long[] noticeIds) {
return toAjax(noticeService.deleteNoticeByIds(noticeIds));
}
}

View File

@@ -0,0 +1,105 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.annotation.RepeatSubmit;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.bo.SysOssConfigBo;
import com.ruoyi.system.domain.vo.SysOssConfigVo;
import com.ruoyi.system.service.ISysOssConfigService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Arrays;
/**
* 对象存储配置
*
* @author Lion Li
* @author 孤舟烟雨
* @date 2021-08-13
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/oss/config")
public class SysOssConfigController extends BaseController {
private final ISysOssConfigService iSysOssConfigService;
/**
* 查询对象存储配置列表
*/
@SaCheckPermission("system:oss:list")
@GetMapping("/list")
public TableDataInfo<SysOssConfigVo> list(@Validated(QueryGroup.class) SysOssConfigBo bo, PageQuery pageQuery) {
return iSysOssConfigService.queryPageList(bo, pageQuery);
}
/**
* 获取对象存储配置详细信息
*
* @param ossConfigId OSS配置ID
*/
@SaCheckPermission("system:oss:query")
@GetMapping("/{ossConfigId}")
public R<SysOssConfigVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long ossConfigId) {
return R.ok(iSysOssConfigService.queryById(ossConfigId));
}
/**
* 新增对象存储配置
*/
@SaCheckPermission("system:oss:add")
@Log(title = "对象存储配置", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody SysOssConfigBo bo) {
return toAjax(iSysOssConfigService.insertByBo(bo));
}
/**
* 修改对象存储配置
*/
@SaCheckPermission("system:oss:edit")
@Log(title = "对象存储配置", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody SysOssConfigBo bo) {
return toAjax(iSysOssConfigService.updateByBo(bo));
}
/**
* 删除对象存储配置
*
* @param ossConfigIds OSS配置ID串
*/
@SaCheckPermission("system:oss:remove")
@Log(title = "对象存储配置", businessType = BusinessType.DELETE)
@DeleteMapping("/{ossConfigIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ossConfigIds) {
return toAjax(iSysOssConfigService.deleteWithValidByIds(Arrays.asList(ossConfigIds), true));
}
/**
* 状态修改
*/
@SaCheckPermission("system:oss:edit")
@Log(title = "对象存储状态修改", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public R<Void> changeStatus(@RequestBody SysOssConfigBo bo) {
return toAjax(iSysOssConfigService.updateOssConfigStatus(bo));
}
}

View File

@@ -0,0 +1,109 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.validate.QueryGroup;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.bo.SysOssBo;
import com.ruoyi.system.domain.vo.SysOssVo;
import com.ruoyi.system.service.ISysOssService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 文件上传 控制层
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/oss")
public class SysOssController extends BaseController {
private final ISysOssService iSysOssService;
/**
* 查询OSS对象存储列表
*/
@SaCheckPermission("system:oss:list")
@GetMapping("/list")
public TableDataInfo<SysOssVo> list(@Validated(QueryGroup.class) SysOssBo bo, PageQuery pageQuery) {
return iSysOssService.queryPageList(bo, pageQuery);
}
/**
* 查询OSS对象基于id串
*
* @param ossIds OSS对象ID串
*/
@SaCheckPermission("system:oss:list")
@GetMapping("/listByIds/{ossIds}")
public R<List<SysOssVo>> listByIds(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ossIds) {
List<SysOssVo> list = iSysOssService.listByIds(Arrays.asList(ossIds));
return R.ok(list);
}
/**
* 上传OSS对象存储
*
* @param file 文件
*/
@SaCheckPermission("system:oss:upload")
@Log(title = "OSS对象存储", businessType = BusinessType.INSERT)
@PostMapping(value = "/upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<Map<String, String>> upload(@RequestPart("file") MultipartFile file) {
if (ObjectUtil.isNull(file)) {
return R.fail("上传文件不能为空");
}
SysOssVo oss = iSysOssService.upload(file);
Map<String, String> map = new HashMap<>(2);
map.put("url", oss.getUrl());
map.put("fileName", oss.getOriginalName());
map.put("ossId", oss.getOssId().toString());
return R.ok(map);
}
/**
* 下载OSS对象
*
* @param ossId OSS对象ID
*/
@SaCheckPermission("system:oss:download")
@GetMapping("/download/{ossId}")
public void download(@PathVariable Long ossId, HttpServletResponse response) throws IOException {
iSysOssService.download(ossId,response);
}
/**
* 删除OSS对象存储
*
* @param ossIds OSS对象ID串
*/
@SaCheckPermission("system:oss:remove")
@Log(title = "OSS对象存储", businessType = BusinessType.DELETE)
@DeleteMapping("/{ossIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ossIds) {
return toAjax(iSysOssService.deleteWithValidByIds(Arrays.asList(ossIds), true));
}
}

View File

@@ -1,130 +1,120 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.service.ISysPostService;
/**
* 岗位信息操作处理
*
* @author ruoyi
*/
@RestController
@RequestMapping("/system/post")
public class SysPostController extends BaseController
{
@Autowired
private ISysPostService postService;
/**
* 获取岗位列表
*/
@PreAuthorize("@ss.hasPermi('system:post:list')")
@GetMapping("/list")
public TableDataInfo list(SysPost post)
{
startPage();
List<SysPost> list = postService.selectPostList(post);
return getDataTable(list);
}
@Log(title = "岗位管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:post:export')")
@GetMapping("/export")
public AjaxResult export(SysPost post)
{
List<SysPost> list = postService.selectPostList(post);
ExcelUtil<SysPost> util = new ExcelUtil<SysPost>(SysPost.class);
return util.exportExcel(list, "岗位数据");
}
/**
* 根据岗位编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:post:query')")
@GetMapping(value = "/{postId}")
public AjaxResult getInfo(@PathVariable Long postId)
{
return AjaxResult.success(postService.selectPostById(postId));
}
/**
* 新增岗位
*/
@PreAuthorize("@ss.hasPermi('system:post:add')")
@Log(title = "岗位管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysPost post)
{
if (UserConstants.NOT_UNIQUE.equals(postService.checkPostNameUnique(post)))
{
return AjaxResult.error("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在");
}
else if (UserConstants.NOT_UNIQUE.equals(postService.checkPostCodeUnique(post)))
{
return AjaxResult.error("新增岗位'" + post.getPostName() + "'失败,岗位编码已存在");
}
post.setCreateBy(SecurityUtils.getUsername());
return toAjax(postService.insertPost(post));
}
/**
* 修改岗位
*/
@PreAuthorize("@ss.hasPermi('system:post:edit')")
@Log(title = "岗位管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysPost post)
{
if (UserConstants.NOT_UNIQUE.equals(postService.checkPostNameUnique(post)))
{
return AjaxResult.error("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
}
else if (UserConstants.NOT_UNIQUE.equals(postService.checkPostCodeUnique(post)))
{
return AjaxResult.error("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在");
}
post.setUpdateBy(SecurityUtils.getUsername());
return toAjax(postService.updatePost(post));
}
/**
* 删除岗位
*/
@PreAuthorize("@ss.hasPermi('system:post:remove')")
@Log(title = "岗位管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{postIds}")
public AjaxResult remove(@PathVariable Long[] postIds)
{
return toAjax(postService.deletePostByIds(postIds));
}
/**
* 获取岗位选择框列表
*/
@GetMapping("/optionselect")
public AjaxResult optionselect()
{
List<SysPost> posts = postService.selectPostAll();
return AjaxResult.success(posts);
}
}
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.service.ISysPostService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 岗位信息操作处理
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/post")
public class SysPostController extends BaseController {
private final ISysPostService postService;
/**
* 获取岗位列表
*/
@SaCheckPermission("system:post:list")
@GetMapping("/list")
public TableDataInfo<SysPost> list(SysPost post, PageQuery pageQuery) {
return postService.selectPagePostList(post, pageQuery);
}
/**
* 导出岗位列表
*/
@Log(title = "岗位管理", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:post:export")
@PostMapping("/export")
public void export(SysPost post, HttpServletResponse response) {
List<SysPost> list = postService.selectPostList(post);
ExcelUtil.exportExcel(list, "岗位数据", SysPost.class, response);
}
/**
* 根据岗位编号获取详细信息
*
* @param postId 岗位ID
*/
@SaCheckPermission("system:post:query")
@GetMapping(value = "/{postId}")
public R<SysPost> getInfo(@PathVariable Long postId) {
return R.ok(postService.selectPostById(postId));
}
/**
* 新增岗位
*/
@SaCheckPermission("system:post:add")
@Log(title = "岗位管理", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysPost post) {
if (!postService.checkPostNameUnique(post)) {
return R.fail("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在");
} else if (!postService.checkPostCodeUnique(post)) {
return R.fail("新增岗位'" + post.getPostName() + "'失败,岗位编码已存在");
}
return toAjax(postService.insertPost(post));
}
/**
* 修改岗位
*/
@SaCheckPermission("system:post:edit")
@Log(title = "岗位管理", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody SysPost post) {
if (!postService.checkPostNameUnique(post)) {
return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
} else if (!postService.checkPostCodeUnique(post)) {
return R.fail("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在");
} else if (UserConstants.POST_DISABLE.equals(post.getStatus())
&& postService.countUserPostById(post.getPostId()) > 0) {
return R.fail("该岗位下存在已分配用户,不能禁用!");
}
return toAjax(postService.updatePost(post));
}
/**
* 删除岗位
*
* @param postIds 岗位ID串
*/
@SaCheckPermission("system:post:remove")
@Log(title = "岗位管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{postIds}")
public R<Void> remove(@PathVariable Long[] postIds) {
return toAjax(postService.deletePostByIds(postIds));
}
/**
* 获取岗位选择框列表
*/
@GetMapping("/optionselect")
public R<List<SysPost>> optionselect() {
SysPost post = new SysPost();
post.setStatus(UserConstants.POST_NORMAL);
List<SysPost> posts = postService.selectPostList(post);
return R.ok(posts);
}
}

View File

@@ -1,139 +1,126 @@
package com.ruoyi.web.controller.system;
import java.io.IOException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.service.ISysUserService;
/**
* 个人信息 业务处理
*
* @author ruoyi
*/
@RestController
@RequestMapping("/system/user/profile")
public class SysProfileController extends BaseController
{
@Autowired
private ISysUserService userService;
@Autowired
private TokenService tokenService;
/**
* 个人信息
*/
@GetMapping
public AjaxResult profile()
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
SysUser user = loginUser.getUser();
AjaxResult ajax = AjaxResult.success(user);
ajax.put("roleGroup", userService.selectUserRoleGroup(loginUser.getUsername()));
ajax.put("postGroup", userService.selectUserPostGroup(loginUser.getUsername()));
return ajax;
}
/**
* 修改用户
*/
@Log(title = "个人信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult updateProfile(@RequestBody SysUser user)
{
if (StringUtils.isNotEmpty(user.getPhonenumber())
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
{
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
}
if (StringUtils.isNotEmpty(user.getEmail())
&& UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
{
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
if (userService.updateUserProfile(user) > 0)
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
// 更新缓存用户信息
loginUser.getUser().setNickName(user.getNickName());
loginUser.getUser().setPhonenumber(user.getPhonenumber());
loginUser.getUser().setEmail(user.getEmail());
loginUser.getUser().setSex(user.getSex());
tokenService.setLoginUser(loginUser);
return AjaxResult.success();
}
return AjaxResult.error("修改个人信息异常,请联系管理员");
}
/**
* 重置密码
*/
@Log(title = "个人信息", businessType = BusinessType.UPDATE)
@PutMapping("/updatePwd")
public AjaxResult updatePwd(String oldPassword, String newPassword)
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
String userName = loginUser.getUsername();
String password = loginUser.getPassword();
if (!SecurityUtils.matchesPassword(oldPassword, password))
{
return AjaxResult.error("修改密码失败,旧密码错误");
}
if (SecurityUtils.matchesPassword(newPassword, password))
{
return AjaxResult.error("新密码不能与旧密码相同");
}
if (userService.resetUserPwd(userName, SecurityUtils.encryptPassword(newPassword)) > 0)
{
// 更新缓存用户密码
loginUser.getUser().setPassword(SecurityUtils.encryptPassword(newPassword));
tokenService.setLoginUser(loginUser);
return AjaxResult.success();
}
return AjaxResult.error("修改密码异常,请联系管理员");
}
/**
* 头像上传
*/
@Log(title = "用户头像", businessType = BusinessType.UPDATE)
@PostMapping("/avatar")
public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) throws IOException
{
if (!file.isEmpty())
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
String avatar = FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), file);
if (userService.updateUserAvatar(loginUser.getUsername(), avatar))
{
AjaxResult ajax = AjaxResult.success();
ajax.put("imgUrl", avatar);
// 更新缓存用户头像
loginUser.getUser().setAvatar(avatar);
tokenService.setLoginUser(loginUser);
return ajax;
}
}
return AjaxResult.error("上传图片异常,请联系管理员");
}
}
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.secure.BCrypt;
import cn.hutool.core.io.FileUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.MimeTypeUtils;
import com.ruoyi.system.domain.SysOss;
import com.ruoyi.system.domain.vo.SysOssVo;
import com.ruoyi.system.service.ISysOssService;
import com.ruoyi.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
/**
* 个人信息 业务处理
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/user/profile")
public class SysProfileController extends BaseController {
private final ISysUserService userService;
private final ISysOssService iSysOssService;
/**
* 个人信息
*/
@GetMapping
public R<Map<String, Object>> profile() {
SysUser user = userService.selectUserById(getUserId());
Map<String, Object> ajax = new HashMap<>();
ajax.put("user", user);
ajax.put("roleGroup", userService.selectUserRoleGroup(user.getUserName()));
ajax.put("postGroup", userService.selectUserPostGroup(user.getUserName()));
return R.ok(ajax);
}
/**
* 修改用户
*/
@Log(title = "个人信息", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> updateProfile(@RequestBody SysUser user) {
if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
}
if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
user.setUserId(getUserId());
user.setUserName(null);
user.setPassword(null);
user.setAvatar(null);
user.setDeptId(null);
if (userService.updateUserProfile(user) > 0) {
return R.ok();
}
return R.fail("修改个人信息异常,请联系管理员");
}
/**
* 重置密码
*
* @param newPassword 新密码
* @param oldPassword 旧密码
*/
@Log(title = "个人信息", businessType = BusinessType.UPDATE)
@PutMapping("/updatePwd")
public R<Void> updatePwd(String oldPassword, String newPassword) {
SysUser user = userService.selectUserById(LoginHelper.getUserId());
String userName = user.getUserName();
String password = user.getPassword();
if (!BCrypt.checkpw(oldPassword, password)) {
return R.fail("修改密码失败,旧密码错误");
}
if (BCrypt.checkpw(newPassword, password)) {
return R.fail("新密码不能与旧密码相同");
}
if (userService.resetUserPwd(userName, BCrypt.hashpw(newPassword)) > 0) {
return R.ok();
}
return R.fail("修改密码异常,请联系管理员");
}
/**
* 头像上传
*
* @param avatarfile 用户头像
*/
@Log(title = "用户头像", businessType = BusinessType.UPDATE)
@PostMapping(value = "/avatar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<Map<String, Object>> avatar(@RequestPart("avatarfile") MultipartFile avatarfile) {
Map<String, Object> ajax = new HashMap<>();
if (!avatarfile.isEmpty()) {
String extension = FileUtil.extName(avatarfile.getOriginalFilename());
if (!StringUtils.equalsAnyIgnoreCase(extension, MimeTypeUtils.IMAGE_EXTENSION)) {
return R.fail("文件格式不正确,请上传" + Arrays.toString(MimeTypeUtils.IMAGE_EXTENSION) + "格式");
}
SysOssVo oss = iSysOssService.upload(avatarfile);
String avatar = oss.getUrl();
if (userService.updateUserAvatar(getUsername(), avatar)) {
ajax.put("imgUrl", avatar);
return R.ok(ajax);
}
}
return R.fail("上传图片异常,请联系管理员");
}
}

View File

@@ -0,0 +1,40 @@
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.RegisterBody;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.SysRegisterService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
/**
* 注册验证
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
public class SysRegisterController extends BaseController {
private final SysRegisterService registerService;
private final ISysConfigService configService;
/**
* 用户注册
*/
@SaIgnore
@PostMapping("/register")
public R<Void> register(@Validated @RequestBody RegisterBody user) {
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) {
return R.fail("当前系统没有开启注册功能!");
}
registerService.register(user);
return R.ok();
}
}

View File

@@ -1,182 +1,228 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.service.SysPermissionService;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
/**
* 角色信息
*
* @author ruoyi
*/
@RestController
@RequestMapping("/system/role")
public class SysRoleController extends BaseController
{
@Autowired
private ISysRoleService roleService;
@Autowired
private TokenService tokenService;
@Autowired
private SysPermissionService permissionService;
@Autowired
private ISysUserService userService;
@PreAuthorize("@ss.hasPermi('system:role:list')")
@GetMapping("/list")
public TableDataInfo list(SysRole role)
{
startPage();
List<SysRole> list = roleService.selectRoleList(role);
return getDataTable(list);
}
@Log(title = "角色管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:role:export')")
@GetMapping("/export")
public AjaxResult export(SysRole role)
{
List<SysRole> list = roleService.selectRoleList(role);
ExcelUtil<SysRole> util = new ExcelUtil<SysRole>(SysRole.class);
return util.exportExcel(list, "角色数据");
}
/**
* 根据角色编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:role:query')")
@GetMapping(value = "/{roleId}")
public AjaxResult getInfo(@PathVariable Long roleId)
{
return AjaxResult.success(roleService.selectRoleById(roleId));
}
/**
* 新增角色
*/
@PreAuthorize("@ss.hasPermi('system:role:add')")
@Log(title = "角色管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysRole role)
{
if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role)))
{
return AjaxResult.error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
}
else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role)))
{
return AjaxResult.error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
}
role.setCreateBy(SecurityUtils.getUsername());
return toAjax(roleService.insertRole(role));
}
/**
* 修改保存角色
*/
@PreAuthorize("@ss.hasPermi('system:role:edit')")
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysRole role)
{
roleService.checkRoleAllowed(role);
if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role)))
{
return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在");
}
else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role)))
{
return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");
}
role.setUpdateBy(SecurityUtils.getUsername());
if (roleService.updateRole(role) > 0)
{
// 更新缓存用户权限
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin())
{
loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser()));
loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName()));
tokenService.setLoginUser(loginUser);
}
return AjaxResult.success();
}
return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,请联系管理员");
}
/**
* 修改保存数据权限
*/
@PreAuthorize("@ss.hasPermi('system:role:edit')")
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping("/dataScope")
public AjaxResult dataScope(@RequestBody SysRole role)
{
roleService.checkRoleAllowed(role);
return toAjax(roleService.authDataScope(role));
}
/**
* 状态修改
*/
@PreAuthorize("@ss.hasPermi('system:role:edit')")
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public AjaxResult changeStatus(@RequestBody SysRole role)
{
roleService.checkRoleAllowed(role);
role.setUpdateBy(SecurityUtils.getUsername());
return toAjax(roleService.updateRoleStatus(role));
}
/**
* 删除角色
*/
@PreAuthorize("@ss.hasPermi('system:role:remove')")
@Log(title = "角色管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{roleIds}")
public AjaxResult remove(@PathVariable Long[] roleIds)
{
return toAjax(roleService.deleteRoleByIds(roleIds));
}
/**
* 获取角色选择框列表
*/
@PreAuthorize("@ss.hasPermi('system:role:query')")
@GetMapping("/optionselect")
public AjaxResult optionselect()
{
return AjaxResult.success(roleService.selectRoleAll());
}
}
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.SysPermissionService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 角色信息
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/role")
public class SysRoleController extends BaseController {
private final ISysRoleService roleService;
private final ISysUserService userService;
private final ISysDeptService deptService;
private final SysPermissionService permissionService;
/**
* 获取角色信息列表
*/
@SaCheckPermission("system:role:list")
@GetMapping("/list")
public TableDataInfo<SysRole> list(SysRole role, PageQuery pageQuery) {
return roleService.selectPageRoleList(role, pageQuery);
}
/**
* 导出角色信息列表
*/
@Log(title = "角色管理", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:role:export")
@PostMapping("/export")
public void export(SysRole role, HttpServletResponse response) {
List<SysRole> list = roleService.selectRoleList(role);
ExcelUtil.exportExcel(list, "角色数据", SysRole.class, response);
}
/**
* 根据角色编号获取详细信息
*
* @param roleId 角色ID
*/
@SaCheckPermission("system:role:query")
@GetMapping(value = "/{roleId}")
public R<SysRole> getInfo(@PathVariable Long roleId) {
roleService.checkRoleDataScope(roleId);
return R.ok(roleService.selectRoleById(roleId));
}
/**
* 新增角色
*/
@SaCheckPermission("system:role:add")
@Log(title = "角色管理", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysRole role) {
roleService.checkRoleAllowed(role);
if (!roleService.checkRoleNameUnique(role)) {
return R.fail("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
} else if (!roleService.checkRoleKeyUnique(role)) {
return R.fail("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
}
return toAjax(roleService.insertRole(role));
}
/**
* 修改保存角色
*/
@SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody SysRole role) {
roleService.checkRoleAllowed(role);
roleService.checkRoleDataScope(role.getRoleId());
if (!roleService.checkRoleNameUnique(role)) {
return R.fail("修改角色'" + role.getRoleName() + "'失败,角色名称已存在");
} else if (!roleService.checkRoleKeyUnique(role)) {
return R.fail("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");
}
if (roleService.updateRole(role) > 0) {
roleService.cleanOnlineUserByRole(role.getRoleId());
return R.ok();
}
return R.fail("修改角色'" + role.getRoleName() + "'失败,请联系管理员");
}
/**
* 修改保存数据权限
*/
@SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping("/dataScope")
public R<Void> dataScope(@RequestBody SysRole role) {
roleService.checkRoleAllowed(role);
roleService.checkRoleDataScope(role.getRoleId());
return toAjax(roleService.authDataScope(role));
}
/**
* 状态修改
*/
@SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public R<Void> changeStatus(@RequestBody SysRole role) {
roleService.checkRoleAllowed(role);
roleService.checkRoleDataScope(role.getRoleId());
return toAjax(roleService.updateRoleStatus(role));
}
/**
* 删除角色
*
* @param roleIds 角色ID串
*/
@SaCheckPermission("system:role:remove")
@Log(title = "角色管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{roleIds}")
public R<Void> remove(@PathVariable Long[] roleIds) {
return toAjax(roleService.deleteRoleByIds(roleIds));
}
/**
* 获取角色选择框列表
*/
@SaCheckPermission("system:role:query")
@GetMapping("/optionselect")
public R<List<SysRole>> optionselect() {
return R.ok(roleService.selectRoleAll());
}
/**
* 查询已分配用户角色列表
*/
@SaCheckPermission("system:role:list")
@GetMapping("/authUser/allocatedList")
public TableDataInfo<SysUser> allocatedList(SysUser user, PageQuery pageQuery) {
return userService.selectAllocatedList(user, pageQuery);
}
/**
* 查询未分配用户角色列表
*/
@SaCheckPermission("system:role:list")
@GetMapping("/authUser/unallocatedList")
public TableDataInfo<SysUser> unallocatedList(SysUser user, PageQuery pageQuery) {
return userService.selectUnallocatedList(user, pageQuery);
}
/**
* 取消授权用户
*/
@SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.GRANT)
@PutMapping("/authUser/cancel")
public R<Void> cancelAuthUser(@RequestBody SysUserRole userRole) {
return toAjax(roleService.deleteAuthUser(userRole));
}
/**
* 批量取消授权用户
*
* @param roleId 角色ID
* @param userIds 用户ID串
*/
@SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.GRANT)
@PutMapping("/authUser/cancelAll")
public R<Void> cancelAuthUserAll(Long roleId, Long[] userIds) {
return toAjax(roleService.deleteAuthUsers(roleId, userIds));
}
/**
* 批量选择用户授权
*
* @param roleId 角色ID
* @param userIds 用户ID串
*/
@SaCheckPermission("system:role:edit")
@Log(title = "角色管理", businessType = BusinessType.GRANT)
@PutMapping("/authUser/selectAll")
public R<Void> selectAuthUserAll(Long roleId, Long[] userIds) {
roleService.checkRoleDataScope(roleId);
return toAjax(roleService.insertAuthUsers(roleId, userIds));
}
/**
* 获取对应角色部门树列表
*
* @param roleId 角色ID
*/
@SaCheckPermission("system:role:list")
@GetMapping(value = "/deptTree/{roleId}")
public R<Map<String, Object>> roleDeptTreeselect(@PathVariable("roleId") Long roleId) {
Map<String, Object> ajax = new HashMap<>();
ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId));
ajax.put("depts", deptService.selectDeptTreeList(new SysDept()));
return R.ok(ajax);
}
}

View File

@@ -1,205 +1,256 @@
package com.ruoyi.web.controller.system;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.ServletUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.service.ISysPostService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
/**
* 用户信息
*
* @author ruoyi
*/
@RestController
@RequestMapping("/system/user")
public class SysUserController extends BaseController
{
@Autowired
private ISysUserService userService;
@Autowired
private ISysRoleService roleService;
@Autowired
private ISysPostService postService;
@Autowired
private TokenService tokenService;
/**
* 获取用户列表
*/
@PreAuthorize("@ss.hasPermi('system:user:list')")
@GetMapping("/list")
public TableDataInfo list(SysUser user)
{
startPage();
List<SysUser> list = userService.selectUserList(user);
return getDataTable(list);
}
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:user:export')")
@GetMapping("/export")
public AjaxResult export(SysUser user)
{
List<SysUser> list = userService.selectUserList(user);
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
return util.exportExcel(list, "用户数据");
}
@Log(title = "用户管理", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('system:user:import')")
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception
{
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
List<SysUser> userList = util.importExcel(file.getInputStream());
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
String operName = loginUser.getUsername();
String message = userService.importUser(userList, updateSupport, operName);
return AjaxResult.success(message);
}
@GetMapping("/importTemplate")
public AjaxResult importTemplate()
{
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
return util.importTemplateExcel("用户数据");
}
/**
* 根据用户编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:user:query')")
@GetMapping(value = { "/", "/{userId}" })
public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId)
{
AjaxResult ajax = AjaxResult.success();
List<SysRole> roles = roleService.selectRoleAll();
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
ajax.put("posts", postService.selectPostAll());
if (StringUtils.isNotNull(userId))
{
ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId));
ajax.put("postIds", postService.selectPostListByUserId(userId));
ajax.put("roleIds", roleService.selectRoleListByUserId(userId));
}
return ajax;
}
/**
* 新增用户
*/
@PreAuthorize("@ss.hasPermi('system:user:add')")
@Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysUser user)
{
if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName())))
{
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
}
else if (StringUtils.isNotEmpty(user.getPhonenumber())
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
{
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
}
else if (StringUtils.isNotEmpty(user.getEmail())
&& UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
{
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
user.setCreateBy(SecurityUtils.getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
return toAjax(userService.insertUser(user));
}
/**
* 修改用户
*/
@PreAuthorize("@ss.hasPermi('system:user:edit')")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysUser user)
{
userService.checkUserAllowed(user);
if (StringUtils.isNotEmpty(user.getPhonenumber())
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))
{
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
}
else if (StringUtils.isNotEmpty(user.getEmail())
&& UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user)))
{
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.updateUser(user));
}
/**
* 删除用户
*/
@PreAuthorize("@ss.hasPermi('system:user:remove')")
@Log(title = "用户管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{userIds}")
public AjaxResult remove(@PathVariable Long[] userIds)
{
return toAjax(userService.deleteUserByIds(userIds));
}
/**
* 重置密码
*/
@PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/resetPwd")
public AjaxResult resetPwd(@RequestBody SysUser user)
{
userService.checkUserAllowed(user);
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.resetPwd(user));
}
/**
* 状态修改
*/
@PreAuthorize("@ss.hasPermi('system:user:edit')")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public AjaxResult changeStatus(@RequestBody SysUser user)
{
userService.checkUserAllowed(user);
user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.updateUserStatus(user));
}
}
package com.ruoyi.web.controller.system;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.dev33.satoken.secure.BCrypt;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.excel.ExcelResult;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.StreamUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.SysPost;
import com.ruoyi.system.domain.vo.SysUserExportVo;
import com.ruoyi.system.domain.vo.SysUserImportVo;
import com.ruoyi.system.listener.SysUserImportListener;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysPostService;
import com.ruoyi.system.service.ISysRoleService;
import com.ruoyi.system.service.ISysUserService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 用户信息
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/user")
public class SysUserController extends BaseController {
private final ISysUserService userService;
private final ISysRoleService roleService;
private final ISysPostService postService;
private final ISysDeptService deptService;
/**
* 获取用户列表
*/
@SaCheckPermission("system:user:list")
@GetMapping("/list")
public TableDataInfo<SysUser> list(SysUser user, PageQuery pageQuery) {
return userService.selectPageUserList(user, pageQuery);
}
/**
* 导出用户列表
*/
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@SaCheckPermission("system:user:export")
@PostMapping("/export")
public void export(SysUser user, HttpServletResponse response) {
List<SysUser> list = userService.selectUserList(user);
List<SysUserExportVo> listVo = BeanUtil.copyToList(list, SysUserExportVo.class);
for (int i = 0; i < list.size(); i++) {
SysDept dept = list.get(i).getDept();
SysUserExportVo vo = listVo.get(i);
if (ObjectUtil.isNotEmpty(dept)) {
vo.setDeptName(dept.getDeptName());
vo.setLeader(dept.getLeader());
}
}
ExcelUtil.exportExcel(listVo, "用户数据", SysUserExportVo.class, response);
}
/**
* 导入数据
*
* @param file 导入文件
* @param updateSupport 是否更新已存在数据
*/
@Log(title = "用户管理", businessType = BusinessType.IMPORT)
@SaCheckPermission("system:user:import")
@PostMapping(value = "/importData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public R<Void> importData(@RequestPart("file") MultipartFile file, boolean updateSupport) throws Exception {
ExcelResult<SysUserImportVo> result = ExcelUtil.importExcel(file.getInputStream(), SysUserImportVo.class, new SysUserImportListener(updateSupport));
return R.ok(result.getAnalysis());
}
/**
* 获取导入模板
*/
@PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response) {
ExcelUtil.exportExcel(new ArrayList<>(), "用户数据", SysUserImportVo.class, response);
}
/**
* 根据用户编号获取详细信息
*
* @param userId 用户ID
*/
@SaCheckPermission("system:user:query")
@GetMapping(value = {"/", "/{userId}"})
public R<Map<String, Object>> getInfo(@PathVariable(value = "userId", required = false) Long userId) {
userService.checkUserDataScope(userId);
Map<String, Object> ajax = new HashMap<>();
SysRole role = new SysRole();
role.setStatus(UserConstants.ROLE_NORMAL);
SysPost post = new SysPost();
post.setStatus(UserConstants.POST_NORMAL);
List<SysRole> roles = roleService.selectRoleList(role);
ajax.put("roles", LoginHelper.isAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isAdmin()));
ajax.put("posts", postService.selectPostList(post));
if (ObjectUtil.isNotNull(userId)) {
SysUser sysUser = userService.selectUserById(userId);
ajax.put("user", sysUser);
ajax.put("postIds", postService.selectPostListByUserId(userId));
ajax.put("roleIds", StreamUtils.toList(sysUser.getRoles(), SysRole::getRoleId));
}
return R.ok(ajax);
}
/**
* 新增用户
*/
@SaCheckPermission("system:user:add")
@Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping
public R<Void> add(@Validated @RequestBody SysUser user) {
deptService.checkDeptDataScope(user.getDeptId());
if (!userService.checkUserNameUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
user.setPassword(BCrypt.hashpw(user.getPassword()));
return toAjax(userService.insertUser(user));
}
/**
* 修改用户
*/
@SaCheckPermission("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> edit(@Validated @RequestBody SysUser user) {
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
deptService.checkDeptDataScope(user.getDeptId());
if (!userService.checkUserNameUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber()) && !userService.checkPhoneUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail()) && !userService.checkEmailUnique(user)) {
return R.fail("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
return toAjax(userService.updateUser(user));
}
/**
* 删除用户
*
* @param userIds 角色ID串
*/
@SaCheckPermission("system:user:remove")
@Log(title = "用户管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{userIds}")
public R<Void> remove(@PathVariable Long[] userIds) {
if (ArrayUtil.contains(userIds, getUserId())) {
return R.fail("当前用户不能删除");
}
return toAjax(userService.deleteUserByIds(userIds));
}
/**
* 重置密码
*/
@SaCheckPermission("system:user:resetPwd")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/resetPwd")
public R<Void> resetPwd(@RequestBody SysUser user) {
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
user.setPassword(BCrypt.hashpw(user.getPassword()));
return toAjax(userService.resetPwd(user));
}
/**
* 状态修改
*/
@SaCheckPermission("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public R<Void> changeStatus(@RequestBody SysUser user) {
userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId());
return toAjax(userService.updateUserStatus(user));
}
/**
* 根据用户编号获取授权角色
*
* @param userId 用户ID
*/
@SaCheckPermission("system:user:query")
@GetMapping("/authRole/{userId}")
public R<Map<String, Object>> authRole(@PathVariable Long userId) {
SysUser user = userService.selectUserById(userId);
List<SysRole> roles = roleService.selectRolesByUserId(userId);
Map<String, Object> ajax = new HashMap<>();
ajax.put("user", user);
ajax.put("roles", LoginHelper.isAdmin(userId) ? roles : StreamUtils.filter(roles, r -> !r.isAdmin()));
return R.ok(ajax);
}
/**
* 用户授权角色
*
* @param userId 用户Id
* @param roleIds 角色ID串
*/
@SaCheckPermission("system:user:edit")
@Log(title = "用户管理", businessType = BusinessType.GRANT)
@PutMapping("/authRole")
public R<Void> insertAuthRole(Long userId, Long[] roleIds) {
userService.checkUserDataScope(userId);
userService.insertUserAuth(userId, roleIds);
return R.ok();
}
/**
* 获取部门树列表
*/
@SaCheckPermission("system:user:list")
@GetMapping("/deptTree")
public R<List<Tree<Long>>> deptTree(SysDept dept) {
return R.ok(deptService.selectDeptTreeList(dept));
}
}

View File

@@ -1,24 +0,0 @@
package com.ruoyi.web.controller.tool;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import com.ruoyi.common.core.controller.BaseController;
/**
* swagger 接口
*
* @author ruoyi
*/
@Controller
@RequestMapping("/tool/swagger")
public class SwaggerController extends BaseController
{
@PreAuthorize("@ss.hasPermi('tool:swagger:view')")
@GetMapping()
public String index()
{
return redirect("/swagger-ui.html");
}
}

View File

@@ -1,175 +0,0 @@
package com.ruoyi.web.controller.tool;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
/**
* swagger 用户测试方法
*
* @author ruoyi
*/
@Api("用户信息管理")
@RestController
@RequestMapping("/test/user")
public class TestController extends BaseController
{
private final static Map<Integer, UserEntity> users = new LinkedHashMap<Integer, UserEntity>();
{
users.put(1, new UserEntity(1, "admin", "admin123", "15888888888"));
users.put(2, new UserEntity(2, "ry", "admin123", "15666666666"));
}
@ApiOperation("获取用户列表")
@GetMapping("/list")
public AjaxResult userList()
{
List<UserEntity> userList = new ArrayList<UserEntity>(users.values());
return AjaxResult.success(userList);
}
@ApiOperation("获取用户详细")
@ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "int", paramType = "path")
@GetMapping("/{userId}")
public AjaxResult getUser(@PathVariable Integer userId)
{
if (!users.isEmpty() && users.containsKey(userId))
{
return AjaxResult.success(users.get(userId));
}
else
{
return AjaxResult.error("用户不存在");
}
}
@ApiOperation("新增用户")
@ApiImplicitParam(name = "userEntity", value = "新增用户信息", dataType = "UserEntity")
@PostMapping("/save")
public AjaxResult save(UserEntity user)
{
if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId()))
{
return AjaxResult.error("用户ID不能为空");
}
return AjaxResult.success(users.put(user.getUserId(), user));
}
@ApiOperation("更新用户")
@ApiImplicitParam(name = "userEntity", value = "新增用户信息", dataType = "UserEntity")
@PutMapping("/update")
public AjaxResult update(UserEntity user)
{
if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId()))
{
return AjaxResult.error("用户ID不能为空");
}
if (users.isEmpty() || !users.containsKey(user.getUserId()))
{
return AjaxResult.error("用户不存在");
}
users.remove(user.getUserId());
return AjaxResult.success(users.put(user.getUserId(), user));
}
@ApiOperation("删除用户信息")
@ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "int", paramType = "path")
@DeleteMapping("/{userId}")
public AjaxResult delete(@PathVariable Integer userId)
{
if (!users.isEmpty() && users.containsKey(userId))
{
users.remove(userId);
return AjaxResult.success();
}
else
{
return AjaxResult.error("用户不存在");
}
}
}
@ApiModel("用户实体")
class UserEntity
{
@ApiModelProperty("用户ID")
private Integer userId;
@ApiModelProperty("用户名称")
private String username;
@ApiModelProperty("用户密码")
private String password;
@ApiModelProperty("用户手机")
private String mobile;
public UserEntity()
{
}
public UserEntity(Integer userId, String username, String password, String mobile)
{
this.userId = userId;
this.username = username;
this.password = password;
this.mobile = mobile;
}
public Integer getUserId()
{
return userId;
}
public void setUserId(Integer userId)
{
this.userId = userId;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getMobile()
{
return mobile;
}
public void setMobile(String mobile)
{
this.mobile = mobile;
}
}

View File

@@ -1,125 +0,0 @@
package com.ruoyi.web.core.config;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.ruoyi.common.config.RuoYiConfig;
import io.swagger.annotations.ApiOperation;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey;
import springfox.documentation.service.AuthorizationScope;
import springfox.documentation.service.Contact;
import springfox.documentation.service.SecurityReference;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* Swagger2的接口配置
*
* @author ruoyi
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig
{
/** 系统基础配置 */
@Autowired
private RuoYiConfig ruoyiConfig;
/** 是否开启swagger */
@Value("${swagger.enabled}")
private boolean enabled;
/** 设置请求的统一前缀 */
@Value("${swagger.pathMapping}")
private String pathMapping;
/**
* 创建API
*/
@Bean
public Docket createRestApi()
{
return new Docket(DocumentationType.SWAGGER_2)
// 是否启用Swagger
.enable(enabled)
// 用来创建该API的基本信息展示在文档的页面中自定义展示的信息
.apiInfo(apiInfo())
// 设置哪些接口暴露给Swagger展示
.select()
// 扫描所有有注解的api用这种方式更灵活
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// 扫描指定包中的swagger注解
// .apis(RequestHandlerSelectors.basePackage("com.ruoyi.project.tool.swagger"))
// 扫描所有 .apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
/* 设置安全模式swagger可以设置访问token */
.securitySchemes(securitySchemes())
.securityContexts(securityContexts())
.pathMapping(pathMapping);
}
/**
* 安全模式这里指定token通过Authorization头请求头传递
*/
private List<ApiKey> securitySchemes()
{
List<ApiKey> apiKeyList = new ArrayList<ApiKey>();
apiKeyList.add(new ApiKey("Authorization", "Authorization", "header"));
return apiKeyList;
}
/**
* 安全上下文
*/
private List<SecurityContext> securityContexts()
{
List<SecurityContext> securityContexts = new ArrayList<>();
securityContexts.add(
SecurityContext.builder()
.securityReferences(defaultAuth())
.forPaths(PathSelectors.regex("^(?!auth).*$"))
.build());
return securityContexts;
}
/**
* 默认的安全上引用
*/
private List<SecurityReference> defaultAuth()
{
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
List<SecurityReference> securityReferences = new ArrayList<>();
securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
return securityReferences;
}
/**
* 添加摘要信息
*/
private ApiInfo apiInfo()
{
// 用ApiInfoBuilder进行定制
return new ApiInfoBuilder()
// 设置标题
.title("标题若依管理系统_接口文档")
// 描述
.description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...")
// 作者信息
.contact(new Contact(ruoyiConfig.getName(), null, null))
// 版本
.version("版本号:" + ruoyiConfig.getVersion())
.build();
}
}

View File

@@ -1 +0,0 @@
restart.include.json=/com.alibaba.fastjson.*.jar

View File

@@ -0,0 +1,182 @@
--- # 监控中心配置
spring.boot.admin.client:
# 增加客户端开关
enabled: true
url: http://localhost:9090/admin
instance:
service-host-type: IP
username: ruoyi
password: 123456
--- # xxl-job 配置
xxl.job:
# 执行器开关
enabled: true
# 调度中心地址:如调度中心集群部署存在多个地址则用逗号分隔。
admin-addresses: http://localhost:9100/xxl-job-admin
# 执行器通讯TOKEN非空时启用
access-token: xxl-job
executor:
# 执行器AppName执行器心跳注册分组依据为空则关闭自动注册
appname: xxl-job-executor
# 28080 端口 随着主应用端口飘逸 避免集群冲突
port: 2${server.port}
# 执行器注册默认IP:PORT
address:
# 执行器IP默认自动获取IP
ip:
# 执行器运行日志文件存储磁盘路径
logpath: ./logs/xxl-job
# 执行器日志文件保存天数大于3生效
logretentiondays: 30
--- # 数据源配置
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
# 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
dynamic:
# 性能分析插件(有性能损耗 不建议生产环境使用)
p6spy: true
# 设置默认的数据源或者数据源组,默认值即为 master
primary: master
# 严格模式 匹配不到数据源则报错
strict: true
datasource:
# 主库数据源
master:
type: ${spring.datasource.type}
driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username: root
password: root
# 从库数据源
slave:
lazy: true
type: ${spring.datasource.type}
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username:
password:
# oracle:
# type: ${spring.datasource.type}
# driverClassName: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@//localhost:1521/XE
# username: ROOT
# password: root
# postgres:
# type: ${spring.datasource.type}
# driverClassName: org.postgresql.Driver
# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
# username: root
# password: root
# sqlserver:
# type: ${spring.datasource.type}
# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
# username: SA
# password: root
hikari:
# 最大连接池数量
maxPoolSize: 20
# 最小空闲线程数量
minIdle: 10
# 配置获取连接等待超时的时间
connectionTimeout: 30000
# 校验超时时间
validationTimeout: 5000
# 空闲连接存活最大时间默认10分钟
idleTimeout: 600000
# 此属性控制池中连接的最长生命周期值0表示无限生命周期默认30分钟
maxLifetime: 1800000
# 多久检查一次连接的活性
keepaliveTime: 30000
--- # redis 单机配置(单机与集群只能开启一个另一个需要注释掉)
spring:
redis:
# 地址
host: localhost
# 端口默认为6379
port: 6379
# 数据库索引
database: 0
# 密码(如没有密码请注释掉)
# password:
# 连接超时时间
timeout: 10s
# 是否开启ssl
ssl: false
redisson:
# redis key前缀
keyPrefix:
# 线程池数量
threads: 4
# Netty线程池数量
nettyThreads: 8
# 单节点配置
singleServerConfig:
# 客户端名称
clientName: ${ruoyi.name}
# 最小空闲连接数
connectionMinimumIdleSize: 8
# 连接池大小
connectionPoolSize: 32
# 连接空闲超时,单位:毫秒
idleConnectionTimeout: 10000
# 命令等待超时,单位:毫秒
timeout: 3000
# 发布和订阅连接池大小
subscriptionConnectionPoolSize: 50
--- # mail 邮件发送
mail:
enabled: false
host: smtp.163.com
port: 465
# 是否需要用户名密码验证
auth: true
# 发送方遵循RFC-822标准
from: xxx@163.com
# 用户名注意如果使用foxmail邮箱此处user为qq号
user: xxx@163.com
# 密码注意某些邮箱需要为SMTP服务单独设置密码详情查看相关帮助
pass: xxxxxxxxxx
# 使用 STARTTLS安全连接STARTTLS是对纯文本通信协议的扩展。
starttlsEnable: true
# 使用SSL安全连接
sslEnable: true
# SMTP超时时长单位毫秒缺省值不超时
timeout: 0
# Socket连接超时值单位毫秒缺省值不超时
connectionTimeout: 0
--- # sms 短信 支持 阿里云 腾讯云 云片 等等各式各样的短信服务商
# https://wind.kim/doc/start 文档地址 各个厂商可同时使用
sms:
# 阿里云 dysmsapi.aliyuncs.com
alibaba:
#请求地址 默认为 dysmsapi.aliyuncs.com 如无特殊改变可以不用设置
requestUrl: dysmsapi.aliyuncs.com
#阿里云的accessKey
accessKeyId: xxxxxxx
#阿里云的accessKeySecret
accessKeySecret: xxxxxxx
#短信签名
signature: 测试
tencent:
#请求地址默认为 sms.tencentcloudapi.com 如无特殊改变可不用设置
requestUrl: sms.tencentcloudapi.com
#腾讯云的accessKey
accessKeyId: xxxxxxx
#腾讯云的accessKeySecret
accessKeySecret: xxxxxxx
#短信签名
signature: 测试
#短信sdkAppId
sdkAppId: appid
#地域信息默认为 ap-guangzhou 如无特殊改变可不用设置
territory: ap-guangzhou

View File

@@ -1,57 +0,0 @@
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: password
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
statViewServlet:
enabled: true
# 设置白名单,不填则允许所有访问
allow:
url-pattern: /druid/*
# 控制台管理用户名和密码
login-username: ruoyi
login-password: 123456
filter:
stat:
enabled: true
# 慢SQL记录
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true

View File

@@ -0,0 +1,185 @@
--- # 临时文件存储位置 避免临时文件被系统清理报错
spring.servlet.multipart.location: /ruoyi/server/temp
--- # 监控中心配置
spring.boot.admin.client:
# 增加客户端开关
enabled: true
url: http://localhost:9090/admin
instance:
service-host-type: IP
username: ruoyi
password: 123456
--- # xxl-job 配置
xxl.job:
# 执行器开关
enabled: true
# 调度中心地址:如调度中心集群部署存在多个地址则用逗号分隔。
admin-addresses: http://localhost:9100/xxl-job-admin
# 执行器通讯TOKEN非空时启用
access-token: xxl-job
executor:
# 执行器AppName执行器心跳注册分组依据为空则关闭自动注册
appname: xxl-job-executor
# 28080 端口 随着主应用端口飘逸 避免集群冲突
port: 2${server.port}
# 执行器注册默认IP:PORT
address:
# 执行器IP默认自动获取IP
ip:
# 执行器运行日志文件存储磁盘路径
logpath: ./logs/xxl-job
# 执行器日志文件保存天数大于3生效
logretentiondays: 30
--- # 数据源配置
spring:
datasource:
type: com.zaxxer.hikari.HikariDataSource
# 动态数据源文档 https://www.kancloud.cn/tracy5546/dynamic-datasource/content
dynamic:
# 性能分析插件(有性能损耗 不建议生产环境使用)
p6spy: false
# 设置默认的数据源或者数据源组,默认值即为 master
primary: master
# 严格模式 匹配不到数据源则报错
strict: true
datasource:
# 主库数据源
master:
type: ${spring.datasource.type}
driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username: root
password: root
# 从库数据源
slave:
lazy: true
type: ${spring.datasource.type}
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username:
password:
# oracle:
# type: ${spring.datasource.type}
# driverClassName: oracle.jdbc.OracleDriver
# url: jdbc:oracle:thin:@//localhost:1521/XE
# username: ROOT
# password: root
# postgres:
# type: ${spring.datasource.type}
# driverClassName: org.postgresql.Driver
# url: jdbc:postgresql://localhost:5432/postgres?useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
# username: root
# password: root
# sqlserver:
# type: ${spring.datasource.type}
# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
# url: jdbc:sqlserver://localhost:1433;DatabaseName=tempdb;SelectMethod=cursor;encrypt=false;rewriteBatchedStatements=true
# username: SA
# password: root
hikari:
# 最大连接池数量
maxPoolSize: 20
# 最小空闲线程数量
minIdle: 10
# 配置获取连接等待超时的时间
connectionTimeout: 30000
# 校验超时时间
validationTimeout: 5000
# 空闲连接存活最大时间默认10分钟
idleTimeout: 600000
# 此属性控制池中连接的最长生命周期值0表示无限生命周期默认30分钟
maxLifetime: 1800000
# 多久检查一次连接的活性
keepaliveTime: 30000
--- # redis 单机配置(单机与集群只能开启一个另一个需要注释掉)
spring:
redis:
# 地址
host: localhost
# 端口默认为6379
port: 6379
# 数据库索引
database: 0
# 密码(如没有密码请注释掉)
# password:
# 连接超时时间
timeout: 10s
# 是否开启ssl
ssl: false
redisson:
# redis key前缀
keyPrefix:
# 线程池数量
threads: 16
# Netty线程池数量
nettyThreads: 32
# 单节点配置
singleServerConfig:
# 客户端名称
clientName: ${ruoyi.name}
# 最小空闲连接数
connectionMinimumIdleSize: 32
# 连接池大小
connectionPoolSize: 64
# 连接空闲超时,单位:毫秒
idleConnectionTimeout: 10000
# 命令等待超时,单位:毫秒
timeout: 3000
# 发布和订阅连接池大小
subscriptionConnectionPoolSize: 50
--- # mail 邮件发送
mail:
enabled: false
host: smtp.163.com
port: 465
# 是否需要用户名密码验证
auth: true
# 发送方遵循RFC-822标准
from: xxx@163.com
# 用户名注意如果使用foxmail邮箱此处user为qq号
user: xxx@163.com
# 密码注意某些邮箱需要为SMTP服务单独设置密码详情查看相关帮助
pass: xxxxxxxxxx
# 使用 STARTTLS安全连接STARTTLS是对纯文本通信协议的扩展。
starttlsEnable: true
# 使用SSL安全连接
sslEnable: true
# SMTP超时时长单位毫秒缺省值不超时
timeout: 0
# Socket连接超时值单位毫秒缺省值不超时
connectionTimeout: 0
--- # sms 短信 支持 阿里云 腾讯云 云片 等等各式各样的短信服务商
# https://wind.kim/doc/start 文档地址 各个厂商可同时使用
sms:
# 阿里云 dysmsapi.aliyuncs.com
alibaba:
#请求地址 默认为 dysmsapi.aliyuncs.com 如无特殊改变可以不用设置
requestUrl: dysmsapi.aliyuncs.com
#阿里云的accessKey
accessKeyId: xxxxxxx
#阿里云的accessKeySecret
accessKeySecret: xxxxxxx
#短信签名
signature: 测试
tencent:
#请求地址默认为 sms.tencentcloudapi.com 如无特殊改变可不用设置
requestUrl: sms.tencentcloudapi.com
#腾讯云的accessKey
accessKeyId: xxxxxxx
#腾讯云的accessKeySecret
accessKeySecret: xxxxxxx
#短信签名
signature: 测试
#短信sdkAppId
sdkAppId: appid
#地域信息默认为 ap-guangzhou 如无特殊改变可不用设置
territory: ap-guangzhou

View File

@@ -1,121 +1,268 @@
# 项目相关配置
ruoyi:
# 名称
name: RuoYi
# 版本
version: 3.4.0
# 版权年份
copyrightYear: 2021
# 实例演示开关
demoEnabled: true
# 文件路径 示例( Windows配置D:/ruoyi/uploadPathLinux配置 /home/ruoyi/uploadPath
profile: D:/ruoyi/uploadPath
# 获取ip地址开关
addressEnabled: false
# 验证码类型 math 数组计算 char 字符验证
captchaType: math
# 开发环境配置
server:
# 服务器的HTTP端口默认为8080
port: 8080
servlet:
# 应用的访问路径
context-path: /
tomcat:
# tomcat的URI编码
uri-encoding: UTF-8
# tomcat最大线程数默认为200
max-threads: 800
# Tomcat启动初始化的线程数默认值25
min-spare-threads: 30
# 日志配置
logging:
level:
com.ruoyi: debug
org.springframework: warn
# Spring配置
spring:
# 资源信息
messages:
# 国际化资源文件路径
basename: i18n/messages
profiles:
active: druid
# 文件上传
servlet:
multipart:
# 单个文件大小
max-file-size: 10MB
# 设置总上传的文件大小
max-request-size: 20MB
# 服务模块
devtools:
restart:
# 热部署开关
enabled: true
# redis 配置
redis:
# 地址
host: localhost
# 端口默认为6379
port: 6379
# 数据库索引
database: 0
# 密码
password:
# 连接超时时间
timeout: 10s
lettuce:
pool:
# 连接池中的最小空闲连接
min-idle: 0
# 连接池中的最大空闲连接
max-idle: 8
# 连接池的最大数据库连接数
max-active: 8
# #连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
# token配置
token:
# 令牌自定义标识
header: Authorization
# 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz
# 令牌有效期默认30分钟
expireTime: 30
# MyBatis配置
mybatis:
# 搜索指定包别名
typeAliasesPackage: com.ruoyi.**.domain
# 配置mapper的扫描找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml
# 加载全局的配置文件
configLocation: classpath:mybatis/mybatis-config.xml
# PageHelper分页插件
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
# Swagger配置
swagger:
# 是否开启swagger
enabled: true
# 请求前缀
pathMapping: /dev-api
# 防止XSS攻击
xss:
# 过滤开关
enabled: true
# 排除链接(多个用逗号分隔)
excludes: /system/notice/*
# 匹配链接
urlPatterns: /system/*,/monitor/*,/tool/*
# 项目相关配置
ruoyi:
# 名称
name: RuoYi-Vue-Plus
# 版本
version: ${ruoyi-vue-plus.version}
# 版权年份
copyrightYear: 2023
# 缓存懒加载
cacheLazy: false
captcha:
# 页面 <参数设置> 可开启关闭 验证码校验
# 验证码类型 math 数组计算 char 字符验证
type: MATH
# line 线段干扰 circle 圆圈干扰 shear 扭曲干扰
category: CIRCLE
# 数字验证码位数
numberLength: 1
# 字符验证码长度
charLength: 4
# 开发环境配置
server:
# 服务器的HTTP端口默认为8080
port: 8080
servlet:
# 应用的访问路径
context-path: /
# undertow 配置
undertow:
# HTTP post内容的最大大小。当值为-1时默认值为大小是无限的
max-http-post-size: -1
# 以下的配置会影响buffer,这些buffer会用于服务器连接的IO操作,有点类似netty的池化内存管理
# 每块buffer的空间大小,越小的空间被利用越充分
buffer-size: 512
# 是否分配的直接内存
direct-buffers: true
threads:
# 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程
io: 8
# 阻塞任务线程池, 当执行类似servlet请求阻塞操作, undertow会从这个线程池中取得线程,它的值设置取决于系统的负载
worker: 256
# 日志配置
logging:
level:
com.ruoyi: @logging.level@
org.springframework: warn
config: classpath:logback-plus.xml
# 用户配置
user:
password:
# 密码最大错误次数
maxRetryCount: 5
# 密码锁定时间默认10分钟
lockTime: 10
# Spring配置
spring:
application:
name: ${ruoyi.name}
# 资源信息
messages:
# 国际化资源文件路径
basename: i18n/messages
profiles:
active: @profiles.active@
# 文件上传
servlet:
multipart:
# 单个文件大小
max-file-size: 10MB
# 设置总上传的文件大小
max-request-size: 20MB
# 服务模块
devtools:
restart:
# 热部署开关
enabled: true
mvc:
format:
date-time: yyyy-MM-dd HH:mm:ss
jackson:
# 日期格式化
date-format: yyyy-MM-dd HH:mm:ss
serialization:
# 格式化输出
indent_output: false
# 忽略无法转换的对象
fail_on_empty_beans: false
deserialization:
# 允许对象忽略json中不存在的属性
fail_on_unknown_properties: false
# Sa-Token配置
sa-token:
# token名称 (同时也是cookie名称)
token-name: Authorization
# token有效期 设为一天 (必定过期) 单位: 秒
timeout: 86400
# 多端不同 token 有效期 可查看 LoginHelper.loginByDevice 方法自定义
# token最低活跃时间 (指定时间无操作就过期) 单位: 秒
active-timeout: 1800
# 允许动态设置 token 有效期
dynamic-active-timeout: true
# 是否允许同一账号并发登录 (为true时允许一起登录, 为false时新登录挤掉旧登录)
is-concurrent: true
# 在多人登录同一账号时是否共用一个token (为true时所有登录共用一个token, 为false时每次登录新建一个token)
is-share: false
# 是否尝试从header里读取token
is-read-header: true
# 是否尝试从cookie里读取token
is-read-cookie: false
# token前缀
token-prefix: "Bearer"
# jwt秘钥
jwt-secret-key: abcdefghijklmnopqrstuvwxyz
# security配置
security:
# 排除路径
excludes:
# 静态资源
- /*.html
- /**/*.html
- /**/*.css
- /**/*.js
# 公共路径
- /favicon.ico
- /error
# swagger 文档配置
- /*/api-docs
- /*/api-docs/**
# actuator 监控配置
- /actuator
- /actuator/**
# MyBatisPlus配置
# https://baomidou.com/config/
mybatis-plus:
# 不支持多包, 如有需要可在注解配置 或 提升扫包等级
# 例如 com.**.**.mapper
mapperPackage: com.ruoyi.**.mapper
# 对应的 XML 文件位置
mapperLocations: classpath*:mapper/**/*Mapper.xml
# 实体扫描多个package用逗号或者分号分隔
typeAliasesPackage: com.ruoyi.**.domain
# 启动时是否检查 MyBatis XML 文件的存在,默认不检查
checkConfigLocation: false
configuration:
# 自动驼峰命名规则camel case映射
mapUnderscoreToCamelCase: true
# MyBatis 自动映射策略
# NONE不启用 PARTIAL只对非嵌套 resultMap 自动映射 FULL对所有 resultMap 自动映射
autoMappingBehavior: PARTIAL
# MyBatis 自动映射时未知列或未知属性处理策
# NONE不做处理 WARNING打印相关警告 FAILING抛出异常和详细信息
autoMappingUnknownColumnBehavior: NONE
# 更详细的日志输出 会有性能损耗 org.apache.ibatis.logging.stdout.StdOutImpl
# 关闭日志记录 (可单纯使用 p6spy 分析) org.apache.ibatis.logging.nologging.NoLoggingImpl
# 默认日志输出 org.apache.ibatis.logging.slf4j.Slf4jImpl
logImpl: org.apache.ibatis.logging.nologging.NoLoggingImpl
global-config:
# 是否打印 Logo banner
banner: true
dbConfig:
# 主键类型
# AUTO 自增 NONE 空 INPUT 用户输入 ASSIGN_ID 雪花 ASSIGN_UUID 唯一 UUID
idType: ASSIGN_ID
# 逻辑已删除值
logicDeleteValue: 2
# 逻辑未删除值
logicNotDeleteValue: 0
# 字段验证策略之 insert,在 insert 的时候的字段验证策略
# IGNORED 忽略 NOT_NULL 非NULL NOT_EMPTY 非空 DEFAULT 默认 NEVER 不加入 SQL
insertStrategy: NOT_NULL
# 字段验证策略之 update,在 update 的时候的字段验证策略
updateStrategy: NOT_NULL
# 字段验证策略之 select,在 select 的时候的字段验证策略既 wrapper 根据内部 entity 生成的 where 条件
where-strategy: NOT_NULL
# 数据加密
mybatis-encryptor:
# 是否开启加密
enable: false
# 默认加密算法
algorithm: BASE64
# 编码方式 BASE64/HEX。默认BASE64
encode: BASE64
# 安全秘钥 对称算法的秘钥 如AESSM4
password:
# 公私钥 非对称算法的公私钥 如SM2RSA
publicKey:
privateKey:
springdoc:
api-docs:
# 是否开启接口文档
enabled: true
# swagger-ui:
# # 持久化认证数据
# persistAuthorization: true
info:
# 标题
title: '标题:${ruoyi.name}后台管理系统_接口文档'
# 描述
description: '描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...'
# 版本
version: '版本号: ${ruoyi-vue-plus.version}'
# 作者信息
contact:
name: Lion Li
email: crazylionli@163.com
url: https://gitee.com/dromara/RuoYi-Vue-Plus
components:
# 鉴权方式配置
security-schemes:
apiKey:
type: APIKEY
in: HEADER
name: ${sa-token.token-name}
#这里定义了两个分组,可定义多个,也可以不定义
group-configs:
- group: 1.演示模块
packages-to-scan: com.ruoyi.demo
- group: 2.系统模块
packages-to-scan: com.ruoyi.web
- group: 3.代码生成模块
packages-to-scan: com.ruoyi.generator
# 防止XSS攻击
xss:
# 过滤开关
enabled: true
# 排除链接(多个用逗号分隔)
excludes: /system/notice
# 匹配链接
urlPatterns: /system/*,/monitor/*,/tool/*
# 全局线程池相关配置
thread-pool:
# 是否开启线程池
enabled: false
# 队列最大长度
queueCapacity: 128
# 线程池维护线程所允许的空闲时间
keepAliveSeconds: 300
--- # 分布式锁 lock4j 全局配置
lock4j:
# 获取分布式锁超时时间,默认为 3000 毫秒
acquire-timeout: 3000
# 分布式锁的超时时间,默认为 30 秒
expire: 30000
--- # Actuator 监控端点的配置项
management:
endpoints:
web:
exposure:
include: '*'
endpoint:
health:
show-details: ALWAYS
logfile:
external-file: ./logs/sys-console.log

View File

@@ -1,24 +1,8 @@
Application Version: ${ruoyi.version}
Spring Boot Version: ${spring-boot.version}
////////////////////////////////////////////////////////////////////
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
////////////////////////////////////////////////////////////////////
Application Version: ${ruoyi-vue-plus.version}
Spring Boot Version: ${spring-boot.version}
__________ _____.___.__ ____ ____ __________.__
\______ \__ __ ____\__ | |__| \ \ / /_ __ ____ \______ \ | __ __ ______
| _/ | \/ _ \/ | | | ______ \ Y / | \_/ __ \ ______ | ___/ | | | \/ ___/
| | \ | ( <_> )____ | | /_____/ \ /| | /\ ___/ /_____/ | | | |_| | /\___ \
|____|_ /____/ \____// ______|__| \___/ |____/ \___ > |____| |____/____//____ >
\/ \/ \/ \/

View File

@@ -1,36 +1,49 @@
#错误消息
not.null=* 必须填写
user.jcaptcha.error=验证码错误
user.jcaptcha.expire=验证码已失效
user.not.exists=用户不存在/密码错误
user.password.not.match=用户不存在/密码错误
user.password.retry.limit.count=密码输入错误{0}次
user.password.retry.limit.exceed=密码输入错误{0}次,帐户锁定10分钟
user.password.delete=对不起,您的账号已被删除
user.blocked=户已封禁,请联系管理员
role.blocked=角色已封禁,请联系管理员
user.logout.success=退出成功
length.not.valid=长度必须在{min}到{max}个字符之间
user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成且必须以非数字开头
user.password.not.valid=* 5-50个字符
user.email.not.valid=邮箱格式错误
user.mobile.phone.number.not.valid=手机号格式错误
user.login.success=登录成功
user.notfound=请重新登录
user.forcelogout=管理员强制退出,请重新登录
user.unknown.error=未知错误,请重新登录
##文件上传消息
upload.exceed.maxSize=上传的文件大小超出限制的文件大小!<br/>允许的文件最大大小是:{0}MB
upload.filename.exceed.length=上传的文件名最长{0}个字符
##权限
no.permission=您没有数据的权限,请联系管理员添加权限 [{0}]
no.create.permission=您没有创建数据的权限,请联系管理员添加权限 [{0}]
no.update.permission=您没有修改数据的权限,请联系管理员添加权限 [{0}]
no.delete.permission=您没有删除数据的权限,请联系管理员添加权限 [{0}]
no.export.permission=您没有导出数据的权限,请联系管理员添加权限 [{0}]
no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}]
#错误消息
not.null=* 必须填写
user.jcaptcha.error=验证码错误
user.jcaptcha.expire=验证码已失效
user.not.exists=对不起, 您的账号:{0} 不存在.
user.password.not.match=用户不存在/密码错误
user.password.retry.limit.count=密码输入错误{0}次
user.password.retry.limit.exceed=密码输入错误{0}次,帐户锁定{1}分钟
user.password.delete=对不起,您的账号{0} 已被删除
user.blocked=对不起,您的账号:{0} 已禁用,请联系管理员
role.blocked=角色已封禁,请联系管理员
user.logout.success=退出成功
length.not.valid=长度必须在{min}到{max}个字符之间
user.username.not.blank=用户名不能为空
user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成且必须以非数字开头
user.username.length.valid=账户长度必须在{min}到{max}个字符之间
user.password.not.blank=用户密码不能为空
user.password.length.valid=用户密码长度必须在{min}到{max}个字符之间
user.password.not.valid=* 5-50个字符
user.email.not.valid=邮箱格式错误
user.email.not.blank=邮箱不能为空
user.phonenumber.not.blank=用户手机号不能为空
user.mobile.phone.number.not.valid=手机号格式错误
user.login.success=登录成功
user.register.success=注册成功
user.register.save.error=保存用户 {0} 失败,注册账号已存在
user.register.error=注册失败,请联系系统管理人员
user.notfound=请重新登录
user.forcelogout=管理员强制退出,请重新登录
user.unknown.error=未知错误,请重新登录
##文件上传消息
upload.exceed.maxSize=上传的文件大小超出限制的文件大小!<br/>允许的文件最大大小是:{0}MB
upload.filename.exceed.length=上传的文件名最长{0}个字符
##权限
no.permission=您没有数据的权限,请联系管理员添加权限 [{0}]
no.create.permission=您没有创建数据的权限,请联系管理员添加权限 [{0}]
no.update.permission=您没有修改数据的权限,请联系管理员添加权限 [{0}]
no.delete.permission=您没有删除数据的权限,请联系管理员添加权限 [{0}]
no.export.permission=您没有导出数据的权限,请联系管理员添加权限 [{0}]
no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}]
repeat.submit.message=不允许重复提交,请稍候再试
rate.limiter.message=访问过于频繁,请稍候再试
sms.code.not.blank=短信验证码不能为空
sms.code.retry.limit.count=短信验证码输入错误{0}次
sms.code.retry.limit.exceed=短信验证码输入错误{0}次,帐户锁定{1}分钟
email.code.not.blank=邮箱验证码不能为空
email.code.retry.limit.count=邮箱验证码输入错误{0}次
email.code.retry.limit.exceed=邮箱验证码输入错误{0}次,帐户锁定{1}分钟
xcx.code.not.blank=小程序code不能为空

View File

@@ -0,0 +1,49 @@
#错误消息
not.null=* Required fill in
user.jcaptcha.error=Captcha error
user.jcaptcha.expire=Captcha invalid
user.not.exists=Sorry, your account: {0} does not exist
user.password.not.match=User does not exist/Password error
user.password.retry.limit.count=Password input error {0} times
user.password.retry.limit.exceed=Password input error {0} times, account locked for {1} minutes
user.password.delete=Sorry, your account{0} has been deleted
user.blocked=Sorry, your account: {0} has been disabled. Please contact the administrator
role.blocked=Role disabledplease contact administrators
user.logout.success=Exit successful
length.not.valid=The length must be between {min} and {max} characters
user.username.not.blank=Username cannot be blank
user.username.not.valid=* 2 to 20 chinese characters, letters, numbers or underscores, and must start with a non number
user.username.length.valid=Account length must be between {min} and {max} characters
user.password.not.blank=Password cannot be empty
user.password.length.valid=Password length must be between {min} and {max} characters
user.password.not.valid=* 5-50 characters
user.email.not.valid=Mailbox format error
user.email.not.blank=Mailbox cannot be blank
user.phonenumber.not.blank=Phone number cannot be blank
user.mobile.phone.number.not.valid=Phone number format error
user.login.success=Login successful
user.register.success=Register successful
user.register.save.error=Failed to save user {0}, The registered account already exists
user.register.error=Register failed, please contact system administrator
user.notfound=Please login again
user.forcelogout=The administrator is forced to exitplease login again
user.unknown.error=Unknown error, please login again
##文件上传消息
upload.exceed.maxSize=The uploaded file size exceeds the limit file size<br/>the maximum allowed file size is{0}MB
upload.filename.exceed.length=The maximum length of uploaded file name is {0} characters
##权限
no.permission=You do not have permission to the dataplease contact your administrator to add permissions [{0}]
no.create.permission=You do not have permission to create dataplease contact your administrator to add permissions [{0}]
no.update.permission=You do not have permission to modify dataplease contact your administrator to add permissions [{0}]
no.delete.permission=You do not have permission to delete dataplease contact your administrator to add permissions [{0}]
no.export.permission=You do not have permission to export dataplease contact your administrator to add permissions [{0}]
no.view.permission=You do not have permission to view dataplease contact your administrator to add permissions [{0}]
repeat.submit.message=Repeat submit is not allowed, please try again later
rate.limiter.message=Visit too frequently, please try again later
sms.code.not.blank=Sms code cannot be blank
sms.code.retry.limit.count=Sms code input error {0} times
sms.code.retry.limit.exceed=Sms code input error {0} times, account locked for {1} minutes
email.code.not.blank=Email code cannot be blank
email.code.retry.limit.count=Email code input error {0} times
email.code.retry.limit.exceed=Email code input error {0} times, account locked for {1} minutes
xcx.code.not.blank=Mini program code cannot be blank

View File

@@ -0,0 +1,49 @@
#错误消息
not.null=* 必须填写
user.jcaptcha.error=验证码错误
user.jcaptcha.expire=验证码已失效
user.not.exists=对不起, 您的账号:{0} 不存在.
user.password.not.match=用户不存在/密码错误
user.password.retry.limit.count=密码输入错误{0}次
user.password.retry.limit.exceed=密码输入错误{0}次,帐户锁定{1}分钟
user.password.delete=对不起,您的账号:{0} 已被删除
user.blocked=对不起,您的账号:{0} 已禁用,请联系管理员
role.blocked=角色已封禁,请联系管理员
user.logout.success=退出成功
length.not.valid=长度必须在{min}到{max}个字符之间
user.username.not.blank=用户名不能为空
user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成且必须以非数字开头
user.username.length.valid=账户长度必须在{min}到{max}个字符之间
user.password.not.blank=用户密码不能为空
user.password.length.valid=用户密码长度必须在{min}到{max}个字符之间
user.password.not.valid=* 5-50个字符
user.email.not.valid=邮箱格式错误
user.email.not.blank=邮箱不能为空
user.phonenumber.not.blank=用户手机号不能为空
user.mobile.phone.number.not.valid=手机号格式错误
user.login.success=登录成功
user.register.success=注册成功
user.register.save.error=保存用户 {0} 失败,注册账号已存在
user.register.error=注册失败,请联系系统管理人员
user.notfound=请重新登录
user.forcelogout=管理员强制退出,请重新登录
user.unknown.error=未知错误,请重新登录
##文件上传消息
upload.exceed.maxSize=上传的文件大小超出限制的文件大小!<br/>允许的文件最大大小是:{0}MB
upload.filename.exceed.length=上传的文件名最长{0}个字符
##权限
no.permission=您没有数据的权限,请联系管理员添加权限 [{0}]
no.create.permission=您没有创建数据的权限,请联系管理员添加权限 [{0}]
no.update.permission=您没有修改数据的权限,请联系管理员添加权限 [{0}]
no.delete.permission=您没有删除数据的权限,请联系管理员添加权限 [{0}]
no.export.permission=您没有导出数据的权限,请联系管理员添加权限 [{0}]
no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}]
repeat.submit.message=不允许重复提交,请稍候再试
rate.limiter.message=访问过于频繁,请稍候再试
sms.code.not.blank=短信验证码不能为空
sms.code.retry.limit.count=短信验证码输入错误{0}次
sms.code.retry.limit.exceed=短信验证码输入错误{0}次,帐户锁定{1}分钟
email.code.not.blank=邮箱验证码不能为空
email.code.retry.limit.count=邮箱验证码输入错误{0}次
email.code.retry.limit.exceed=邮箱验证码输入错误{0}次,帐户锁定{1}分钟
xcx.code.not.blank=小程序code不能为空

Binary file not shown.

View File

@@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property name="log.path" value="./logs"/>
<property name="console.log.pattern"
value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}%n) - %msg%n"/>
<property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"/>
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${console.log.pattern}</pattern>
<charset>utf-8</charset>
</encoder>
</appender>
<!-- 控制台输出 -->
<appender name="file_console" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-console.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-console.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大 1天 -->
<maxHistory>1</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
<charset>utf-8</charset>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
</filter>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- info异步输出 -->
<appender name="async_info" class="ch.qos.logback.classic.AsyncAppender">
<!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
<discardingThreshold>0</discardingThreshold>
<!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
<queueSize>512</queueSize>
<!-- 添加附加的appender,最多只能添加一个 -->
<appender-ref ref="file_info"/>
</appender>
<!-- error异步输出 -->
<appender name="async_error" class="ch.qos.logback.classic.AsyncAppender">
<!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
<discardingThreshold>0</discardingThreshold>
<!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
<queueSize>512</queueSize>
<!-- 添加附加的appender,最多只能添加一个 -->
<appender-ref ref="file_error"/>
</appender>
<!-- 整合 skywalking 控制台输出 tid -->
<!-- <appender name="console" class="ch.qos.logback.core.ConsoleAppender">-->
<!-- <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">-->
<!-- <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">-->
<!-- <pattern>[%tid] ${console.log.pattern}</pattern>-->
<!-- </layout>-->
<!-- <charset>utf-8</charset>-->
<!-- </encoder>-->
<!-- </appender>-->
<!-- 整合 skywalking 推送采集日志 -->
<!-- <appender name="sky_log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">-->
<!-- <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">-->
<!-- <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">-->
<!-- <pattern>[%tid] ${console.log.pattern}</pattern>-->
<!-- </layout>-->
<!-- <charset>utf-8</charset>-->
<!-- </encoder>-->
<!-- </appender>-->
<!--系统操作日志-->
<root level="info">
<appender-ref ref="console" />
<appender-ref ref="async_info" />
<appender-ref ref="async_error" />
<appender-ref ref="file_console" />
<!-- <appender-ref ref="sky_log"/>-->
</root>
</configuration>

View File

@@ -1,93 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路径 -->
<property name="log.path" value="/home/ruoyi/logs" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 用户访问日志输出 -->
<appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-user.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滚 daily -->
<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.ruoyi" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />
<root level="info">
<appender-ref ref="console" />
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
</root>
<!--系统用户操作日志-->
<logger name="sys-user" level="info">
<appender-ref ref="sys-user"/>
</logger>
</configuration>

View File

@@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="cacheEnabled" value="true" /> <!-- 全局映射器启用缓存 -->
<setting name="useGeneratedKeys" value="true" /> <!-- 允许 JDBC 支持自动生成主键 -->
<setting name="defaultExecutorType" value="REUSE" /> <!-- 配置默认的执行器 -->
<setting name="logImpl" value="SLF4J" /> <!-- 指定 MyBatis 所用日志的具体实现 -->
<!-- <setting name="mapUnderscoreToCamelCase" value="true"/> 驼峰式命名 -->
</settings>
</configuration>

View File

@@ -0,0 +1,28 @@
# p6spy 性能分析插件配置文件
modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定义日志打印
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
#日志输出到控制台
appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
# 使用日志系统记录 sql
#appender=com.p6spy.engine.spy.appender.Slf4JLogger
# 设置 p6spy driver 代理
#deregisterdrivers=true
# 取消JDBC URL前缀
useprefix=true
# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
excludecategories=info,debug,result,commit,resultset
# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss
# SQL语句打印时间格式
databaseDialectTimestampFormat=yyyy-MM-dd HH:mm:ss
# 实际驱动可多个
#driverlist=org.h2.Driver
# 是否开启慢SQL记录
outagedetection=true
# 慢SQL记录标准 2 秒
outagedetectioninterval=2
# 是否过滤 Log
filter=true
# 过滤 Log 时所排除的 sql 关键字,以逗号分隔
exclude=SELECT 1

View File

@@ -0,0 +1,45 @@
package com.ruoyi.test;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
/**
* 断言单元测试案例
*
* @author Lion Li
*/
@DisplayName("断言单元测试案例")
public class AssertUnitTest {
@DisplayName("测试 assertEquals 方法")
@Test
public void testAssertEquals() {
Assertions.assertEquals("666", new String("666"));
Assertions.assertNotEquals("666", new String("666"));
}
@DisplayName("测试 assertSame 方法")
@Test
public void testAssertSame() {
Object obj = new Object();
Object obj1 = obj;
Assertions.assertSame(obj, obj1);
Assertions.assertNotSame(obj, obj1);
}
@DisplayName("测试 assertTrue 方法")
@Test
public void testAssertTrue() {
Assertions.assertTrue(true);
Assertions.assertFalse(true);
}
@DisplayName("测试 assertNull 方法")
@Test
public void testAssertNull() {
Assertions.assertNull(null);
Assertions.assertNotNull(null);
}
}

View File

@@ -0,0 +1,70 @@
package com.ruoyi.test;
import com.ruoyi.common.config.RuoYiConfig;
import org.junit.jupiter.api.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.concurrent.TimeUnit;
/**
* 单元测试案例
*
* @author Lion Li
*/
@SpringBootTest // 此注解只能在 springboot 主包下使用 需包含 main 方法与 yml 配置文件
@DisplayName("单元测试案例")
public class DemoUnitTest {
@Autowired
private RuoYiConfig ruoYiConfig;
@DisplayName("测试 @SpringBootTest @Test @DisplayName 注解")
@Test
public void testTest() {
System.out.println(ruoYiConfig);
}
@Disabled
@DisplayName("测试 @Disabled 注解")
@Test
public void testDisabled() {
System.out.println(ruoYiConfig);
}
@Timeout(value = 2L, unit = TimeUnit.SECONDS)
@DisplayName("测试 @Timeout 注解")
@Test
public void testTimeout() throws InterruptedException {
Thread.sleep(3000);
System.out.println(ruoYiConfig);
}
@DisplayName("测试 @RepeatedTest 注解")
@RepeatedTest(3)
public void testRepeatedTest() {
System.out.println(666);
}
@BeforeAll
public static void testBeforeAll() {
System.out.println("@BeforeAll ==================");
}
@BeforeEach
public void testBeforeEach() {
System.out.println("@BeforeEach ==================");
}
@AfterEach
public void testAfterEach() {
System.out.println("@AfterEach ==================");
}
@AfterAll
public static void testAfterAll() {
System.out.println("@AfterAll ==================");
}
}

View File

@@ -0,0 +1,72 @@
package com.ruoyi.test;
import com.ruoyi.common.enums.UserType;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
import org.junit.jupiter.params.provider.MethodSource;
import org.junit.jupiter.params.provider.NullSource;
import org.junit.jupiter.params.provider.ValueSource;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
/**
* 带参数单元测试案例
*
* @author Lion Li
*/
@DisplayName("带参数单元测试案例")
public class ParamUnitTest {
@DisplayName("测试 @ValueSource 注解")
@ParameterizedTest
@ValueSource(strings = {"t1", "t2", "t3"})
public void testValueSource(String str) {
System.out.println(str);
}
@DisplayName("测试 @NullSource 注解")
@ParameterizedTest
@NullSource
public void testNullSource(String str) {
System.out.println(str);
}
@DisplayName("测试 @EnumSource 注解")
@ParameterizedTest
@EnumSource(UserType.class)
public void testEnumSource(UserType type) {
System.out.println(type.getUserType());
}
@DisplayName("测试 @MethodSource 注解")
@ParameterizedTest
@MethodSource("getParam")
public void testMethodSource(String str) {
System.out.println(str);
}
public static Stream<String> getParam() {
List<String> list = new ArrayList<>();
list.add("t1");
list.add("t2");
list.add("t3");
return list.stream();
}
@BeforeEach
public void testBeforeEach() {
System.out.println("@BeforeEach ==================");
}
@AfterEach
public void testAfterEach() {
System.out.println("@AfterEach ==================");
}
}

View File

@@ -0,0 +1,54 @@
package com.ruoyi.test;
import org.junit.jupiter.api.*;
import org.springframework.boot.test.context.SpringBootTest;
/**
* 标签单元测试案例
*
* @author Lion Li
*/
@SpringBootTest
@DisplayName("标签单元测试案例")
public class TagUnitTest {
@Tag("dev")
@DisplayName("测试 @Tag dev")
@Test
public void testTagDev() {
System.out.println("dev");
}
@Tag("prod")
@DisplayName("测试 @Tag prod")
@Test
public void testTagProd() {
System.out.println("prod");
}
@Tag("local")
@DisplayName("测试 @Tag local")
@Test
public void testTagLocal() {
System.out.println("local");
}
@Tag("exclude")
@DisplayName("测试 @Tag exclude")
@Test
public void testTagExclude() {
System.out.println("exclude");
}
@BeforeEach
public void testBeforeEach() {
System.out.println("@BeforeEach ==================");
}
@AfterEach
public void testAfterEach() {
System.out.println("@AfterEach ==================");
}
}

View File

@@ -1,124 +1,170 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ruoyi</artifactId>
<groupId>com.ruoyi</groupId>
<version>3.4.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-common</artifactId>
<description>
common通用工具
</description>
<dependencies>
<!-- Spring框架基本的核心工具 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<!-- SpringWeb模块 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<!-- spring security 安全认证 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!-- pagehelper 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
<!-- 自定义验证注解 -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<!--常用工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<!-- JSON工具类 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- 阿里JSON解析器 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<!-- io常用工具类 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<!-- 文件上传工具类 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
<!-- excel工具 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</dependency>
<!-- yml解析器 -->
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</dependency>
<!--Token生成与解析-->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
</dependency>
<!-- redis 缓存操作 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- pool 对象池 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<!-- 解析客户端操作系统、浏览器等 -->
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
</dependency>
<!-- servlet包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
</dependencies>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>ruoyi-vue-plus</artifactId>
<groupId>com.ruoyi</groupId>
<version>4.8.2</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ruoyi-common</artifactId>
<description>
common通用工具
</description>
<dependencies>
<!-- Spring框架基本的核心工具 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<!-- SpringWeb模块 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<!-- Sa-Token 权限认证, 在线文档http://sa-token.dev33.cn/ -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-spring-boot-starter</artifactId>
</dependency>
<!-- Sa-Token 整合 jwt -->
<dependency>
<groupId>cn.dev33</groupId>
<artifactId>sa-token-jwt</artifactId>
</dependency>
<!-- 自定义验证注解 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!--常用工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<!-- JSON工具类 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
</dependency>
<!-- yml解析器 -->
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
</dependency>
<!-- servlet包 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!-- dynamic-datasource 多数据源-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-core</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-http</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-captcha</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-jwt</artifactId>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-extra</artifactId>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>jakarta.mail</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-webmvc-core</artifactId>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-javadoc</artifactId>
</dependency>
<!-- 自动生成YML配置关联JSON文件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
<!--redisson-->
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-data-27</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>lock4j-redisson-spring-boot-starter</artifactId>
</dependency>
<!-- 加密包引入 -->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15to18</artifactId>
</dependency>
<!-- 离线IP地址定位库 -->
<dependency>
<groupId>org.lionsoul</groupId>
<artifactId>ip2region</artifactId>
</dependency>
</dependencies>
</project>

View File

@@ -0,0 +1,24 @@
package com.ruoyi.common.annotation;
import com.ruoyi.common.excel.CellMergeStrategy;
import java.lang.annotation.*;
/**
* excel 列单元格合并(合并列相同项)
*
* 需搭配 {@link CellMergeStrategy} 策略使用
*
* @author Lion Li
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface CellMerge {
/**
* col index
*/
int index() default -1;
}

View File

@@ -0,0 +1,28 @@
package com.ruoyi.common.annotation;
import java.lang.annotation.*;
/**
* 数据权限
*
* 一个注解只能对应一个模板
*
* @author Lion Li
* @version 3.5.0
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataColumn {
/**
* 占位符关键字
*/
String[] key() default "deptName";
/**
* 占位符替换值
*/
String[] value() default "dept_id";
}

View File

@@ -0,0 +1,18 @@
package com.ruoyi.common.annotation;
import java.lang.annotation.*;
/**
* 数据权限组
*
* @author Lion Li
* @version 3.5.0
*/
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataPermission {
DataColumn[] value();
}

View File

@@ -1,28 +0,0 @@
package com.ruoyi.common.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 数据权限过滤注解
*
* @author ruoyi
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataScope
{
/**
* 部门表的别名
*/
public String deptAlias() default "";
/**
* 用户表的别名
*/
public String userAlias() default "";
}

View File

@@ -1,28 +0,0 @@
package com.ruoyi.common.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.ruoyi.common.enums.DataSourceType;
/**
* 自定义多数据源切换注解
*
* 优先级:先方法,后类,如果方法覆盖了类上的数据源类型,以方法的为准,否则以类上的为准
*
* @author ruoyi
*/
@Target({ ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface DataSource
{
/**
* 切换数据源名称
*/
public DataSourceType value() default DataSourceType.MASTER;
}

View File

@@ -0,0 +1,29 @@
package com.ruoyi.common.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruoyi.common.jackson.DictDataJsonSerializer;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 字典数据映射注解
*
* @author itino
* @deprecated 建议使用通用翻译注解
*/
@Deprecated
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
@JacksonAnnotationsInside
@JsonSerialize(using = DictDataJsonSerializer.class)
public @interface DictDataMapper {
/**
* 设置字典的type值 (如: sys_user_sex)
*/
String dictType() default "";
}

View File

@@ -0,0 +1,44 @@
package com.ruoyi.common.annotation;
import com.ruoyi.common.enums.AlgorithmType;
import com.ruoyi.common.enums.EncodeType;
import java.lang.annotation.*;
/**
* 字段加密注解
*
* @author 老马
*/
@Documented
@Inherited
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface EncryptField {
/**
* 加密算法
*/
AlgorithmType algorithm() default AlgorithmType.DEFAULT;
/**
* 秘钥。AES、SM4需要
*/
String password() default "";
/**
* 公钥。RSA、SM2需要
*/
String publicKey() default "";
/**
* 私钥。RSA、SM2需要
*/
String privateKey() default "";
/**
* 编码方式。对加密算法为BASE64的不起作用
*/
EncodeType encode() default EncodeType.DEFAULT;
}

View File

@@ -1,165 +0,0 @@
package com.ruoyi.common.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.math.BigDecimal;
/**
* 自定义导出Excel数据注解
*
* @author ruoyi
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Excel
{
/**
* 导出时在excel中排序
*/
public int sort() default Integer.MAX_VALUE;
/**
* 导出到Excel中的名字.
*/
public String name() default "";
/**
* 日期格式, 如: yyyy-MM-dd
*/
public String dateFormat() default "";
/**
* 如果是字典类型请设置字典的type值 (如: sys_user_sex)
*/
public String dictType() default "";
/**
* 读取内容转表达式 (如: 0=男,1=女,2=未知)
*/
public String readConverterExp() default "";
/**
* 分隔符,读取字符串组内容
*/
public String separator() default ",";
/**
* BigDecimal 精度 默认:-1(默认不开启BigDecimal格式化)
*/
public int scale() default -1;
/**
* BigDecimal 舍入规则 默认:BigDecimal.ROUND_HALF_EVEN
*/
public int roundingMode() default BigDecimal.ROUND_HALF_EVEN;
/**
* 导出类型0数字 1字符串
*/
public ColumnType cellType() default ColumnType.STRING;
/**
* 导出时在excel中每个列的高度 单位为字符
*/
public double height() default 14;
/**
* 导出时在excel中每个列的宽 单位为字符
*/
public double width() default 16;
/**
* 文字后缀,如% 90 变成90%
*/
public String suffix() default "";
/**
* 当值为空时,字段的默认值
*/
public String defaultValue() default "";
/**
* 提示信息
*/
public String prompt() default "";
/**
* 设置只能选择不能输入的列内容.
*/
public String[] combo() default {};
/**
* 是否导出数据,应对需求:有时我们需要导出一份模板,这是标题需要但内容需要用户手工填写.
*/
public boolean isExport() default true;
/**
* 另一个类中的属性名称,支持多级获取,以小数点隔开
*/
public String targetAttr() default "";
/**
* 是否自动统计数据,在最后追加一行统计数据总和
*/
public boolean isStatistics() default false;
/**
* 导出字段对齐方式0默认1靠左2居中3靠右
*/
Align align() default Align.AUTO;
public enum Align
{
AUTO(0), LEFT(1), CENTER(2), RIGHT(3);
private final int value;
Align(int value)
{
this.value = value;
}
public int value()
{
return this.value;
}
}
/**
* 字段类型0导出导入1仅导出2仅导入
*/
Type type() default Type.ALL;
public enum Type
{
ALL(0), EXPORT(1), IMPORT(2);
private final int value;
Type(int value)
{
this.value = value;
}
public int value()
{
return this.value;
}
}
public enum ColumnType
{
NUMERIC(0), STRING(1), IMAGE(2);
private final int value;
ColumnType(int value)
{
this.value = value;
}
public int value()
{
return this.value;
}
}
}

View File

@@ -0,0 +1,32 @@
package com.ruoyi.common.annotation;
import com.ruoyi.common.utils.StringUtils;
import java.lang.annotation.*;
/**
* 字典格式化
*
* @author Lion Li
*/
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface ExcelDictFormat {
/**
* 如果是字典类型请设置字典的type值 (如: sys_user_sex)
*/
String dictType() default "";
/**
* 读取内容转表达式 (如: 0=男,1=女,2=未知)
*/
String readConverterExp() default "";
/**
* 分隔符,读取字符串组内容
*/
String separator() default StringUtils.SEPARATOR;
}

View File

@@ -0,0 +1,30 @@
package com.ruoyi.common.annotation;
import java.lang.annotation.*;
/**
* 枚举格式化
*
* @author Liang
*/
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface ExcelEnumFormat {
/**
* 字典枚举类型
*/
Class<? extends Enum<?>> enumClass();
/**
* 字典枚举类中对应的code属性名称默认为code
*/
String codeField() default "code";
/**
* 字典枚举类中对应的text属性名称默认为text
*/
String textField() default "text";
}

View File

@@ -1,18 +0,0 @@
package com.ruoyi.common.annotation;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* Excel注解集
*
* @author ruoyi
*/
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Excels
{
Excel[] value();
}

View File

@@ -1,41 +1,47 @@
package com.ruoyi.common.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.OperatorType;
/**
* 自定义操作日志记录注解
*
* @author ruoyi
*
*/
@Target({ ElementType.PARAMETER, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Log
{
/**
* 模块
*/
public String title() default "";
/**
* 功能
*/
public BusinessType businessType() default BusinessType.OTHER;
/**
* 操作人类别
*/
public OperatorType operatorType() default OperatorType.MANAGE;
/**
* 是否保存请求的参数
*/
public boolean isSaveRequestData() default true;
}
package com.ruoyi.common.annotation;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.OperatorType;
import java.lang.annotation.*;
/**
* 自定义操作日志记录注解
*
* @author ruoyi
*/
@Target({ElementType.PARAMETER, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Log {
/**
* 模块
*/
String title() default "";
/**
* 功能
*/
BusinessType businessType() default BusinessType.OTHER;
/**
* 操作人类别
*/
OperatorType operatorType() default OperatorType.MANAGE;
/**
* 是否保存请求的参数
*/
boolean isSaveRequestData() default true;
/**
* 是否保存响应的参数
*/
boolean isSaveResponseData() default true;
/**
* 排除指定的请求参数
*/
String[] excludeParamNames() default {};
}

View File

@@ -0,0 +1,41 @@
package com.ruoyi.common.annotation;
import com.ruoyi.common.enums.LimitType;
import java.lang.annotation.*;
/**
* 限流注解
*
* @author Lion Li
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RateLimiter {
/**
* 限流key,支持使用Spring el表达式来动态获取方法上的参数值
* 格式类似于 #code.id #{#code}
*/
String key() default "";
/**
* 限流时间,单位秒
*/
int time() default 60;
/**
* 限流次数
*/
int count() default 100;
/**
* 限流类型
*/
LimitType limitType() default LimitType.DEFAULT;
/**
* 提示消息 支持国际化 格式为 {code}
*/
String message() default "{rate.limiter.message}";
}

View File

@@ -1,23 +1,29 @@
package com.ruoyi.common.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 自定义注解防止表单重复提交
*
* @author ruoyi
*
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RepeatSubmit
{
}
package com.ruoyi.common.annotation;
import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;
/**
* 自定义注解防止表单重复提交
*
* @author Lion Li
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RepeatSubmit {
/**
* 间隔时间(ms),小于此时间视为重复提交
*/
int interval() default 5000;
TimeUnit timeUnit() default TimeUnit.MILLISECONDS;
/**
* 提示消息 支持国际化 格式为 {code}
*/
String message() default "{repeat.submit.message}";
}

View File

@@ -0,0 +1,24 @@
package com.ruoyi.common.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruoyi.common.enums.SensitiveStrategy;
import com.ruoyi.common.jackson.SensitiveJsonSerializer;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* 数据脱敏注解
*
* @author zhujie
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@JacksonAnnotationsInside
@JsonSerialize(using = SensitiveJsonSerializer.class)
public @interface Sensitive {
SensitiveStrategy strategy();
}

View File

@@ -0,0 +1,39 @@
package com.ruoyi.common.annotation;
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruoyi.common.translation.handler.TranslationHandler;
import java.lang.annotation.*;
/**
* 通用翻译注解
*
* @author Lion Li
*/
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
@Documented
@JacksonAnnotationsInside
@JsonSerialize(using = TranslationHandler.class)
public @interface Translation {
/**
* 类型 (需与实现类上的 {@link com.ruoyi.common.annotation.TranslationType} 注解type对应)
* <p>
* 默认取当前字段的值 如果设置了 @{@link Translation#mapper()} 则取映射字段的值
*/
String type();
/**
* 映射字段 (如果不为空则取此字段的值)
*/
String mapper() default "";
/**
* 其他条件 例如: 字典type(sys_user_sex)
*/
String other() default "";
}

View File

@@ -0,0 +1,21 @@
package com.ruoyi.common.annotation;
import java.lang.annotation.*;
/**
* 翻译类型注解 (标注到{@link com.ruoyi.common.translation.TranslationInterface} 的实现类)
*
* @author Lion Li
*/
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@Documented
public @interface TranslationType {
/**
* 类型
*/
String type();
}

View File

@@ -0,0 +1,85 @@
package com.ruoyi.common.captcha;
import cn.hutool.captcha.generator.CodeGenerator;
import cn.hutool.core.math.Calculator;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.RandomUtil;
import com.ruoyi.common.utils.StringUtils;
/**
* 无符号计算生成器
*
* @author Lion Li
*/
public class UnsignedMathGenerator implements CodeGenerator {
private static final long serialVersionUID = -5514819971774091076L;
private static final String OPERATORS = "+-*";
/**
* 参与计算数字最大长度
*/
private final int numberLength;
/**
* 构造
*/
public UnsignedMathGenerator() {
this(2);
}
/**
* 构造
*
* @param numberLength 参与计算最大数字位数
*/
public UnsignedMathGenerator(int numberLength) {
this.numberLength = numberLength;
}
@Override
public String generate() {
final int limit = getLimit();
int a = RandomUtil.randomInt(limit);
int b = RandomUtil.randomInt(limit);
String max = Integer.toString(Math.max(a,b));
String min = Integer.toString(Math.min(a,b));
max = StringUtils.rightPad(max, this.numberLength, CharUtil.SPACE);
min = StringUtils.rightPad(min, this.numberLength, CharUtil.SPACE);
return max + RandomUtil.randomChar(OPERATORS) + min + '=';
}
@Override
public boolean verify(String code, String userInputCode) {
int result;
try {
result = Integer.parseInt(userInputCode);
} catch (NumberFormatException e) {
// 用户输入非数字
return false;
}
final int calculateResult = (int) Calculator.conversion(code);
return result == calculateResult;
}
/**
* 获取验证码长度
*
* @return 验证码长度
*/
public int getLength() {
return this.numberLength * 2 + 2;
}
/**
* 根据长度获取参与计算数字最大值
*
* @return 最大值
*/
private int getLimit() {
return Integer.parseInt("1" + StringUtils.repeat('0', this.numberLength));
}
}

View File

@@ -1,116 +1,38 @@
package com.ruoyi.common.config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* 读取项目相关配置
*
* @author ruoyi
*/
@Component
@ConfigurationProperties(prefix = "ruoyi")
public class RuoYiConfig
{
/** 项目名称 */
private String name;
/** 版本 */
private String version;
/** 版权年份 */
private String copyrightYear;
/** 实例演示开关 */
private boolean demoEnabled;
/** 上传路径 */
private static String profile;
/** 获取地址开关 */
private static boolean addressEnabled;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getVersion()
{
return version;
}
public void setVersion(String version)
{
this.version = version;
}
public String getCopyrightYear()
{
return copyrightYear;
}
public void setCopyrightYear(String copyrightYear)
{
this.copyrightYear = copyrightYear;
}
public boolean isDemoEnabled()
{
return demoEnabled;
}
public void setDemoEnabled(boolean demoEnabled)
{
this.demoEnabled = demoEnabled;
}
public static String getProfile()
{
return profile;
}
public void setProfile(String profile)
{
RuoYiConfig.profile = profile;
}
public static boolean isAddressEnabled()
{
return addressEnabled;
}
public void setAddressEnabled(boolean addressEnabled)
{
RuoYiConfig.addressEnabled = addressEnabled;
}
/**
* 获取头像上传路径
*/
public static String getAvatarPath()
{
return getProfile() + "/avatar";
}
/**
* 获取下载路径
*/
public static String getDownloadPath()
{
return getProfile() + "/download/";
}
/**
* 获取上传路径
*/
public static String getUploadPath()
{
return getProfile() + "/upload";
}
}
package com.ruoyi.common.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
/**
* 读取项目相关配置
*
* @author Lion Li
*/
@Data
@Component
@ConfigurationProperties(prefix = "ruoyi")
public class RuoYiConfig {
/**
* 项目名称
*/
private String name;
/**
* 版本
*/
private String version;
/**
* 版权年份
*/
private String copyrightYear;
/**
* 缓存懒加载
*/
private boolean cacheLazy;
}

View File

@@ -0,0 +1,44 @@
package com.ruoyi.common.constant;
/**
* 缓存的key 常量
*
* @author ruoyi
*/
public interface CacheConstants {
/**
* 在线用户 redis key
*/
String ONLINE_TOKEN_KEY = "online_tokens:";
/**
* 验证码 redis key
*/
String CAPTCHA_CODE_KEY = "captcha_codes:";
/**
* 参数管理 cache key
*/
String SYS_CONFIG_KEY = "sys_config:";
/**
* 字典管理 cache key
*/
String SYS_DICT_KEY = "sys_dict:";
/**
* 防重提交 redis key
*/
String REPEAT_SUBMIT_KEY = "repeat_submit:";
/**
* 限流 redis key
*/
String RATE_LIMIT_KEY = "rate_limit:";
/**
* 登录账户密码错误次数 redis key
*/
String PWD_ERR_CNT_KEY = "pwd_err_cnt:";
}

View File

@@ -0,0 +1,58 @@
package com.ruoyi.common.constant;
/**
* 缓存组名称常量
* <p>
* key 格式为 cacheNames#ttl#maxIdleTime#maxSize
* <p>
* ttl 过期时间 如果设置为0则不过期 默认为0
* maxIdleTime 最大空闲时间 根据LRU算法清理空闲数据 如果设置为0则不检测 默认为0
* maxSize 组最大长度 根据LRU算法清理溢出数据 如果设置为0则无限长 默认为0
* <p>
* 例子: test#60s、test#0#60s、test#0#1m#1000、test#1h#0#500
*
* @author Lion Li
*/
public interface CacheNames {
/**
* 演示案例
*/
String DEMO_CACHE = "demo:cache#60s#10m#20";
/**
* 系统配置
*/
String SYS_CONFIG = "sys_config";
/**
* 数据字典
*/
String SYS_DICT = "sys_dict";
/**
* 用户账户
*/
String SYS_USER_NAME = "sys_user_name#30d";
/**
* 部门
*/
String SYS_DEPT = "sys_dept#30d";
/**
* OSS内容
*/
String SYS_OSS = "sys_oss#30d";
/**
* OSS配置
*/
String SYS_OSS_CONFIG = "sys_oss_config";
/**
* 在线用户
*/
String ONLINE_TOKEN = "online_tokens";
}

View File

@@ -1,129 +1,76 @@
package com.ruoyi.common.constant;
/**
* 通用常量信息
*
* @author ruoyi
*/
public class Constants
{
/**
* UTF-8 字符集
*/
public static final String UTF8 = "UTF-8";
/**
* GBK 字符集
*/
public static final String GBK = "GBK";
/**
* http请求
*/
public static final String HTTP = "http://";
/**
* https请求
*/
public static final String HTTPS = "https://";
/**
* 通用成功标识
*/
public static final String SUCCESS = "0";
/**
* 通用失败标识
*/
public static final String FAIL = "1";
/**
* 登录成功
*/
public static final String LOGIN_SUCCESS = "Success";
/**
* 注销
*/
public static final String LOGOUT = "Logout";
/**
* 登录失败
*/
public static final String LOGIN_FAIL = "Error";
/**
* 验证码 redis key
*/
public static final String CAPTCHA_CODE_KEY = "captcha_codes:";
/**
* 登录用户 redis key
*/
public static final String LOGIN_TOKEN_KEY = "login_tokens:";
/**
* 防重提交 redis key
*/
public static final String REPEAT_SUBMIT_KEY = "repeat_submit:";
/**
* 验证码有效期(分钟)
*/
public static final Integer CAPTCHA_EXPIRATION = 2;
/**
* 令牌
*/
public static final String TOKEN = "token";
/**
* 令牌前缀
*/
public static final String TOKEN_PREFIX = "Bearer ";
/**
* 令牌前缀
*/
public static final String LOGIN_USER_KEY = "login_user_key";
/**
* 用户ID
*/
public static final String JWT_USERID = "userid";
/**
* 用户名称
*/
public static final String JWT_USERNAME = "sub";
/**
* 用户头像
*/
public static final String JWT_AVATAR = "avatar";
/**
* 创建时间
*/
public static final String JWT_CREATED = "created";
/**
* 用户权限
*/
public static final String JWT_AUTHORITIES = "authorities";
/**
* 参数管理 cache key
*/
public static final String SYS_CONFIG_KEY = "sys_config:";
/**
* 字典管理 cache key
*/
public static final String SYS_DICT_KEY = "sys_dict:";
/**
* 资源映射路径 前缀
*/
public static final String RESOURCE_PREFIX = "/profile";
}
package com.ruoyi.common.constant;
/**
* 通用常量信息
*
* @author ruoyi
*/
public interface Constants {
/**
* UTF-8 字符集
*/
String UTF8 = "UTF-8";
/**
* GBK 字符集
*/
String GBK = "GBK";
/**
* www主域
*/
String WWW = "www.";
/**
* http请求
*/
String HTTP = "http://";
/**
* https请求
*/
String HTTPS = "https://";
/**
* 通用成功标识
*/
String SUCCESS = "0";
/**
* 通用失败标识
*/
String FAIL = "1";
/**
* 登录成功
*/
String LOGIN_SUCCESS = "Success";
/**
* 注销
*/
String LOGOUT = "Logout";
/**
* 注册
*/
String REGISTER = "Register";
/**
* 登录失败
*/
String LOGIN_FAIL = "Error";
/**
* 验证码有效期(分钟)
*/
Integer CAPTCHA_EXPIRATION = 2;
/**
* 令牌
*/
String TOKEN = "token";
}

View File

@@ -1,114 +1,193 @@
package com.ruoyi.common.constant;
/**
* 代码生成通用常量
*
* @author ruoyi
*/
public class GenConstants
{
/** 单表(增删改查) */
public static final String TPL_CRUD = "crud";
/** 树表(增删改查) */
public static final String TPL_TREE = "tree";
/** 主子表(增删改查) */
public static final String TPL_SUB = "sub";
/** 树编码字段 */
public static final String TREE_CODE = "treeCode";
/** 树父编码字段 */
public static final String TREE_PARENT_CODE = "treeParentCode";
/** 树名称字段 */
public static final String TREE_NAME = "treeName";
/** 上级菜单ID字段 */
public static final String PARENT_MENU_ID = "parentMenuId";
/** 上级菜单名称字段 */
public static final String PARENT_MENU_NAME = "parentMenuName";
/** 数据库字符串类型 */
public static final String[] COLUMNTYPE_STR = { "char", "varchar", "nvarchar", "varchar2" };
/** 数据库文本类型 */
public static final String[] COLUMNTYPE_TEXT = { "tinytext", "text", "mediumtext", "longtext" };
/** 数据库时间类型 */
public static final String[] COLUMNTYPE_TIME = { "datetime", "time", "date", "timestamp" };
/** 数据库数字类型 */
public static final String[] COLUMNTYPE_NUMBER = { "tinyint", "smallint", "mediumint", "int", "number", "integer",
"bit", "bigint", "float", "double", "decimal" };
/** 页面不需要编辑字段 */
public static final String[] COLUMNNAME_NOT_EDIT = { "id", "create_by", "create_time", "del_flag" };
/** 页面不需要显示的列表字段 */
public static final String[] COLUMNNAME_NOT_LIST = { "id", "create_by", "create_time", "del_flag", "update_by",
"update_time" };
/** 页面不需要查询字段 */
public static final String[] COLUMNNAME_NOT_QUERY = { "id", "create_by", "create_time", "del_flag", "update_by",
"update_time", "remark" };
/** Entity基类字段 */
public static final String[] BASE_ENTITY = { "createBy", "createTime", "updateBy", "updateTime", "remark" };
/** Tree基类字段 */
public static final String[] TREE_ENTITY = { "parentName", "parentId", "orderNum", "ancestors", "children" };
/** 文本框 */
public static final String HTML_INPUT = "input";
/** 文本域 */
public static final String HTML_TEXTAREA = "textarea";
/** 下拉框 */
public static final String HTML_SELECT = "select";
/** 单选框 */
public static final String HTML_RADIO = "radio";
/** 复选框 */
public static final String HTML_CHECKBOX = "checkbox";
/** 日期控件 */
public static final String HTML_DATETIME = "datetime";
/** 图片上传控件 */
public static final String HTML_IMAGE_UPLOAD = "imageUpload";
/** 文件上传控件 */
public static final String HTML_FILE_UPLOAD = "fileUpload";
/** 富文本控件 */
public static final String HTML_EDITOR = "editor";
/** 字符串类型 */
public static final String TYPE_STRING = "String";
/** 整型 */
public static final String TYPE_INTEGER = "Integer";
/** 长整型 */
public static final String TYPE_LONG = "Long";
/** 浮点型 */
public static final String TYPE_DOUBLE = "Double";
/** 高精度计算类型 */
public static final String TYPE_BIGDECIMAL = "BigDecimal";
/** 时间类型 */
public static final String TYPE_DATE = "Date";
/** 模糊查询 */
public static final String QUERY_LIKE = "LIKE";
/** 需要 */
public static final String REQUIRE = "1";
}
package com.ruoyi.common.constant;
/**
* 代码生成通用常量
*
* @author ruoyi
*/
public interface GenConstants {
/**
* 单表(增删改查)
*/
String TPL_CRUD = "crud";
/**
* 树表(增删改查)
*/
String TPL_TREE = "tree";
/**
* 主子表(增删改查)
*/
String TPL_SUB = "sub";
/**
* 树编码字段
*/
String TREE_CODE = "treeCode";
/**
* 树父编码字段
*/
String TREE_PARENT_CODE = "treeParentCode";
/**
* 树名称字段
*/
String TREE_NAME = "treeName";
/**
* 上级菜单ID字段
*/
String PARENT_MENU_ID = "parentMenuId";
/**
* 上级菜单名称字段
*/
String PARENT_MENU_NAME = "parentMenuName";
/**
* 数据库字符串类型
*/
String[] COLUMNTYPE_STR = {"char", "varchar", "nvarchar", "varchar2"};
/**
* 数据库文本类型
*/
String[] COLUMNTYPE_TEXT = {"tinytext", "text", "mediumtext", "longtext"};
/**
* 数据库时间类型
*/
String[] COLUMNTYPE_TIME = {"datetime", "time", "date", "timestamp"};
/**
* 数据库数字类型
*/
String[] COLUMNTYPE_NUMBER = {"tinyint", "smallint", "mediumint", "int", "number", "integer",
"bit", "bigint", "float", "double", "decimal"};
/**
* BO对象 不需要添加字段
*/
String[] COLUMNNAME_NOT_ADD = {"create_by", "create_time", "del_flag", "update_by",
"update_time", "version"};
/**
* BO对象 不需要编辑字段
*/
String[] COLUMNNAME_NOT_EDIT = {"create_by", "create_time", "del_flag", "update_by",
"update_time", "version"};
/**
* VO对象 不需要返回字段
*/
String[] COLUMNNAME_NOT_LIST = {"create_by", "create_time", "del_flag", "update_by",
"update_time", "version"};
/**
* BO对象 不需要查询字段
*/
String[] COLUMNNAME_NOT_QUERY = {"id", "create_by", "create_time", "del_flag", "update_by",
"update_time", "remark", "version"};
/**
* Entity基类字段
*/
String[] BASE_ENTITY = {"createBy", "createTime", "updateBy", "updateTime"};
/**
* Tree基类字段
*/
String[] TREE_ENTITY = {"parentName", "parentId", "children"};
/**
* 文本框
*/
String HTML_INPUT = "input";
/**
* 文本域
*/
String HTML_TEXTAREA = "textarea";
/**
* 下拉框
*/
String HTML_SELECT = "select";
/**
* 单选框
*/
String HTML_RADIO = "radio";
/**
* 复选框
*/
String HTML_CHECKBOX = "checkbox";
/**
* 日期控件
*/
String HTML_DATETIME = "datetime";
/**
* 图片上传控件
*/
String HTML_IMAGE_UPLOAD = "imageUpload";
/**
* 文件上传控件
*/
String HTML_FILE_UPLOAD = "fileUpload";
/**
* 富文本控件
*/
String HTML_EDITOR = "editor";
/**
* 字符串类型
*/
String TYPE_STRING = "String";
/**
* 整型
*/
String TYPE_INTEGER = "Integer";
/**
* 长整型
*/
String TYPE_LONG = "Long";
/**
* 浮点型
*/
String TYPE_DOUBLE = "Double";
/**
* 高精度计算类型
*/
String TYPE_BIGDECIMAL = "BigDecimal";
/**
* 时间类型
*/
String TYPE_DATE = "Date";
/**
* 模糊查询
*/
String QUERY_LIKE = "LIKE";
/**
* 相等查询
*/
String QUERY_EQ = "EQ";
/**
* 需要
*/
String REQUIRE = "1";
}

View File

@@ -1,89 +1,93 @@
package com.ruoyi.common.constant;
/**
* 返回状态码
*
* @author ruoyi
*/
public class HttpStatus
{
/**
* 操作成功
*/
public static final int SUCCESS = 200;
/**
* 对象创建成功
*/
public static final int CREATED = 201;
/**
* 请求已经被接受
*/
public static final int ACCEPTED = 202;
/**
* 操作已经执行成功,但是没有返回数据
*/
public static final int NO_CONTENT = 204;
/**
* 资源已被移除
*/
public static final int MOVED_PERM = 301;
/**
* 重定向
*/
public static final int SEE_OTHER = 303;
/**
* 资源没有被修改
*/
public static final int NOT_MODIFIED = 304;
/**
* 参数列表错误(缺少,格式不匹配)
*/
public static final int BAD_REQUEST = 400;
/**
* 未授权
*/
public static final int UNAUTHORIZED = 401;
/**
* 访问受限,授权过期
*/
public static final int FORBIDDEN = 403;
/**
* 资源,服务未找到
*/
public static final int NOT_FOUND = 404;
/**
* 不允许的http方法
*/
public static final int BAD_METHOD = 405;
/**
* 资源冲突,或者资源被锁
*/
public static final int CONFLICT = 409;
/**
* 不支持的数据,媒体类型
*/
public static final int UNSUPPORTED_TYPE = 415;
/**
* 系统内部错误
*/
public static final int ERROR = 500;
/**
* 接口未实现
*/
public static final int NOT_IMPLEMENTED = 501;
}
package com.ruoyi.common.constant;
/**
* 返回状态码
*
* @author Lion Li
*/
public interface HttpStatus {
/**
* 操作成功
*/
int SUCCESS = 200;
/**
* 对象创建成功
*/
int CREATED = 201;
/**
* 请求已经被接受
*/
int ACCEPTED = 202;
/**
* 操作已经执行成功,但是没有返回数据
*/
int NO_CONTENT = 204;
/**
* 资源已被移除
*/
int MOVED_PERM = 301;
/**
* 重定向
*/
int SEE_OTHER = 303;
/**
* 资源没有被修改
*/
int NOT_MODIFIED = 304;
/**
* 参数列表错误(缺少,格式不匹配)
*/
int BAD_REQUEST = 400;
/**
* 未授权
*/
int UNAUTHORIZED = 401;
/**
* 访问受限,授权过期
*/
int FORBIDDEN = 403;
/**
* 资源,服务未找到
*/
int NOT_FOUND = 404;
/**
* 不允许的http方法
*/
int BAD_METHOD = 405;
/**
* 资源冲突,或者资源被锁
*/
int CONFLICT = 409;
/**
* 不支持的数据,媒体类型
*/
int UNSUPPORTED_TYPE = 415;
/**
* 系统内部错误
*/
int ERROR = 500;
/**
* 接口未实现
*/
int NOT_IMPLEMENTED = 501;
/**
* 系统警告消息
*/
int WARN = 601;
}

View File

@@ -1,50 +0,0 @@
package com.ruoyi.common.constant;
/**
* 任务调度通用常量
*
* @author ruoyi
*/
public class ScheduleConstants
{
public static final String TASK_CLASS_NAME = "TASK_CLASS_NAME";
/** 执行目标key */
public static final String TASK_PROPERTIES = "TASK_PROPERTIES";
/** 默认 */
public static final String MISFIRE_DEFAULT = "0";
/** 立即触发执行 */
public static final String MISFIRE_IGNORE_MISFIRES = "1";
/** 触发一次执行 */
public static final String MISFIRE_FIRE_AND_PROCEED = "2";
/** 不触发立即执行 */
public static final String MISFIRE_DO_NOTHING = "3";
public enum Status
{
/**
* 正常
*/
NORMAL("0"),
/**
* 暂停
*/
PAUSE("1");
private String value;
private Status(String value)
{
this.value = value;
}
public String getValue()
{
return value;
}
}
}

View File

@@ -0,0 +1,30 @@
package com.ruoyi.common.constant;
/**
* 翻译常量
*
* @author Lion Li
*/
public interface TransConstant {
/**
* 用户id转账号
*/
String USER_ID_TO_NAME = "user_id_to_name";
/**
* 部门id转名称
*/
String DEPT_ID_TO_NAME = "dept_id_to_name";
/**
* 字典type转label
*/
String DICT_TYPE_TO_LABEL = "dict_type_to_label";
/**
* ossId转url
*/
String OSS_ID_TO_URL = "oss_id_to_url";
}

View File

@@ -1,63 +1,147 @@
package com.ruoyi.common.constant;
/**
* 用户常量信息
*
* @author ruoyi
*/
public class UserConstants
{
/**
* 平台内系统用户的唯一标志
*/
public static final String SYS_USER = "SYS_USER";
/** 正常状态 */
public static final String NORMAL = "0";
/** 异常状态 */
public static final String EXCEPTION = "1";
/** 用户封禁状态 */
public static final String USER_DISABLE = "1";
/** 角色封禁状态 */
public static final String ROLE_DISABLE = "1";
/** 部门正常状态 */
public static final String DEPT_NORMAL = "0";
/** 部门停用状态 */
public static final String DEPT_DISABLE = "1";
/** 字典正常状态 */
public static final String DICT_NORMAL = "0";
/** 是否为系统默认(是) */
public static final String YES = "Y";
/** 是否菜单外链(是) */
public static final String YES_FRAME = "0";
/** 是否菜单外链(否) */
public static final String NO_FRAME = "1";
/** 菜单类型(目录) */
public static final String TYPE_DIR = "M";
/** 菜单类型(菜单) */
public static final String TYPE_MENU = "C";
/** 菜单类型(按钮) */
public static final String TYPE_BUTTON = "F";
/** Layout组件标识 */
public final static String LAYOUT = "Layout";
/** ParentView组件标识 */
public final static String PARENT_VIEW = "ParentView";
/** 校验返回结果码 */
public final static String UNIQUE = "0";
public final static String NOT_UNIQUE = "1";
}
package com.ruoyi.common.constant;
/**
* 用户常量信息
*
* @author ruoyi
*/
public interface UserConstants {
/**
* 平台内系统用户的唯一标志
*/
String SYS_USER = "SYS_USER";
/**
* 正常状态
*/
String NORMAL = "0";
/**
* 异常状态
*/
String EXCEPTION = "1";
/**
* 用户正常状态
*/
String USER_NORMAL = "0";
/**
* 用户封禁状态
*/
String USER_DISABLE = "1";
/**
* 角色正常状态
*/
String ROLE_NORMAL = "0";
/**
* 角色封禁状态
*/
String ROLE_DISABLE = "1";
/**
* 部门正常状态
*/
String DEPT_NORMAL = "0";
/**
* 部门停用状态
*/
String DEPT_DISABLE = "1";
/**
* 岗位正常状态
*/
String POST_NORMAL = "0";
/**
* 岗位停用状态
*/
String POST_DISABLE = "1";
/**
* 字典正常状态
*/
String DICT_NORMAL = "0";
/**
* 是否为系统默认(是)
*/
String YES = "Y";
/**
* 是否菜单外链(是)
*/
String YES_FRAME = "0";
/**
* 是否菜单外链(否)
*/
String NO_FRAME = "1";
/**
* 菜单正常状态
*/
String MENU_NORMAL = "0";
/**
* 菜单停用状态
*/
String MENU_DISABLE = "1";
/**
* 菜单类型(目录)
*/
String TYPE_DIR = "M";
/**
* 菜单类型(菜单)
*/
String TYPE_MENU = "C";
/**
* 菜单类型(按钮)
*/
String TYPE_BUTTON = "F";
/**
* Layout组件标识
*/
String LAYOUT = "Layout";
/**
* ParentView组件标识
*/
String PARENT_VIEW = "ParentView";
/**
* InnerLink组件标识
*/
String INNER_LINK = "InnerLink";
/**
* 用户名长度限制
*/
int USERNAME_MIN_LENGTH = 2;
int USERNAME_MAX_LENGTH = 20;
/**
* 密码长度限制
*/
int PASSWORD_MIN_LENGTH = 5;
int PASSWORD_MAX_LENGTH = 20;
/**
* 管理员ID
*/
Long ADMIN_ID = 1L;
/**
* 管理员角色key
*/
String ADMIN_ROLE_KEY = "admin";
}

View File

@@ -0,0 +1,52 @@
package com.ruoyi.common.convert;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import lombok.extern.slf4j.Slf4j;
import java.math.BigDecimal;
/**
* 大数值转换
* Excel 数值长度位15位 大于15位的数值转换位字符串
*
* @author Lion Li
*/
@Slf4j
public class ExcelBigNumberConvert implements Converter<Long> {
@Override
public Class<Long> supportJavaTypeKey() {
return Long.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public Long convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
return Convert.toLong(cellData.getData());
}
@Override
public WriteCellData<Object> convertToExcelData(Long object, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
if (ObjectUtil.isNotNull(object)) {
String str = Convert.toStr(object);
if (str.length() > 15) {
return new WriteCellData<>(str);
}
}
WriteCellData<Object> cellData = new WriteCellData<>(new BigDecimal(object));
cellData.setType(CellDataTypeEnum.NUMBER);
return cellData;
}
}

View File

@@ -0,0 +1,73 @@
package com.ruoyi.common.convert;
import cn.hutool.core.annotation.AnnotationUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.core.service.DictService;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.utils.spring.SpringUtils;
import lombok.extern.slf4j.Slf4j;
import java.lang.reflect.Field;
/**
* 字典格式化转换处理
*
* @author Lion Li
*/
@Slf4j
public class ExcelDictConvert implements Converter<Object> {
@Override
public Class<Object> supportJavaTypeKey() {
return Object.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return null;
}
@Override
public Object convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
ExcelDictFormat anno = getAnnotation(contentProperty.getField());
String type = anno.dictType();
String label = cellData.getStringValue();
String value;
if (StringUtils.isBlank(type)) {
value = ExcelUtil.reverseByExp(label, anno.readConverterExp(), anno.separator());
} else {
value = SpringUtils.getBean(DictService.class).getDictValue(type, label, anno.separator());
}
return Convert.convert(contentProperty.getField().getType(), value);
}
@Override
public WriteCellData<String> convertToExcelData(Object object, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
if (ObjectUtil.isNull(object)) {
return new WriteCellData<>("");
}
ExcelDictFormat anno = getAnnotation(contentProperty.getField());
String type = anno.dictType();
String value = Convert.toStr(object);
String label;
if (StringUtils.isBlank(type)) {
label = ExcelUtil.convertByExp(value, anno.readConverterExp(), anno.separator());
} else {
label = SpringUtils.getBean(DictService.class).getDictLabel(type, value, anno.separator());
}
return new WriteCellData<>(label);
}
private ExcelDictFormat getAnnotation(Field field) {
return AnnotationUtil.getAnnotation(field, ExcelDictFormat.class);
}
}

View File

@@ -0,0 +1,97 @@
package com.ruoyi.common.convert;
import cn.hutool.core.annotation.AnnotationUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
import com.ruoyi.common.annotation.ExcelEnumFormat;
import com.ruoyi.common.utils.reflect.ReflectUtils;
import lombok.extern.slf4j.Slf4j;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
/**
* 枚举格式化转换处理
*
* @author Liang
*/
@Slf4j
public class ExcelEnumConvert implements Converter<Object> {
@Override
public Class<Object> supportJavaTypeKey() {
return Object.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return null;
}
@Override
public Object convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
cellData.checkEmpty();
// Excel中填入的是枚举中指定的描述
Object textValue = null;
switch (cellData.getType()) {
case STRING:
case DIRECT_STRING:
case RICH_TEXT_STRING:
textValue = cellData.getStringValue();
break;
case NUMBER:
textValue = cellData.getNumberValue();
break;
case BOOLEAN:
textValue = cellData.getBooleanValue();
break;
default:
throw new IllegalArgumentException("单元格类型异常!");
}
// 如果是空值
if (ObjectUtil.isNull(textValue)) {
return null;
}
Map<Object, String> enumCodeToTextMap = beforeConvert(contentProperty);
// 从Java输出至Excel是code转text
// 因此从Excel转Java应该将text与code对调
Map<Object, Object> enumTextToCodeMap = new HashMap<>();
enumCodeToTextMap.forEach((key, value) -> enumTextToCodeMap.put(value, key));
// 应该从text -> code中查找
Object codeValue = enumTextToCodeMap.get(textValue);
return Convert.convert(contentProperty.getField().getType(), codeValue);
}
@Override
public WriteCellData<String> convertToExcelData(Object object, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
if (ObjectUtil.isNull(object)) {
return new WriteCellData<>("");
}
Map<Object, String> enumValueMap = beforeConvert(contentProperty);
String value = Convert.toStr(enumValueMap.get(object), "");
return new WriteCellData<>(value);
}
private Map<Object, String> beforeConvert(ExcelContentProperty contentProperty) {
ExcelEnumFormat anno = getAnnotation(contentProperty.getField());
Map<Object, String> enumValueMap = new HashMap<>();
Enum<?>[] enumConstants = anno.enumClass().getEnumConstants();
for (Enum<?> enumConstant : enumConstants) {
Object codeValue = ReflectUtils.invokeGetter(enumConstant, anno.codeField());
String textValue = ReflectUtils.invokeGetter(enumConstant, anno.textField());
enumValueMap.put(codeValue, textValue);
}
return enumValueMap;
}
private ExcelEnumFormat getAnnotation(Field field) {
return AnnotationUtil.getAnnotation(field, ExcelEnumFormat.class);
}
}

View File

@@ -1,137 +1,69 @@
package com.ruoyi.common.core.controller;
import java.beans.PropertyEditorSupport;
import java.util.Date;
import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.PageDomain;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.page.TableSupport;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.sql.SqlUtil;
/**
* web层通用数据处理
*
* @author ruoyi
*/
public class BaseController
{
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
/**
* 将前台传递过来的日期格式的字符串自动转化为Date类型
*/
@InitBinder
public void initBinder(WebDataBinder binder)
{
// Date 类型转换
binder.registerCustomEditor(Date.class, new PropertyEditorSupport()
{
@Override
public void setAsText(String text)
{
setValue(DateUtils.parseDate(text));
}
});
}
/**
* 设置请求分页数据
*/
protected void startPage()
{
PageDomain pageDomain = TableSupport.buildPageRequest();
Integer pageNum = pageDomain.getPageNum();
Integer pageSize = pageDomain.getPageSize();
if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize))
{
String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy());
PageHelper.startPage(pageNum, pageSize, orderBy);
}
}
/**
* 响应请求分页数据
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
protected TableDataInfo getDataTable(List<?> list)
{
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setMsg("查询成功");
rspData.setRows(list);
rspData.setTotal(new PageInfo(list).getTotal());
return rspData;
}
/**
* 响应返回结果
*
* @param rows 影响行数
* @return 操作结果
*/
protected AjaxResult toAjax(int rows)
{
return rows > 0 ? AjaxResult.success() : AjaxResult.error();
}
/**
* 响应返回结果
*
* @param result 结果
* @return 操作结果
*/
protected AjaxResult toAjax(boolean result)
{
return result ? success() : error();
}
/**
* 返回成功
*/
public AjaxResult success()
{
return AjaxResult.success();
}
/**
* 返回失败消息
*/
public AjaxResult error()
{
return AjaxResult.error();
}
/**
* 返回成功消息
*/
public AjaxResult success(String message)
{
return AjaxResult.success(message);
}
/**
* 返回失败消息
*/
public AjaxResult error(String message)
{
return AjaxResult.error(message);
}
/**
* 页面跳转
*/
public String redirect(String url)
{
return StringUtils.format("redirect:{}", url);
}
}
package com.ruoyi.common.core.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.helper.LoginHelper;
import com.ruoyi.common.utils.StringUtils;
/**
* web层通用数据处理
*
* @author Lion Li
*/
public class BaseController {
/**
* 响应返回结果
*
* @param rows 影响行数
* @return 操作结果
*/
protected R<Void> toAjax(int rows) {
return rows > 0 ? R.ok() : R.fail();
}
/**
* 响应返回结果
*
* @param result 结果
* @return 操作结果
*/
protected R<Void> toAjax(boolean result) {
return result ? R.ok() : R.fail();
}
/**
* 页面跳转
*/
public String redirect(String url) {
return StringUtils.format("redirect:{}", url);
}
/**
* 获取用户缓存信息
*/
public LoginUser getLoginUser() {
return LoginHelper.getLoginUser();
}
/**
* 获取登录用户id
*/
public Long getUserId() {
return LoginHelper.getUserId();
}
/**
* 获取登录部门id
*/
public Long getDeptId() {
return LoginHelper.getDeptId();
}
/**
* 获取登录用户名
*/
public String getUsername() {
return LoginHelper.getUsername();
}
}

View File

@@ -1,148 +0,0 @@
package com.ruoyi.common.core.domain;
import java.util.HashMap;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.utils.StringUtils;
/**
* 操作消息提醒
*
* @author ruoyi
*/
public class AjaxResult extends HashMap<String, Object>
{
private static final long serialVersionUID = 1L;
/** 状态码 */
public static final String CODE_TAG = "code";
/** 返回内容 */
public static final String MSG_TAG = "msg";
/** 数据对象 */
public static final String DATA_TAG = "data";
/**
* 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。
*/
public AjaxResult()
{
}
/**
* 初始化一个新创建的 AjaxResult 对象
*
* @param code 状态码
* @param msg 返回内容
*/
public AjaxResult(int code, String msg)
{
super.put(CODE_TAG, code);
super.put(MSG_TAG, msg);
}
/**
* 初始化一个新创建的 AjaxResult 对象
*
* @param code 状态码
* @param msg 返回内容
* @param data 数据对象
*/
public AjaxResult(int code, String msg, Object data)
{
super.put(CODE_TAG, code);
super.put(MSG_TAG, msg);
if (StringUtils.isNotNull(data))
{
super.put(DATA_TAG, data);
}
}
/**
* 返回成功消息
*
* @return 成功消息
*/
public static AjaxResult success()
{
return AjaxResult.success("操作成功");
}
/**
* 返回成功数据
*
* @return 成功消息
*/
public static AjaxResult success(Object data)
{
return AjaxResult.success("操作成功", data);
}
/**
* 返回成功消息
*
* @param msg 返回内容
* @return 成功消息
*/
public static AjaxResult success(String msg)
{
return AjaxResult.success(msg, null);
}
/**
* 返回成功消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 成功消息
*/
public static AjaxResult success(String msg, Object data)
{
return new AjaxResult(HttpStatus.SUCCESS, msg, data);
}
/**
* 返回错误消息
*
* @return
*/
public static AjaxResult error()
{
return AjaxResult.error("操作失败");
}
/**
* 返回错误消息
*
* @param msg 返回内容
* @return 警告消息
*/
public static AjaxResult error(String msg)
{
return AjaxResult.error(msg, null);
}
/**
* 返回错误消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 警告消息
*/
public static AjaxResult error(String msg, Object data)
{
return new AjaxResult(HttpStatus.ERROR, msg, data);
}
/**
* 返回错误消息
*
* @param code 状态码
* @param msg 返回内容
* @return 警告消息
*/
public static AjaxResult error(int code, String msg)
{
return new AjaxResult(code, msg, null);
}
}

View File

@@ -1,114 +1,63 @@
package com.ruoyi.common.core.domain;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* Entity基类
*
* @author ruoyi
*/
public class BaseEntity implements Serializable
{
private static final long serialVersionUID = 1L;
/** 搜索值 */
private String searchValue;
/** 创建者 */
private String createBy;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/** 更新者 */
private String updateBy;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/** 备注 */
private String remark;
/** 请求参数 */
private Map<String, Object> params;
public String getSearchValue()
{
return searchValue;
}
public void setSearchValue(String searchValue)
{
this.searchValue = searchValue;
}
public String getCreateBy()
{
return createBy;
}
public void setCreateBy(String createBy)
{
this.createBy = createBy;
}
public Date getCreateTime()
{
return createTime;
}
public void setCreateTime(Date createTime)
{
this.createTime = createTime;
}
public String getUpdateBy()
{
return updateBy;
}
public void setUpdateBy(String updateBy)
{
this.updateBy = updateBy;
}
public Date getUpdateTime()
{
return updateTime;
}
public void setUpdateTime(Date updateTime)
{
this.updateTime = updateTime;
}
public String getRemark()
{
return remark;
}
public void setRemark(String remark)
{
this.remark = remark;
}
public Map<String, Object> getParams()
{
if (params == null)
{
params = new HashMap<>();
}
return params;
}
public void setParams(Map<String, Object> params)
{
this.params = params;
}
}
package com.ruoyi.common.core.domain;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* Entity基类
*
* @author Lion Li
*/
@Data
public class BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 搜索值
*/
@JsonIgnore
@TableField(exist = false)
private String searchValue;
/**
* 创建者
*/
@TableField(fill = FieldFill.INSERT)
private String createBy;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
/**
* 更新者
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private String updateBy;
/**
* 更新时间
*/
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
/**
* 请求参数
*/
@JsonInclude(JsonInclude.Include.NON_EMPTY)
@TableField(exist = false)
private Map<String, Object> params = new HashMap<>();
}

View File

@@ -0,0 +1,112 @@
package com.ruoyi.common.core.domain;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.sql.SqlUtil;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 分页查询实体类
*
* @author Lion Li
*/
@Data
public class PageQuery implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 分页大小
*/
private Integer pageSize;
/**
* 当前页数
*/
private Integer pageNum;
/**
* 排序列
*/
private String orderByColumn;
/**
* 排序的方向desc或者asc
*/
private String isAsc;
/**
* 当前记录起始索引 默认值
*/
public static final int DEFAULT_PAGE_NUM = 1;
/**
* 每页显示记录数 默认值 默认查全部
*/
public static final int DEFAULT_PAGE_SIZE = Integer.MAX_VALUE;
public <T> Page<T> build() {
Integer pageNum = ObjectUtil.defaultIfNull(getPageNum(), DEFAULT_PAGE_NUM);
Integer pageSize = ObjectUtil.defaultIfNull(getPageSize(), DEFAULT_PAGE_SIZE);
if (pageNum <= 0) {
pageNum = DEFAULT_PAGE_NUM;
}
Page<T> page = new Page<>(pageNum, pageSize);
List<OrderItem> orderItems = buildOrderItem();
if (CollUtil.isNotEmpty(orderItems)) {
page.addOrder(orderItems);
}
return page;
}
/**
* 构建排序
*
* 支持的用法如下:
* {isAsc:"asc",orderByColumn:"id"} order by id asc
* {isAsc:"asc",orderByColumn:"id,createTime"} order by id asc,create_time asc
* {isAsc:"desc",orderByColumn:"id,createTime"} order by id desc,create_time desc
* {isAsc:"asc,desc",orderByColumn:"id,createTime"} order by id asc,create_time desc
*/
private List<OrderItem> buildOrderItem() {
if (StringUtils.isBlank(orderByColumn) || StringUtils.isBlank(isAsc)) {
return null;
}
String orderBy = SqlUtil.escapeOrderBySql(orderByColumn);
orderBy = StringUtils.toUnderScoreCase(orderBy);
// 兼容前端排序类型
isAsc = StringUtils.replaceEach(isAsc, new String[]{"ascending", "descending"}, new String[]{"asc", "desc"});
String[] orderByArr = orderBy.split(StringUtils.SEPARATOR);
String[] isAscArr = isAsc.split(StringUtils.SEPARATOR);
if (isAscArr.length != 1 && isAscArr.length != orderByArr.length) {
throw new ServiceException("排序参数有误");
}
List<OrderItem> list = new ArrayList<>();
// 每个字段各自排序
for (int i = 0; i < orderByArr.length; i++) {
String orderByStr = orderByArr[i];
String isAscStr = isAscArr.length == 1 ? isAscArr[0] : isAscArr[i];
if ("asc".equals(isAscStr)) {
list.add(OrderItem.asc(orderByStr));
} else if ("desc".equals(isAscStr)) {
list.add(OrderItem.desc(orderByStr));
} else {
throw new ServiceException("排序参数有误");
}
}
return list;
}
}

View File

@@ -0,0 +1,107 @@
package com.ruoyi.common.core.domain;
import com.ruoyi.common.constant.HttpStatus;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 响应信息主体
*
* @author Lion Li
*/
@Data
@NoArgsConstructor
public class R<T> implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 成功
*/
public static final int SUCCESS = 200;
/**
* 失败
*/
public static final int FAIL = 500;
private int code;
private String msg;
private T data;
public static <T> R<T> ok() {
return restResult(null, SUCCESS, "操作成功");
}
public static <T> R<T> ok(T data) {
return restResult(data, SUCCESS, "操作成功");
}
public static <T> R<T> ok(String msg) {
return restResult(null, SUCCESS, msg);
}
public static <T> R<T> ok(String msg, T data) {
return restResult(data, SUCCESS, msg);
}
public static <T> R<T> fail() {
return restResult(null, FAIL, "操作失败");
}
public static <T> R<T> fail(String msg) {
return restResult(null, FAIL, msg);
}
public static <T> R<T> fail(T data) {
return restResult(data, FAIL, "操作失败");
}
public static <T> R<T> fail(String msg, T data) {
return restResult(data, FAIL, msg);
}
public static <T> R<T> fail(int code, String msg) {
return restResult(null, code, msg);
}
/**
* 返回警告消息
*
* @param msg 返回内容
* @return 警告消息
*/
public static <T> R<T> warn(String msg) {
return restResult(null, HttpStatus.WARN, msg);
}
/**
* 返回警告消息
*
* @param msg 返回内容
* @param data 数据对象
* @return 警告消息
*/
public static <T> R<T> warn(String msg, T data) {
return restResult(data, HttpStatus.WARN, msg);
}
private static <T> R<T> restResult(T data, int code, String msg) {
R<T> r = new R<>();
r.setCode(code);
r.setData(data);
r.setMsg(msg);
return r;
}
public static <T> Boolean isError(R<T> ret) {
return !isSuccess(ret);
}
public static <T> Boolean isSuccess(R<T> ret) {
return R.SUCCESS == ret.getCode();
}
}

Some files were not shown because too many files have changed in this diff Show More