- 新增发起申请节点 - 发起表单改挂该节点 - 首次发起跳过发起人 - 驳回目标包含发起人 - 审批接口新增表单数据入参 - 新增表单数据更新逻辑 - 模型模板加入发起人节点 - AI 与流程引擎默认值移入公共配置
394 lines
14 KiB
XML
394 lines
14 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>
|
||
|
||
<groupId>com.youlai</groupId>
|
||
<artifactId>youlai-boot</artifactId>
|
||
<version>4.14.1</version>
|
||
<description>基于 Java 17 + SpringBoot 4 + Spring Security 构建的权限管理系统。</description>
|
||
|
||
<parent>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-parent</artifactId>
|
||
<version>4.0.5</version> <!-- lookup parent from repository -->
|
||
<relativePath/>
|
||
</parent>
|
||
|
||
<properties>
|
||
<maven.compiler.source>17</maven.compiler.source>
|
||
<maven.compiler.target>17</maven.compiler.target>
|
||
<excludedGroups>external</excludedGroups>
|
||
|
||
<hutool.version>5.8.47</hutool.version>
|
||
|
||
<flowable.version>8.0.0</flowable.version>
|
||
|
||
<mysql-connector-j.version>9.1.0</mysql-connector-j.version>
|
||
<druid.version>1.2.24</druid.version>
|
||
<mybatis-plus.version>3.5.15</mybatis-plus.version>
|
||
|
||
<springdoc.version>3.1.1</springdoc.version>
|
||
|
||
<mapstruct.version>1.6.3</mapstruct.version>
|
||
<lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version>
|
||
|
||
<xxl-job.version>3.4.2</xxl-job.version>
|
||
|
||
<fastexcel.version>1.3.0</fastexcel.version>
|
||
|
||
<!-- 对象存储 -->
|
||
<okhttp3.version>4.12.0</okhttp3.version>
|
||
<aws-sdk-s3.version>2.54.2</aws-sdk-s3.version>
|
||
|
||
<aliyun-sdk-oss.version>3.16.3</aliyun-sdk-oss.version>
|
||
|
||
<!-- redisson 分布式锁 -->
|
||
<redisson.version>4.1.0</redisson.version>
|
||
|
||
<!-- 自动代码生成 -->
|
||
<mybatis-plus-generator.version>3.5.15</mybatis-plus-generator.version>
|
||
<velocity.version>2.3</velocity.version>
|
||
|
||
<!-- IP 地区转换 -->
|
||
<ip2region.version>2.7.0</ip2region.version>
|
||
|
||
<!-- 阿里云短信 -->
|
||
<aliyun-sdk-core.version>4.7.6</aliyun-sdk-core.version>
|
||
<aliyun-sdk-dysmsapi.version>2.2.1</aliyun-sdk-dysmsapi.version>
|
||
|
||
<caffeine.version>3.2.0</caffeine.version>
|
||
|
||
<!-- 阿里 TransmittableThreadLocal (支持异步场景的ThreadLocal传递) -->
|
||
<transmittable-thread-local.version>2.14.5</transmittable-thread-local.version>
|
||
|
||
<!-- 架构约束测试 -->
|
||
<archunit.version>1.3.0</archunit.version>
|
||
|
||
<weixin-java-miniapp.version>4.8.1.B</weixin-java-miniapp.version>
|
||
|
||
<spring-ai.version>2.0.2</spring-ai.version>
|
||
|
||
</properties>
|
||
|
||
<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>
|
||
|
||
<dependencies>
|
||
<dependency>
|
||
<groupId>org.projectlombok</groupId>
|
||
<artifactId>lombok</artifactId>
|
||
<!--编译测试环境,不打包在lib-->
|
||
<scope>provided</scope>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>cn.hutool</groupId>
|
||
<artifactId>hutool-all</artifactId>
|
||
<version>${hutool.version}</version>
|
||
</dependency>
|
||
|
||
<!-- TransmittableThreadLocal -->
|
||
<dependency>
|
||
<groupId>com.alibaba</groupId>
|
||
<artifactId>transmittable-thread-local</artifactId>
|
||
<version>${transmittable-thread-local.version}</version>
|
||
</dependency>
|
||
|
||
<!-- 允许使用Lombok的Java Bean类中使用MapStruct注解 (Lombok 1.18.20+) -->
|
||
<dependency>
|
||
<groupId>org.projectlombok</groupId>
|
||
<artifactId>lombok-mapstruct-binding</artifactId>
|
||
<version>${lombok-mapstruct-binding.version}</version>
|
||
<scope>provided</scope>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-web</artifactId>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-websocket</artifactId>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-test</artifactId>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
|
||
<!-- Web MVC 接口测试(MockMvc) -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-webmvc-test</artifactId>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>com.tngtech.archunit</groupId>
|
||
<artifactId>archunit-junit5</artifactId>
|
||
<version>${archunit.version}</version>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
|
||
<!-- 测试用内存数据库 -->
|
||
<dependency>
|
||
<groupId>com.h2database</groupId>
|
||
<artifactId>h2</artifactId>
|
||
<scope>test</scope>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-security</artifactId>
|
||
</dependency>
|
||
|
||
<!-- OIDC 客户端组件按 security.oidc.enabled 装载。 -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-security-oauth2-client</artifactId>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-security-oauth2-resource-server</artifactId>
|
||
</dependency>
|
||
|
||
<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>
|
||
|
||
<!-- AOP 切面支持 -->
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-aspectj</artifactId>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-validation</artifactId>
|
||
</dependency>
|
||
|
||
<!-- OpenAI 兼容模型接入(百炼、DeepSeek 等),通过 spring.ai.model.chat 开启 -->
|
||
<dependency>
|
||
<groupId>org.springframework.ai</groupId>
|
||
<artifactId>spring-ai-starter-model-openai</artifactId>
|
||
</dependency>
|
||
<!-- ChatClient API:结构化输出、Advisor、可观测性 -->
|
||
<dependency>
|
||
<groupId>org.springframework.ai</groupId>
|
||
<artifactId>spring-ai-client-chat</artifactId>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-starter-mail</artifactId>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>com.mysql</groupId>
|
||
<artifactId>mysql-connector-j</artifactId>
|
||
<version>${mysql-connector-j.version}</version>
|
||
<scope>runtime</scope>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>com.alibaba</groupId>
|
||
<artifactId>druid-spring-boot-starter</artifactId>
|
||
<version>${druid.version}</version>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>com.baomidou</groupId>
|
||
<artifactId>mybatis-plus-spring-boot4-starter</artifactId>
|
||
<version>${mybatis-plus.version}</version>
|
||
</dependency>
|
||
<dependency>
|
||
<groupId>com.baomidou</groupId>
|
||
<artifactId>mybatis-plus-jsqlparser</artifactId>
|
||
<version>${mybatis-plus.version}</version>
|
||
</dependency>
|
||
|
||
<!-- springdoc 接口文档 -->
|
||
<dependency>
|
||
<groupId>org.springdoc</groupId>
|
||
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
||
<version>${springdoc.version}</version>
|
||
</dependency>
|
||
|
||
<!-- MapStruct 对象映射 -->
|
||
<dependency>
|
||
<groupId>org.mapstruct</groupId>
|
||
<artifactId>mapstruct</artifactId>
|
||
<version>${mapstruct.version}</version>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>org.mapstruct</groupId>
|
||
<artifactId>mapstruct-processor</artifactId>
|
||
<version>${mapstruct.version}</version>
|
||
</dependency>
|
||
|
||
<!-- xxl-job 定时任务 -->
|
||
<dependency>
|
||
<groupId>com.xuxueli</groupId>
|
||
<artifactId>xxl-job-core</artifactId>
|
||
<version>${xxl-job.version}</version>
|
||
</dependency>
|
||
|
||
<!-- Excel 导入导出(FastExcel) -->
|
||
<dependency>
|
||
<groupId>cn.idev.excel</groupId>
|
||
<artifactId>fastexcel</artifactId>
|
||
<version>${fastexcel.version}</version>
|
||
</dependency>
|
||
|
||
<!-- S3 对象存储 -->
|
||
<dependency>
|
||
<groupId>software.amazon.awssdk</groupId>
|
||
<artifactId>s3</artifactId>
|
||
<version>${aws-sdk-s3.version}</version>
|
||
</dependency>
|
||
|
||
<!-- 阿里云 OSS 对象存储 -->
|
||
<dependency>
|
||
<groupId>com.aliyun.oss</groupId>
|
||
<artifactId>aliyun-sdk-oss</artifactId>
|
||
<version>${aliyun-sdk-oss.version}</version>
|
||
</dependency>
|
||
|
||
<!-- redisson 分布式锁 -->
|
||
<dependency>
|
||
<groupId>org.redisson</groupId>
|
||
<artifactId>redisson-spring-boot-starter</artifactId>
|
||
<version>${redisson.version}</version>
|
||
</dependency>
|
||
|
||
<!-- mybatis-plus 代码生成器 -->
|
||
<dependency>
|
||
<groupId>com.baomidou</groupId>
|
||
<artifactId>mybatis-plus-generator</artifactId>
|
||
<version>${mybatis-plus-generator.version}</version>
|
||
</dependency>
|
||
|
||
<!-- velocity 模板引擎(代码生成) -->
|
||
<dependency>
|
||
<groupId>org.apache.velocity</groupId>
|
||
<artifactId>velocity-engine-core</artifactId>
|
||
<version>${velocity.version}</version>
|
||
</dependency>
|
||
|
||
<!-- IP 转省市区 -->
|
||
<dependency>
|
||
<groupId>org.lionsoul</groupId>
|
||
<artifactId>ip2region</artifactId>
|
||
<version>${ip2region.version}</version>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>com.aliyun</groupId>
|
||
<artifactId>aliyun-java-sdk-core</artifactId>
|
||
<version>${aliyun-sdk-core.version}</version>
|
||
</dependency>
|
||
|
||
<dependency>
|
||
<groupId>com.aliyun</groupId>
|
||
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
|
||
<version>${aliyun-sdk-dysmsapi.version}</version>
|
||
</dependency>
|
||
|
||
<!-- 本地缓存 -->
|
||
<dependency>
|
||
<groupId>com.github.ben-manes.caffeine</groupId>
|
||
<artifactId>caffeine</artifactId>
|
||
<version>${caffeine.version}</version>
|
||
</dependency>
|
||
|
||
<!-- 微信小程序登录 -->
|
||
<dependency>
|
||
<groupId>com.github.binarywang</groupId>
|
||
<artifactId>weixin-java-miniapp</artifactId>
|
||
<version>${weixin-java-miniapp.version}</version>
|
||
</dependency>
|
||
|
||
<!-- 工作流引擎(可选扩展,只引 process 引擎,不含 CMMN/DMN) -->
|
||
<dependency>
|
||
<groupId>org.flowable</groupId>
|
||
<artifactId>flowable-spring-boot-starter-process</artifactId>
|
||
<version>${flowable.version}</version>
|
||
</dependency>
|
||
|
||
</dependencies>
|
||
|
||
<build>
|
||
<finalName>${project.artifactId}</finalName>
|
||
<plugins>
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-compiler-plugin</artifactId>
|
||
<configuration>
|
||
<!-- 先生成 Lombok 访问器,再处理对象映射和配置提示。 -->
|
||
<annotationProcessorPaths>
|
||
<path>
|
||
<groupId>org.projectlombok</groupId>
|
||
<artifactId>lombok</artifactId>
|
||
<version>${lombok.version}</version>
|
||
</path>
|
||
<path>
|
||
<groupId>org.projectlombok</groupId>
|
||
<artifactId>lombok-mapstruct-binding</artifactId>
|
||
<version>${lombok-mapstruct-binding.version}</version>
|
||
</path>
|
||
<path>
|
||
<groupId>org.mapstruct</groupId>
|
||
<artifactId>mapstruct-processor</artifactId>
|
||
<version>${mapstruct.version}</version>
|
||
</path>
|
||
<path>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-configuration-processor</artifactId>
|
||
<version>${project.parent.version}</version>
|
||
</path>
|
||
</annotationProcessorPaths>
|
||
<annotationProcessors>
|
||
<annotationProcessor>lombok.launch.AnnotationProcessorHider$AnnotationProcessor</annotationProcessor>
|
||
<annotationProcessor>org.mapstruct.ap.MappingProcessor</annotationProcessor>
|
||
<annotationProcessor>org.springframework.boot.configurationprocessor.ConfigurationMetadataAnnotationProcessor</annotationProcessor>
|
||
</annotationProcessors>
|
||
</configuration>
|
||
</plugin>
|
||
<plugin>
|
||
<groupId>org.apache.maven.plugins</groupId>
|
||
<artifactId>maven-surefire-plugin</artifactId>
|
||
<configuration>
|
||
<!-- 外部环境测试须显式指定 -DexcludedGroups=。 -->
|
||
<excludedGroups>${excludedGroups}</excludedGroups>
|
||
</configuration>
|
||
</plugin>
|
||
<plugin>
|
||
<groupId>org.springframework.boot</groupId>
|
||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||
</plugin>
|
||
</plugins>
|
||
</build>
|
||
|
||
</project>
|