ERPTurbo_Server/pom.xml
shenyifei 2ac7654203 feat(admin): 新增费用项目拖拽排序功能
- 在 CostItemController 中新增 dragCostItem 接口,支持 PATCH 和 PUT 方法
- 引入 CostItemDragCmd 参数校验和权限注解
- 实现费用项目的拖拽排序逻辑,更新 sort 字段
- 优化查询逻辑,按 sort 升序和 createdAt 降序排列
- 添加事务管理确保排序操作的原子性
- 提供计算新排序值及重置排序的方法
- 支持插入到开头、中间、末尾三种场景
- 增加间隙耗尽时的批量重置排序机制
2025-11-10 16:45:29 +08:00

420 lines
12 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.xunhong</groupId>
<artifactId>ERPTurbo</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<description>A ERP Turbo</description>
<properties>
<java.version>21</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8
</project.reporting.outputEncoding>
<java.version>21</java.version>
<spring-boot.version>3.4.5</spring-boot.version>
<spring-cloud.version>2024.0.1</spring-cloud.version>
<spring-cloud-alibaba.version>2023.0.3.3</spring-cloud-alibaba.version>
<dubbo.version>3.2.10</dubbo.version>
<cola.components.version>5.0.0</cola.components.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.4.5</version>
<relativePath/>
</parent>
<modules>
<!-- 公共业务模块 -->
<module>erp-turbo-common</module>
<!-- 鉴权 -->
<module>erp-turbo-auth</module>
<!-- 定时任务 -->
<module>erp-turbo-schedule</module>
<!-- 运营管理端 -->
<module>erp-turbo-admin</module>
<module>erp-turbo-business</module>
<module>erp-turbo-svc</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cola</groupId>
<artifactId>cola-components-bom</artifactId>
<version>${cola.components.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-bom</artifactId>
<version>1.0.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-base</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-datasource</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-job</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-rpc</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-swagger</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-cache</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-file</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-web</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-sa-token</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-limiter</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-config</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-ai</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-apm</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-logback</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-weixin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-dify</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-schedule</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-captcha</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-quartz</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-user</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-rbac</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-infra</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-facade</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-auth</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.xunhong</groupId>
<artifactId>erp-turbo-admin</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-registry-nacos</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>2.0.42</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.1.3-jre</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.5.5.Final</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.5.5.Final</version>
</dependency>
<dependency>
<groupId>cn.monitor4all</groupId>
<artifactId>log-record-springboot3-starter</artifactId>
<version>1.6.2</version>
</dependency>
<!-- sensitive -->
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>sensitive-logback</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>sensitive-core</artifactId>
<version>1.7.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.guardsquare</groupId>
<artifactId>proguard-base</artifactId>
<version>7.1.1</version>
</dependency>
<dependency>
<groupId>com.guardsquare</groupId>
<artifactId>proguard-retrace</artifactId>
<version>7.1.1</version>
</dependency>
</dependencies>
<!-- 设置 jitpack.io 插件仓库 -->
<!-- <pluginRepositories>-->
<!-- <pluginRepository>-->
<!-- <id>jitpack.io</id>-->
<!-- <url>https://jitpack.io</url>-->
<!-- </pluginRepository>-->
<!-- </pluginRepositories>-->
<!-- 添加 XJar Maven 插件 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>21</source>
<target>21</target>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.5.5.Final</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<!-- <plugin>-->
<!-- <groupId>com.github.wvengen</groupId>-->
<!-- <artifactId>proguard-maven-plugin</artifactId>-->
<!-- <version>2.6.0</version>-->
<!-- <executions>-->
<!-- &lt;!&ndash; 以下配置说明执行mvn的package命令时候会执行proguard&ndash;&gt;-->
<!-- <execution>-->
<!-- <phase>package</phase>-->
<!-- <goals>-->
<!-- <goal>proguard</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- <configuration>-->
<!-- &lt;!&ndash; 就是输入Jar的名称我们要知道代码混淆其实是将一个原始的jar生成一个混淆后的jar那么就会有输入输出。 &ndash;&gt;-->
<!-- <injar>${project.build.finalName}.jar</injar>-->
<!-- &lt;!&ndash; 输出jar名称输入输出jar同名的时候就是覆盖也是比较常用的配置。 &ndash;&gt;-->
<!-- <outjar>${project.build.finalName}.jar</outjar>-->
<!-- &lt;!&ndash; 是否混淆 默认是true &ndash;&gt;-->
<!-- <obfuscate>true</obfuscate>-->
<!-- &lt;!&ndash; 配置一个文件通常叫做proguard.cfg,该文件主要是配置options选项也就是说使用proguard.cfg那么options下的所有内容都可以移到proguard.cfg中 &ndash;&gt;-->
<!-- <proguardInclude>${project.basedir}/proguard.cfg-->
<!-- </proguardInclude>-->
<!-- &lt;!&ndash; 额外的jar包通常是项目编译所需要的jar &ndash;&gt;-->
<!-- <libs>-->
<!-- <lib>${java.home}/lib/rt.jar</lib>-->
<!-- <lib>${java.home}/lib/jce.jar</lib>-->
<!-- <lib>${java.home}/lib/jsse.jar</lib>-->
<!-- </libs>-->
<!-- &lt;!&ndash; 对输入jar进行过滤比如如下配置就是对META-INFO文件不处理。 &ndash;&gt;-->
<!-- <inLibsFilter>!META-INF/**,!META-INF/versions/9/**.class-->
<!-- </inLibsFilter>-->
<!-- &lt;!&ndash; 这是输出路径配置但是要注意这个路径必须要包括injar标签填写的jar &ndash;&gt;-->
<!-- <outputDirectory>${project.basedir}/target</outputDirectory>-->
<!-- &lt;!&ndash;这里特别重要,此处主要是配置混淆的一些细节选项,比如哪些类不需要混淆,哪些需要混淆&ndash;&gt;-->
<!-- <options>-->
<!-- &lt;!&ndash; 可以在此处写option标签配置不过我上面使用了proguardInclude故而我更喜欢在proguard.cfg中配置 &ndash;&gt;-->
<!-- </options>-->
<!-- </configuration>-->
<!-- </plugin>-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>p12</nonFilteredFileExtension>
<nonFilteredFileExtension>pem</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>*/**</include>
<!-- <include>**/*.*</include>-->
<!-- <include>**/*/*.*</include>-->
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>