主要更新: 1. 新增管理员权限检查功能 - 添加 UserRoleEnum 枚举类统一管理用户角色(USER, ADMIN, BAN) - 改进 ContextHolderUtils.isAdmin() 方法,支持不区分大小写的角色比较 - 更新 UserServiceImpl 使用枚举常量代替硬编码字符串 - 新增管理员权限使用指南文档 (docs/admin-permission-guide.md) 2. 修复Maven打包配置 - 配置根POM的spring-boot-maven-plugin默认跳过repackage - 为所有服务模块启用repackage,确保可以打包为可执行JAR - 修复公共库模块打包失败的问题 - 涉及服务:gateway, auth, user-service, question-service, file-service, blog-service, upms-biz, ai-service 3. 更新项目文档 - README.md:添加详细的打包说明、首次克隆准备工作、服务启动顺序等 - CLAUDE.md:更新项目架构说明和开发指南 4. 重构题目服务责任链结构 - 将责任链类按功能分类到 question/ 和 submit/ 子目录 - 新增 QuestionSubmitJudgeInfoEnum 和相关查询功能 - 改进题目提交服务的实现 5. 其他改进 - 添加 Feign Token 中继拦截器 - 更新 AsyncConfig 配置 - 优化 Jackson 和 Security 配置
113 lines
4.1 KiB
XML
113 lines
4.1 KiB
XML
<?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>
|
|
|
|
<parent>
|
|
<groupId>cn.meowrain.aioj</groupId>
|
|
<artifactId>ai-oj</artifactId>
|
|
<version>${revision}</version>
|
|
</parent>
|
|
|
|
<artifactId>aioj-backend-blog-service</artifactId>
|
|
<packaging>jar</packaging>
|
|
<description>AIOJ 博客服务 - 用于用户发帖、分享技术经验、写文章</description>
|
|
|
|
<dependencies>
|
|
<!-- ==================== API文档 ==================== -->
|
|
<dependency>
|
|
<groupId>org.springdoc</groupId>
|
|
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.github.xiaoymin</groupId>
|
|
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
|
|
</dependency>
|
|
|
|
<!-- ==================== 内部模块 ==================== -->
|
|
<dependency>
|
|
<groupId>cn.meowrain.aioj</groupId>
|
|
<artifactId>aioj-backend-common-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>cn.meowrain.aioj</groupId>
|
|
<artifactId>aioj-backend-common-log</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>cn.meowrain.aioj</groupId>
|
|
<artifactId>aioj-backend-common-mybatis</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>cn.meowrain.aioj</groupId>
|
|
<artifactId>aioj-backend-common-security</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>cn.meowrain.aioj</groupId>
|
|
<artifactId>aioj-backend-common-feign</artifactId>
|
|
</dependency>
|
|
|
|
<!-- ==================== Web ==================== -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-web</artifactId>
|
|
</dependency>
|
|
|
|
<!-- ==================== 工具类 ==================== -->
|
|
<dependency>
|
|
<groupId>cn.hutool</groupId>
|
|
<artifactId>hutool-extra</artifactId>
|
|
</dependency>
|
|
|
|
<!-- ==================== Markdown 处理 ==================== -->
|
|
<dependency>
|
|
<groupId>com.vladsch.flexmark</groupId>
|
|
<artifactId>flexmark-all</artifactId>
|
|
<version>0.64.8</version>
|
|
</dependency>
|
|
|
|
<!-- ==================== Redis & 缓存 ==================== -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-data-redis</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-cache</artifactId>
|
|
</dependency>
|
|
|
|
<!-- ==================== 数据库 ==================== -->
|
|
<dependency>
|
|
<groupId>com.mysql</groupId>
|
|
<artifactId>mysql-connector-j</artifactId>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
|
|
<!-- ==================== Spring Cloud 服务发现 ==================== -->
|
|
<dependency>
|
|
<groupId>com.alibaba.cloud</groupId>
|
|
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
|
</dependency>
|
|
|
|
<!-- ==================== 测试 ==================== -->
|
|
<dependency>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-starter-test</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- 启用 Spring Boot Maven 插件的 repackage -->
|
|
<plugin>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
<configuration>
|
|
<skip>false</skip>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|