- 新增异步任务线程池配置,支持项目初始化异步执行 - 定义异步任务状态枚举,统一管理任务生命周期状态 - 实现通用SSE通道管理器,支持用户绑定及多业务消息推送 - 创建统一SSE消息结构,支持多业务类型及事件分类 - 提供基础SSE连接管理接口,支持连接建立、状态查询及关闭 - 提供项目初始化异步任务服务接口及实现,支持进度回调和任务取消 - 添加项目初始化异步预览任务接口,支持异步提交、状态查询、结果获取及取消 - 新增项目初始化任务SSE接口,实现任务异步提交与实时进度推送 - 设计前端SSE集成文档,详细说明SSE连接、消息格式和对接步骤 - 添加Spring工具类,方便非Spring管理类获取Bean实例 - 优化项目控制器,整合异步任务相关API接口支持异步项目初始化工作流
188 lines
6.1 KiB
XML
188 lines
6.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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||
<modelVersion>4.0.0</modelVersion>
|
||
<parent>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-parent</artifactId>
|
||
<version>3.5.7</version>
|
||
<relativePath/> <!-- lookup parent from repository -->
|
||
</parent>
|
||
<groupId>cn.yinlihupo</groupId>
|
||
<artifactId>ylhp-AIProjectManager</artifactId>
|
||
<version>0.0.1-SNAPSHOT</version>
|
||
<name>ylhp-AIProjectManager</name>
|
||
<description>ylhp-AIProjectManager</description>
|
||
|
||
<properties>
|
||
<maven.compiler.source>17</maven.compiler.source>
|
||
<maven.compiler.target>17</maven.compiler.target>
|
||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||
<java.version>17</java.version>
|
||
<spring-ai.version>1.1.0</spring-ai.version>
|
||
</properties>
|
||
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Spring Boot Web -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-web</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Lombok -->
|
||
<dependency>
|
||
<groupId>org.projectlombok</groupId>
|
||
<artifactId>lombok</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Spring AOP(包含 AspectJ,支持 @Aspect 切面) -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-aop</artifactId>
|
||
</dependency>
|
||
|
||
<!--hutool all-->
|
||
<dependency>
|
||
<groupId>cn.hutool</groupId>
|
||
<artifactId>hutool-all</artifactId>
|
||
<version>5.8.23</version>
|
||
</dependency>
|
||
|
||
<!-- PostgreSQL 数据库驱动 -->
|
||
<dependency>
|
||
<groupId>org.postgresql</groupId>
|
||
<artifactId>postgresql</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Spring AI -->
|
||
<dependency>
|
||
<groupId>org.springframework.ai</groupId>
|
||
<artifactId>spring-ai-starter-model-openai</artifactId>
|
||
</dependency>
|
||
|
||
<!-- Spring AI PostgreSQL Vector Store -->
|
||
<dependency>
|
||
<groupId>org.springframework.ai</groupId>
|
||
<artifactId>spring-ai-starter-vector-store-pgvector</artifactId>
|
||
</dependency>
|
||
|
||
<!-- MyBatis Plus -->
|
||
<dependency>
|
||
<groupId>com.baomidou</groupId>
|
||
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
|
||
<version>3.5.5</version>
|
||
</dependency>
|
||
|
||
<!-- MinIO 对象存储客户端 -->
|
||
<dependency>
|
||
<groupId>io.minio</groupId>
|
||
<artifactId>minio</artifactId>
|
||
<version>8.5.7</version>
|
||
</dependency>
|
||
|
||
<!-- 文档解析依赖 -->
|
||
<!-- PDF解析 -->
|
||
<dependency>
|
||
<groupId>org.apache.pdfbox</groupId>
|
||
<artifactId>pdfbox</artifactId>
|
||
<version>2.0.30</version>
|
||
</dependency>
|
||
|
||
<!-- Word文档解析 -->
|
||
<dependency>
|
||
<groupId>org.apache.poi</groupId>
|
||
<artifactId>poi-ooxml</artifactId>
|
||
<version>5.2.5</version>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>org.apache.poi</groupId>
|
||
<artifactId>poi-scratchpad</artifactId>
|
||
<version>5.2.5</version>
|
||
</dependency>
|
||
|
||
<!-- Excel解析 -->
|
||
<dependency>
|
||
<groupId>org.apache.poi</groupId>
|
||
<artifactId>poi-ooxml-schemas</artifactId>
|
||
<version>4.1.2</version>
|
||
</dependency>
|
||
|
||
<!-- Markdown解析 -->
|
||
<dependency>
|
||
<groupId>com.vladsch.flexmark</groupId>
|
||
<artifactId>flexmark-all</artifactId>
|
||
<version>0.64.8</version>
|
||
</dependency>
|
||
|
||
<!-- Tika 用于通用文档类型检测和内容提取 -->
|
||
<dependency>
|
||
<groupId>org.apache.tika</groupId>
|
||
<artifactId>tika-core</artifactId>
|
||
<version>2.9.1</version>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>org.apache.tika</groupId>
|
||
<artifactId>tika-parsers-standard-package</artifactId>
|
||
<version>2.9.1</version>
|
||
</dependency>
|
||
|
||
<!-- Sa-Token 权限认证 -->
|
||
<dependency>
|
||
<groupId>cn.dev33</groupId>
|
||
<artifactId>sa-token-spring-boot3-starter</artifactId>
|
||
<version>1.39.0</version>
|
||
</dependency>
|
||
|
||
<!-- Sa-Token Redis 集成(用于分布式环境会话持久化) -->
|
||
<dependency>
|
||
<groupId>cn.dev33</groupId>
|
||
<artifactId>sa-token-redis-jackson</artifactId>
|
||
<version>1.39.0</version>
|
||
</dependency>
|
||
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-test</artifactId>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
</dependencies>
|
||
|
||
<!-- Maven Central is included by default in Maven builds.
|
||
You usually don’t need to configure it explicitly,
|
||
but it's shown here for clarity. -->
|
||
<repositories>
|
||
<repository>
|
||
<id>central</id>
|
||
<url>https://repo.maven.apache.org/maven2</url>
|
||
</repository>
|
||
</repositories>
|
||
|
||
<dependencyManagement>
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>org.springframework.ai</groupId>
|
||
<artifactId>spring-ai-bom</artifactId>
|
||
<version>${spring-ai.version}</version>
|
||
<type>pom</type>
|
||
<scope>import</scope>
|
||
</dependency>
|
||
</dependencies>
|
||
</dependencyManagement>
|
||
|
||
<build>
|
||
<plugins>
|
||
<plugin>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
|
||
</project>
|