69 Commits

Author SHA1 Message Date
2024c5e07f
实现获取用户基本信息 (#25)
Some checks failed
Docker Build and Publish / build (push) Has been cancelled
Gitea Sync / trigger-gitea-sync (push) Has been cancelled
Java CI with Maven / build (push) Has been cancelled
* Reapply "refactor(sims): 重构JwtInterceptor并修复用户角色加载"

This reverts commit 4579dbda81299d207de88db0f073bc48301e931a.

* 给注册添加参数校验
2024-09-06 17:42:12 +08:00
4579dbda81 Revert "refactor(sims): 重构JwtInterceptor并修复用户角色加载"
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
Gitea Sync / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
This reverts commit 8ee13b5f8f06a34f8c7f1fc41ae9d38169b25183.
2024-09-05 18:27:30 +08:00
8ee13b5f8f refactor(sims): 重构JwtInterceptor并修复用户角色加载
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
Gitea Sync / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
- 在JwtInterceptor中新增getUserIdFromReq方法,用于从请求中获取用户ID。
- 在UserController的getSelf方法中使用新方法获取当前用户ID并修复。
- 重构UserService中关于用户角色加载的代码,消除不必要的循环,提高执行效率。
- 修复了在UserService中findUser方法传入空值的问题,并增加用户不存在时的异常处理。
2024-09-05 18:24:59 +08:00
28f5b146d8 增强JWT拦截器异常处理
Some checks failed
Docker Build and Publish / build (push) Has been cancelled
Gitea Sync / trigger-gitea-sync (push) Has been cancelled
Java CI with Maven / build (push) Has been cancelled
新增异常处理,专门针对无法识别的token异常,提升错误提示的准确性。当token验证失败时,现在将抛出一个具体的"token验证失败,请重新登录"错误,以区别于登录过期错误。
2024-09-03 17:32:26 +08:00
tortoise014
94bf792cd2
Merge pull request #24 from suyiiyii/suyiiyii-s3
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
Gitea Sync / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
添加文件上传功能及S3集成
2024-09-03 16:43:43 +08:00
d353304f3a 在测试中mock S3Client,避免报错 2024-09-03 16:34:35 +08:00
b9ca333958 添加文件上传功能及S3集成
新版本中添加了文件上传功能,并集成了S3进行文件存储。这包括控制器、服务和工具类的更新,以及配置S3客户端的bean配置。
2024-09-03 16:13:00 +08:00
f113c341e5 Revert "feat(cors): 允许option请求通过"
Some checks failed
Docker Build and Publish / build (push) Has been cancelled
Gitea Sync / trigger-gitea-sync (push) Has been cancelled
Java CI with Maven / build (push) Has been cancelled
This reverts commit f867d7b7bc9fd2a809fc725f401a42542659368c.
2024-08-29 17:53:30 +08:00
6a0812b836 Revert "feat(cors): 暴力允许option请求通过"
This reverts commit 0fea9664f9bf7415085345419644ef3134806b3c.
2024-08-29 17:53:29 +08:00
fb37c59810 feat(cors): 使用CorsFilter来处理跨域问题 2024-08-29 17:53:26 +08:00
0fea9664f9 feat(cors): 暴力允许option请求通过
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
Gitea Sync / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
2024-08-29 17:15:28 +08:00
f867d7b7bc feat(cors): 允许option请求通过
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
Gitea Sync / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
2024-08-29 16:54:37 +08:00
b7afe430d3
ci(docker-publish): 确保仅在push事件时提交标签更新 (#22)
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
Gitea Sync / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
* ci(docker-publish): 确保仅在push事件时提交标签更新

* refactor(github-workflows): 标准化Gitea Sync workflow名称

* feat(cors): 全局启用CORS支持

在Spring应用中通过配置CORS实现跨域请求支持,允许所有来源、方法和头。
此变更有助于解决前端应用在不同域上运行时的跨域问题。
2024-08-28 21:13:59 +08:00
2c51b04381
feat(user): 为用户表添加唯一索引 (#23)
Some checks failed
Docker Build and Publish / build (push) Failing after 2m16s
gitea-sync.yml / trigger-gitea-sync (push) Successful in 4s
Java CI with Maven / build (push) Failing after 5m48s
2024-08-26 10:21:01 +08:00
6e3ffa092b
reformat 格式化代码 (#21)
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
gitea-sync.yml / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
* reformat 格式化代码

* 为依赖图的生成添加写权限
2024-08-25 20:21:15 +08:00
8d10add577 feat(docker-publish): 从meta输出中提取版本用于镜像标签
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
gitea-sync.yml / trigger-gitea-sync (push) Waiting to run
2024-08-25 20:00:59 +08:00
6185381753 fix(github-actions):将权限从read更改为write
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
gitea-sync.yml / trigger-gitea-sync (push) Waiting to run
2024-08-25 19:41:39 +08:00
95e1173849 refactor(github-actions): 使用yq-action替换直接wget和优化依赖图提交
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
gitea-sync.yml / trigger-gitea-sync (push) Waiting to run
- 在docker-publish.yml中使用mikefarah/yq-action直接替换繁琐的wget和chmod命令,用于更新manifest。
-通过精确的路径监听在maven.yml中优化依赖图提交动作,以响应pom.xml和src/更改,提高效率。
2024-08-25 19:37:02 +08:00
8a9612bcb3 refactor(github-actions): 自动化提交镜像更新和Gitea同步工作流
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
gitea-sync.yml / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
- 在docker-publish.yml中引入yq Linux二进制文件并设置权限,用于在'push'事件中自动更新部署镜像标签。
- 用git-auto-commit-action自动化提交更新到GitHub,使用机器用户凭据。- 在gitea-sync.yml中增加workflow_run事件的类型限定,仅在'Docker Build and Publish'工作流完成时触发。
2024-08-25 19:32:28 +08:00
6bffefee2e feat(cicd):增加Workflow来更新部署镜像标签
Some checks are pending
Docker Build and Publish / build (push) Waiting to run
gitea-sync.yml / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
2024-08-25 19:13:28 +08:00
437b23022c fix(JwtInterceptor): 解决登录过期问题
增加对过期JWT令牌的异常处理,以在访问受限时强制重新认证。在验证失败时抛出服务异常前,捕获并处理TokenExpiredException。
2024-08-25 19:12:28 +08:00
f5efdf8bf4
Update gitea-sync.yml
Some checks are pending
Docker / build (push) Waiting to run
gitea-sync.yml / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
2024-08-25 11:45:24 +08:00
2734fb2227
Update gitea-sync.yml
Some checks are pending
Docker / build (push) Waiting to run
gitea-sync.yml / trigger-gitea-sync (push) Waiting to run
Java CI with Maven / build (push) Waiting to run
2024-08-25 11:42:46 +08:00
8fab21bc25
Merge pull request #20
* feat(github): 创建gitea-sync.yml工作流
2024-08-25 11:39:21 +08:00
7a4e9adb29
fix: Dockerfile 2024-08-25 02:35:47 +08:00
1a53ffd83c
自动化构建docker镜像 (#19)
* feat(build): add Dockerfile

* feat(github-actions): 添加 Docker 镜像构建和发布工作流

* 删除maven的镜像配置
2024-08-25 02:09:50 +08:00
c00d979e91
RBAC 优化 (#18)
* refactor(common): 整理拦截器配置和JWT拦截器实现

* feat(auth): 将权限信息使用注解的形式固定在接口上

* feat(rbac): stash

* fix(GlobalException): 在ServiceException处理中添加日志记录

在全局异常处理器中为ServiceException添加错误日志记录,以提高错误跟踪的可观察性。现在,当捕获到ServiceException时,将记录错误消息。

更改包含:
- 导入lombok.extern.slf4j.Slf4j注解以启用日志记录功能。
- 使用@Slf4j注解GlobalException类。- 在ServiceException的@ExceptionHandler方法中添加日志记录语句。

* feat(auth): 实现RBAC,调整JWT验证,更新用户服务和控制器

* 为所有接口添加权限注解

* 删除没有必要的接口

* 删除过期的测试

* refactor(entity): 使用MyBatis-Plus和AutoTable注解重新定义主键和注释

- 重构`Role`, `RolePermission`, `User`, 和`UserRole`实体类,统一使用`@ColumnId`注解代替`@TableId`,并为各实体类的字段添加了相应的注释。- 为`Role`实体类的`roleId`和`roleName`字段,`RolePermission`的`roleId`和`permissionId`字段,`User`实体类的`studentId`, `username`, `password`, `email`, `grade`, 和`userGroup`字段,以及`UserRole`的`userId`和`roleId`字段添加了`@ColumnNotNull`注解,以强化字段的非空约束。

* refactor(jwt-interceptor):精简无效的JWT,提高检查效率

调整JwtInterceptor以精简无效的JWT检查逻辑。实现对JWT效验和用户ID提取的优化,避免不必要的数据库查询。refactor(role): 使用自定义注解替换MyBatis Plus注解并移除冗余字段

通过自定义注解替换MyBatis Plus注解,以整理和优化实体类定义。删除了Role类中的冗余字段,如'tag',以及未使用的imports。

refactor(user-service): 使用ModelMapper简化对象映射,重构注册逻辑引入ModelMapper以简化User对象和DTO之间的映射操作。重构UserService中的用户注册逻辑,使用ModelMapper进行对象转换,减少手动设置属性的需求。

fix(user-controller):调整用户注册请求参数,统一数据类型

调整UserController中的注册请求参数,将'studentId'和'userGroup'的类型与现有代码库保持一致,以便正确进行参数传递和处理。

feat(user-service): 实现rbacService集成,增强用户注册流程

在UserService中集成rbacService,以在用户注册时为新用户分配默认角色。优化了用户注册流程,并简化了权限和角色的管理。

BREAKING CHANGE: 对UserRole逻辑的改动可能会影响现有的用户权限和角色分配。请确保在更新代码后进行

* 修复测试配置
2024-08-25 01:42:40 +08:00
tortoise014
5b9e835108
Merge pull request #16 from suyiiyii/wr
Record 增删改查
2024-08-21 22:25:56 +08:00
68ef028a1b 实现权限校验 2024-08-21 21:21:48 +08:00
a04c901b04 RecordController基本完成 2024-08-20 23:44:09 +08:00
17bc297b10 Merge remote-tracking branch 'origin/wr' into wr 2024-08-19 23:33:22 +08:00
aa08b363e1 完成查询自己的记录的接口 2024-08-19 23:19:51 +08:00
da6057ccab test(sims): 删除多余的测试 2024-08-17 02:39:34 +08:00
6c6ab8475c Revert "```javarefactor(maven): 将Java版本更新到21"
This reverts commit c080be00932a58228db28cbad61bbc9359c594ed.
2024-08-17 02:31:18 +08:00
c080be0093 ```javarefactor(maven): 将Java版本更新到21
更新CI工作流和pom.xml中的Java版本。此更改包括将GitHub Actions工作流中使用的JDK版本从17更新到21,
以及将pom.xml中定义的Java版本属性从17更新到21,以适应新的Java版本。
```
2024-08-17 02:28:45 +08:00
734960d031 fix(ci): 跳过测试并修复依赖图上传工作流在GitHub Actions工作流中,Maven打包步骤现在跳过测试以加快构建速度并避免不必要的依赖。此外,修复了上传依赖图的步骤,以确保其在构建过程中正确执行。 2024-08-17 02:06:05 +08:00
7528d960f1 一些小错 2024-08-17 01:58:41 +08:00
a91f3dd203 一些小错 2024-08-17 01:46:33 +08:00
6b862ffe6b Merge remote-tracking branch 'origin/wr' into wr 2024-08-17 01:15:10 +08:00
a74b724045 获取所有奖惩记录,改了userMapper里面一个错的命名 2024-08-17 01:13:36 +08:00
07d2aa00b0 refactor(gitignore): 从.gitignore中移除application.yaml移除src/main/resources/application.yaml文件的.gitignore条目,以便将其包含在版本控制中。此外,新增src/main/resources/application-prod.yaml文件的.gitignore条目,以保持环境特定配置文件不受版本控制的影响。同时,调整了SimsApplication类以引入@Profile注释,为不同的环境配置文件做好准备。 2024-08-17 00:55:26 +08:00
d7dc256353 Revert "test(dependencies): 将sqlite-jdbc依赖的作用范围更改为运行时"
This reverts commit 66de1d0ce4424ff45e7f3063d8cf1c99bf5634b8.
2024-08-17 00:50:30 +08:00
66de1d0ce4 test(dependencies): 将sqlite-jdbc依赖的作用范围更改为运行时 2024-08-16 23:00:54 +08:00
a8f39e2b0c feat(mapper): 添加 MpUserMapper 及用户插入测试
新增 MpUserMapper 接口,扩展自 Mybatis Plus 的 BaseMapper,用于 User 实体的数据库操作。在 UserMapperTest 中添加 testAddUser 方法以验证用户插入功能,使用 SQLite 数据库进行单元测试。
2024-08-16 22:51:06 +08:00
e9bbc1e274 refactor(user): 更改用户组字段并更新关联代码
用户实体的group字段已被重命名为userGroup,以提高清晰度。此外,与用户组相关的逻辑已从UserService和UserController中更新,以适应这一变化。用户权限集合的处理逻辑也被移除。
2024-08-16 22:47:45 +08:00
645789254d feat(pre-commit): 添加额外的hooks和shebangs检查
添加了检查文件夹大小写冲突、合并冲突和可执行文件shebangs的预提交hooks。这确保了提交的文件在所有平台上都能正常工作,并遵循项目的编码风格。此外,实现了对可执行文件的shebangs进行自动修复的支持。
2024-08-16 21:39:56 +08:00
7d016f8562 feat(pre-commit):集成pre-commit-hooks和pre-commit-java以提升代码质量
新增检查工具集成,包括pre-commit-hooks v2.3.0和pre-commit-java v0.5.4,以自动化代码样式和质量验证。这些工具将帮助检测并修正yaml格式问题、修复文件末尾换行、修剪尾随空格,并执行Java代码的静态分析和风格检查,排除测试目录。
2024-08-16 21:25:14 +08:00
675c07939e docs(record): 添加奖惩记录接口的描述 2024-08-16 16:33:32 +08:00
c484bdcf69 docs(user): 添加用户接口的描述 2024-08-16 16:32:05 +08:00
55d2072fa0 改一下 2024-08-16 16:17:03 +08:00