Commit Graph

665 Commits

Author SHA1 Message Date
Charles7c
65401d0219 chore: 1.1.0-SNAPSHOT => 2.0.0-SNAPSHOT 2023-03-30 22:52:04 +08:00
dlj
dea160a7b2 chore: Spring Boot 2.7.8 => 3.0.3
1.Spring Boot 2.7.8 => 3.0.3
2.Knife4j 适配 Spring Boot 3.x
3.ServletUtil => JakartaServletUtil
4.javax.* => jakarta.*
2023-03-30 22:28:02 +08:00
Charles7c
9217f5079f 修复:修正版本号 2023-03-30 21:08:00 +08:00
Charles7c
114333361c Merge branch '1.0.x' into dev
# Conflicts:
#	README.md
2023-03-30 20:31:53 +08:00
Charles7c
fe9201427e 修复:修正版本号 2023-03-30 20:29:05 +08:00
Charles7c
3b7021e88c Merge branch '1.0.x' into dev 2023-03-29 23:48:44 +08:00
Charles7c
8b955a0b1b 修复:补充校验 2023-03-29 23:47:48 +08:00
Charles7c
6164110462 升级:升级前端依赖,并更换包管理器 yarn => pnpm
1.arco design pro vue 2.6.1 => 2.7.0
2.arco design vue 2.40.1 => 2.44.5
3.vue 3.2.45 => 3.2.47
4.typescript 4.9.4 => 4.9.5
5.其他依赖升级
2023-03-28 23:17:37 +08:00
Charles7c
0f49d7b810 Merge branch '1.0.x' into dev 2023-03-27 21:37:16 +08:00
Charles7c
d4aedaabc8 优化:使用变量优化配置 2023-03-27 21:36:31 +08:00
Charles7c
51a82d8f4e 升级:升级后端依赖
1.Spring Boot 2.7.8 => 2.7.10
2.Redisson 3.19.0 => 2.20.0
3.Easy Excel 3.2.0 => 3.2.1
4.Knife4j 4.0.0 => 4.1.0(此版本已内置了 springdoc-openapi-ui 依赖)
5.Hutool 5.8.11 => 5.8.16
2023-03-27 21:22:14 +08:00
Charles7c
405d40e19d release: v1.0.0 2023-03-26 21:10:30 +08:00
Charles7c
8a843ad94c 修复:修复在线用户缺失昵称信息的问题 2023-03-26 20:50:17 +08:00
Charles7c
d88d712d18 完善:完善用户相关业务验证 2023-03-26 14:18:36 +08:00
Charles7c
d5a398b7ad 优化:优化部分变量命名 2023-03-26 13:57:14 +08:00
Charles7c
28334f6c9a 优化:优化删除部门的代码逻辑
1.如果存在下级部门,不允许删除
2023-03-26 13:51:43 +08:00
Charles7c
59d9fd33e4 优化:优化修改部门的代码逻辑
1.启用部门,其所有上级部门需要处于启用状态;禁用部门,其所有下级部门需要处于禁用状态
2.新增部门时,默认为禁用状态
2023-03-26 11:46:26 +08:00
Charles7c
bc54acd60b 重构:重构获取登录用户信息的代码逻辑
1.用户基本信息调整为实时获取
2.登录用户不再保存基本信息,降低维护成本
3.移除冗余的维护登录用户基本信息的代码
2023-03-26 10:58:23 +08:00
Charles7c
267ad9be13 优化:优化修改角色的代码逻辑
1.变更角色编码、功能权限或数据权限后,关联在线用户会自动下线
2.优化角色和菜单关联、角色和部门关联、用户和角色关联的业务代码(增加返回结果)
3.重构在线用户功能,抽取在线用户业务实现
2023-03-26 00:14:05 +08:00
Charles7c
c5b748fe52 完善:发版前配置梳理 2023-03-24 00:40:49 +08:00
Charles7c
f57d15793a 优化:优化部分工具方法的使用 2023-03-23 23:40:45 +08:00
Charles7c
2e215ab320 优化:调整部门、菜单、角色、用户删除的代码逻辑顺序,先删除关联再删除主体 2023-03-23 22:20:51 +08:00
Charles7c
069104c598 优化:优化部分常量命名及使用 2023-03-23 21:56:37 +08:00
Charles7c
8591a24730 优化:优化跨域配置,可支持配置允许跨域的具体域名或 * 2023-03-23 19:54:15 +08:00
Charles7c
30ba5bb5f4 优化:优化 docker-compose.yml 脚本配置 2023-03-22 22:49:36 +08:00
Charles7c
0d17bd2444 优化:优化使用的获取泛型工具方法 2023-03-22 21:52:47 +08:00
Charles7c
2600fe22a3 优化:移除 devtools 依赖 2023-03-21 20:22:29 +08:00
Charles7c
2b4507c36e 修复:修复超链接中不安全的 target blank 2023-03-21 20:21:10 +08:00
Charles7c
c558a4fb34 完善:完善 PR 模板 2023-03-20 23:11:10 +08:00
Charles7c
4eaab732e9 完善:完善 README 文档 2023-03-20 22:41:33 +08:00
Charles7c
a09711c04e 完善:完善菜单相关代码逻辑,优化部分细节 2023-03-20 21:56:20 +08:00
Charles7c
6d3ba478e9 优化:优化校验工具类的使用及部分模板文本写法
1.优化校验工具类,支持传入 {} 模板文本
2.校验工具类增加 throwIf 重载方法,适合于 boolean 类型参数的情况
3.优化一些模板文本的写法
4.优化一些其他细节
2023-03-20 20:44:52 +08:00
Charles7c
139cb337d7 优化:用户新增类型字段,用于标识用户是系统内置或自定义
1.系统内置用户不允许禁用、删除、变更所属角色
2.删除用户时,自动删除用户和角色关联
2023-03-19 23:39:32 +08:00
Charles7c
ff24f3ba78 优化:角色新增类型字段,用于标识角色是系统内置或自定义
1.系统内置角色不允许禁用、删除、修改角色编码和角色数据权限
2.删除角色时,自动删除角色和菜单关联、自动删除角色和部门关联
2023-03-19 22:58:51 +08:00
Charles7c
b345e4450d 优化:部门新增类型字段,用于标识部门是系统内置或自定义
1.系统内置部门不允许禁用、删除、修改上级部门
2.抽取 getAncestors 方法,用于复用获取祖级列表
3.删除部门时,自动删除角色和部门关联
2023-03-19 22:10:37 +08:00
Charles7c
6b73aeb8a9 优化:优化校验工具类的部分写法 2023-03-19 11:19:20 +08:00
Charles7c
9bbff7f22c 优化:优化日志引擎记录登录日志 2023-03-13 23:01:12 +08:00
Charles7c
aa3ea9400e 完善:完善 README 文档 2023-03-13 21:08:52 +08:00
Charles7c
25e11ad9bc 优化:优化后端公共 CRUD 组件-修改接口,将 id 从请求体提取到路径变量,更符合 RESTful 风格 2023-03-11 00:26:18 +08:00
Charles7c
0d3f1ae633 优化:优化表结构语法 2023-03-11 00:22:03 +08:00
Charles7c
2d71af9efb 优化:优化 SQL 语句风格
1.MySQL数据库>SQL语句>第10条:
【推荐】SQL 语句中表的别名前加 as,并且以 t1、t2、t3、...的顺序依次命名。
说明:
  1)别名可以是表的简称,或者是依照表在 SQL 语句中出现的顺序,以 t1、t2、t3 的方式命名。
  2)别名前加 as 使别名更容易识别。
正例:select t1.name from first_table as t1 , second_table as t2 where t1.id = t2.id
个人理解:使用 t1、t2、t3... 的表别名命名方式,在很多类似业务查询的场景会更方便复用;使用 AS 而不是 as 更容易阅读。
2023-03-10 23:17:25 +08:00
Charles7c
5b50303a91 完善:完善 README 文档 2023-03-10 00:07:13 +08:00
Charles7c
d8ceda4654 新增:新增获取路由信息 API(默认前端动态路由处于关闭状态,可通过[页面配置]>[菜单来源于后台]开启)
1.在页面导航栏中通过[页面配置]>[菜单来源于后台]临时启用,刷新后配置失效
2.在前端项目 src/config/setting.json 中,可通过 menuFromServer 配置永久启用
2023-03-09 00:06:02 +08:00
Charles7c
fb0effed9a 新增:新增角色数据权限功能(基于 MyBatis Plus DataPermissionInterceptor 插件实现)
1.基于 MyBatis Plus DataPermissionInterceptor 插件实现的数据权限功能
2.通过在指定 Mapper 接口层方法添加 @DataPermission 注解实现数据权限
2023-03-07 23:55:24 +08:00
Charles7c
5f4a9abec6 修复:修复根据用户 ID 查询权限码报 ParseException 的问题(参考 GitHub:baomidou/mybatis-plus#5159)
Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "ur" <K_ISOLATION>
2023-03-07 23:48:25 +08:00
Charles7c
1a180ff3d9 优化:优化表格操作列功能权限处理,即当所有操作按钮均没有权限时,移除操作列 2023-03-06 21:22:54 +08:00
Charles7c
405c821e2a 重构:🔥 基于阿里巴巴 Java 开发手册(黄山版)重构各表基本结构(简化列名)
1.MySQL数据库>建表规约>第9条:
【强制】表必备三字段:id,create_time,update_time。
说明:其中 id 必为主键,类型为 bigint unsigned、单表时自增、步长为 1。create_time,update_time 的类型均为datetime 类型,如果要记录时区信息,那么类型设置为 timestamp。
个人理解:简化列名的目的是为了后续能抽取更多公共能力
2.MySQL数据库>SQL语句>第10条:
【推荐】SQL 语句中表的别名前加 as,并且以 t1、t2、t3、...的顺序依次命名。
说明:
  1)别名可以是表的简称,或者是依照表在 SQL 语句中出现的顺序,以 t1、t2、t3 的方式命名。
  2)别名前加 as 使别名更容易识别。
正例:select t1.name from first_table as t1 , second_table as t2 where t1.id = t2.id;
2023-03-06 00:09:11 +08:00
Charles7c
4cd4ad1f82 优化:优化分页查询条件 2023-03-05 20:24:40 +08:00
Charles7c
8823211fd9 优化:基于阿里巴巴 Java 开发手册(黄山版)优化 Jackson 超大整数配置
1.编程规约>前后端规约>第6条:
【强制】对于需要使用超大整数的场景,服务端一律使用 String 字符串类型返回,禁止使用 Long 类型。
说明:Java 服务端如果直接返回 Long 整型数据给前端,Javascript 会自动转换为 Number 类型(注:此类型为双精度浮点数,表示原理与取值范围等同于 Java 中的 Double)。Long 类型能表示的最大值是 263-1,在取值范围之内,超过 253(9007199254740992)的数值转化为Javascript 的 Number 时,有些数值会产生精度损失。
扩展说明,在 Long 取值范围内,任何 2 的指数次的整数都是绝对不会存在精度损失的,所以说精度损失是一个概率问题。若浮点数尾数位与指数位空间不限,则可以精确表示任何整数,但很不幸,双精度浮点数的尾数位只有 52 位。
反例:通常在订单号或交易号大于等于 16 位,大概率会出现前后端订单数据不一致的情况。比如,后端传输的 "orderId":362909601374617692,前端拿到的值却是:362909601374617660
2023-03-05 19:31:02 +08:00
Charles7c
95784e5c7d 修复:不再查询父 ID 为 0 的记录的父名称 2023-03-05 13:10:28 +08:00