a34168ef75
feat: 添加流控
2026-01-26 23:12:53 +08:00
45f8348395
feature: 添加sentinel
2026-01-26 23:12:38 +08:00
5681b6bcef
feat: 实现题目服务完整校验责任链和流量控制
...
- 责任链校验系统
* 题目创建参数校验(标题、内容、难度、判题配置、标签)
* 题目编辑参数校验(可选字段校验)
* 题目更新参数校验(管理员、存在性校验)
* 题目提交参数校验(存在性、状态、语言、代码安全)
- Sentinel 流量控制
* 添加 Sentinel 依赖和配置
* 题目提交接口添加限流注解和降级处理
- 数据模型优化
* QuestionResponseDTO 返回对象类型(JudgeConfig、JudgeCase)
* 实现 Entity 与 DTO 的 JSON 转换
- 接口文档
* 生成博客服务完整 API 文档
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-26 23:10:19 +08:00
c06cfc10ee
refactor: use DTOs in QuestionController API responses
...
- Change getQuestion endpoint to return QuestionResponseDTO instead of Question entity
- Change listQuestions endpoint to return Page<QuestionResponseDTO> instead of Page<Question>
- Simplify createQuestion endpoint by using createQuestionWithChain method directly
- Add chain-related DTOs for question processing pipeline
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-26 21:58:06 +08:00
be709efa2e
refactor: improve question service entity types and security config
...
- Change Question entity time fields from Date to LocalDateTime for Java 8+ time API consistency
- Add auto-fill annotation for updateTime field in Question and QuestionSubmit entities
- Simplify Serializable import in QuestionQueryRequestDTO
- Temporarily set SecurityConfiguration to permit all requests for development
- Remove generated .flattened-pom.xml build artifacts from version control
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-26 21:57:08 +08:00
17f58a7b45
feat: 添加响应体对象
2026-01-21 22:55:14 +08:00
9337540c77
feat: blog表结构
2026-01-21 22:50:15 +08:00
873fc3b149
feat: 实现博客服务基础架构
...
- 创建博客服务模块基础架构
- 实现 Blog 实体类和相关 Mapper
- 实现 RESTful 风格的 Controller 接口
- 添加完善的 Swagger 注解和校验
- 配置 Nacos 服务发现和 Redis 缓存
- 清理 Maven flatten 插件生成的临时文件
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-21 22:48:50 +08:00
cf0e326b0c
feat: 实现题目服务基础架构
...
- 创建题目服务模块 aioj-backend-question-service
- 实现 Question、TestCase、QuestionSubmit 实体类
- 实现 RESTful 风格的 Controller 接口
- 添加完善的 Swagger 注解和校验
- 配置 Nacos 服务发现和 Redis 缓存
- 实现分页查询和条件过滤功能
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-21 22:47:36 +08:00
61fb847ac1
ai + blog
2026-01-20 17:20:03 +08:00
ef6b5cb11e
refactor: 重构AI服务架构为基于gRPC的实现
...
- 将AI服务从OpenAI API调用重构为gRPC服务架构
- 添加gRPC相关依赖和Protobuf编译插件
- 更新application.yml配置为gRPC客户端设置
- 移除旧的AIServiceImpl实现
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-20 17:17:55 +08:00
51d16ea077
feat: 添加AI服务模块实现代码分析和评估功能
2026-01-20 16:40:21 +08:00
439fdf90c4
Merge remote-tracking branch 'origin/main'
2026-01-19 20:14:51 +08:00
08043672f9
feat: 实现用户邮箱管理和个人资料功能
...
- 修复邮箱验证码接口参数绑定问题 (@RequestParam -> @ModelAttribute)
- 实现异步邮件发送,使用独立线程池避免阻塞
- 完成邮箱绑定/解绑功能
- 实现修改密码功能
- 实现用户资料查询和更新功能
- 添加个人资料相关 DTO
- 更新网关过滤器使用新的服务名称
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-18 17:31:08 +08:00
c3c07ff1e7
refactor: 标准化微服务命名并添加日志配置
...
- 将所有微服务名称添加 aioj- 前缀 (auth-service -> aioj-auth-service)
- 更新网关路由配置以使用新的服务名称
- 为所有服务添加 logback-spring.xml 日志配置
- 更新 .gitignore 排除 uploads 和 logs 目录
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-18 15:49:38 +08:00
5522eaa1d6
Merge remote-tracking branch 'origin/main'
2026-01-12 23:04:40 +08:00
93759b4a1a
fix: 更新AuthServiceImpl实现
...
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-12 02:03:12 +08:00
c9e9a1a4c7
chore: 更新IDE配置和网关过滤器
...
- 更新IDEA配置文件(dataSources, db-forest, encodings)
- 更新网关AuthGlobalFilter
- 添加uploads目录
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-12 02:02:59 +08:00
a4575cebd4
refactor: 重构安全架构,提取通用安全模块到common-security
...
- 将JwtAuthenticationFilter、JwtUtil、JwtProperties从auth服务移至common-security模块
- 新增common-security通用安全模块,提供JWT认证、权限验证等核心安全功能
- 重命名SecurityConfiguration为AuthSecurityConfiguration,使用common-security的filter
- 新增JacksonConfiguration配置类,统一JSON序列化配置
- 新增头像更新功能AvatarUpdateRequestDTO
- 移除冗余的UserLoginResponseDTO类
- 更新各服务模块的依赖配置以引入common-security模块
- 新增README.md项目说明文档
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-12 01:54:21 +08:00
8bd56a6001
feat: 添加文件哈希检查功能,支持秒传
...
- 新增 HashCheckRespDTO 用于哈希检查响应
- 文件上传接口支持可选的 hash 参数,用于秒传
- 新增 /check 接口用于检查文件哈希是否存在
- 简化上传逻辑,移除同步/异步哈希计算配置
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-10 19:38:30 +08:00
637f125348
feat: 实现文件服务核心功能,支持本地和云存储
...
实现通用文件上传、存储和访问功能,支持文件去重和多种存储策略。
主要变更:
- 新增文件上传接口,支持小文件同步去重、大文件异步处理
- 实现本地存储和腾讯云COS存储策略
- 新增哈希计算服务,支持异步计算大文件哈希
- 新增文件访问控制器,提供文件访问能力
- 扩展附件实体和服务,实现完整的文件管理
- 新增配置类,支持灵活的存储策略切换
- 优化删除状态枚举类型从String改为Integer
- 配置文件上传大小限制和存储相关配置
技术细节:
- 小文件(<=10MB)同步计算SHA256哈希并去重
- 大文件异步计算哈希,提升上传响应速度
- 支持按日期自动组织文件目录结构
- 集成Hutool工具简化文件操作
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-10 16:49:34 +08:00
4ee3ebcbec
feat: 添加通用附件管理功能,包括实体、服务、控制器及相关模板
2026-01-10 15:05:25 +08:00
2e2697140c
feat :AIOJ 后端模块并更新项目结构
...
- 引入了新模块:gateway、judge service、question service、user service 和 UPMS。
- 在 gateway 和 user service 模块中创建了 package-info.java 文件用于文档说明。
- 更新了 pom.xml 文件以反映新的模块结构和依赖关系。
- 在 UserController 中实现了基本的用户资料管理端点。
- 为每个新模块添加了扁平化 POM 文件以有效管理依赖。
- 增强了项目属性,以实现更好的版本管理和模块间一致性。
2026-01-10 14:46:36 +08:00
3657f88970
feat: 实现邮箱绑定与解绑功能
...
- 实现邮箱绑定接口,支持通过验证码绑定邮箱
- 实现邮箱解绑接口,支持用户解绑已绑定的邮箱
- 添加BindEmailRequest DTO用于邮箱绑定请求
- 完善Swagger文档注解,提升API文档可读性
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-10 00:05:32 +08:00
dfcb7d978b
test: 添加邮件服务测试类
...
- 新增EmailServiceTest测试类
- 测试验证码发送功能
- 测试连续发送验证码覆盖逻辑
- 新增application-test.yml测试配置
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-09 23:57:42 +08:00
7aacad2596
fix: 优化邮件发送服务
...
- 邮件发送者名称设置为"AIOJ"
- 添加UnsupportedEncodingException异常处理
- 新增RedisKeyConstants常量类统一管理Redis Key
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-09 23:57:09 +08:00
47a468096d
feat: 实现邮箱验证码和邮箱绑定功能
...
- 添加邮件发送服务实现(EmailService/EmailServiceImpl)
- 新增发送验证码、绑定邮箱、解绑邮箱接口
- 用户实体新增邮箱相关字段(userEmail/userEmailVerified)
- 添加邮件配置和JavaMailSender Bean
- 放行邮箱验证码接口(/v1/user/email/send-code)
- 新增ContextHolderUtils工具类用于获取当前用户上下文
- 完善Swagger文档注解
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-09 23:53:19 +08:00
fc72acf490
feat: 更新配置文件和代码,优化Swagger文档和负载均衡支持
2026-01-08 01:15:56 +08:00
05aeef2f79
fix: 网关聚合文档实现
2026-01-08 00:50:32 +08:00
9a20a52afb
fix: 放行文档
2026-01-08 00:50:12 +08:00
4a4a010f83
feat: 添加swagger公共模块并重构API文档依赖
...
- 新增 aioj-backend-common-swagger 模块用于统一管理API文档相关依赖
- 从 BOM 中移除 knife4j 依赖,改为按需引入到各服务模块
- 更新 auth、gateway、user-service、upms 等服务的 pom.xml 配置
- 显式指定 springdoc-openapi 版本以兼容 Spring Boot 3.5.x
- 添加依赖排除以避免版本冲突
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-08 00:48:37 +08:00
d32970ded7
chore: 更新开发环境配置
...
- 添加git命令自动批准到Claude Code设置
- 更新IDEA数据库连接配置
- 添加agents目录
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-07 20:34:04 +08:00
6f0ee9bbf5
feat: 添加getUserInfo接口和修复相关bug
...
- 添加 /getUserInfo 接口,支持根据accessToken获取用户信息
- 修复 JWT subject 从 userAccount 改为 userId
- 修复 Results.failure 方法使用 getErrorMessage() 而非 getMessage()
- 移除 UserClient.getUserById 方法中的 public 修饰符
- 代码格式化:统一缩进和代码风格
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-07 20:16:19 +08:00
cacf7ed820
feat: 添加token过期时间字段到登录响应
...
将UserLoginResponseDTO中的expire字段拆分为accessTokenExpireTime和refreshTokenExpireTime,提高API响应的明确性和可用性。
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-01-06 22:10:53 +08:00
d353735d1b
实现oauth2
2025-12-14 17:47:08 +08:00
d04440f0b1
fix: 避免gateway不需要其错误处理而导致报错的问题
2025-12-14 15:17:51 +08:00
63d0528af4
fix: 修复网关启动找不到服务的问题,修复jwt问题,修复自动导入失败问题。
2025-12-14 15:02:24 +08:00
4912e48922
fix: 确保项目可以启动
2025-12-12 23:50:55 +08:00
c61ee69561
fix: 修复日志功能
2025-12-08 22:51:51 +08:00
lirui
6f7963a73b
feat:依赖修复,完善core和mybatis还有log模块,log模块待完成
2025-11-25 17:06:50 +08:00
lirui
d89960f51c
feat: 添加代码格式化
2025-11-25 13:53:29 +08:00
4304ec6e29
feat: mybatis自动填充实现,分页拦截器实现
2025-11-25 00:09:33 +08:00
050e808ab8
fix: 重新设计依赖,添加多个模块
2025-11-24 23:42:13 +08:00
7a3d3a06ba
fix: 重新设计依赖,添加多个模块
2025-11-24 23:42:00 +08:00
lirui
122a1738bd
feat: 添加日志,后面准备拆分
2025-11-24 17:37:37 +08:00
00c2fffad1
feat: 添加网关白名单
2025-11-21 00:11:15 +08:00
aba1e36e03
fix: 修复网关异常 😡 缺loadbalacner依赖导致的503,然后把auth服务写一下
2025-11-21 00:03:00 +08:00
3603d450e8
feat: 实现刷新token逻辑
2025-11-20 23:13:33 +08:00
c03876e29e
refactor: 拆分出认证服务
2025-11-20 22:43:05 +08:00
f93ec43915
fix: 修复依赖问题
2025-11-20 00:33:27 +08:00