meowrain 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
2026-01-20 17:20:03 +08:00
2026-01-21 22:50:15 +08:00

AIOJ - Online Judge System

基于 Spring Boot 微服务架构的在线判题系统。

服务端口配置

服务名称 端口 说明
Gateway 18085 API 网关服务
Auth Service 18081 认证授权服务
User Service 18082 用户服务
UPMS 18083 用户权限管理服务
File Service 18066 文件服务

模块结构

核心模块 (aioj-backend-common)

  • aioj-backend-common-bom - 依赖管理
  • aioj-backend-common-core - 核心工具类
  • aioj-backend-common-feign - Feign 客户端配置
  • aioj-backend-common-log - 日志框架
  • aioj-backend-common-mybatis - MyBatis 扩展
  • aioj-backend-common-starter - 自动配置启动器

服务模块

  • aioj-backend-gateway - API 网关
  • aioj-backend-auth - 认证服务
  • aioj-backend-user-service - 用户服务
  • aioj-backend-upms - 权限管理服务
  • aioj-backend-file-service - 文件服务
  • aioj-backend-judge-service - 判题服务(开发中)
  • aioj-backend-question-service - 题库服务(开发中)
  • aioj-backend-ai-service - AI 服务(开发中)

快速开始

构建项目

mvn clean compile

运行服务

# 运行网关
mvn spring-boot:run -pl aioj-backend-gateway

# 运行认证服务
mvn spring-boot:run -pl aioj-backend-auth

# 运行用户服务
mvn spring-boot:run -pl aioj-backend-user-service

访问地址

常用命令

代码格式化

mvn spring-javaformat:apply

运行测试

mvn test
Description
AIOJ
Readme 23 MiB
Languages
Java 98.7%
Fluent 1.1%
FreeMarker 0.2%