- 在 CostItemController 中新增 dragCostItem 接口,支持 PATCH 和 PUT 方法 - 引入 CostItemDragCmd 参数校验和权限注解 - 实现费用项目的拖拽排序逻辑,更新 sort 字段 - 优化查询逻辑,按 sort 升序和 createdAt 降序排列 - 添加事务管理确保排序操作的原子性 - 提供计算新排序值及重置排序的方法 - 支持插入到开头、中间、末尾三种场景 - 增加间隙耗尽时的批量重置排序机制
420 lines
12 KiB
XML
420 lines
12 KiB
XML
<?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>-->
|
||
<!-- <!– 以下配置说明执行mvn的package命令时候,会执行proguard–>-->
|
||
<!-- <execution>-->
|
||
<!-- <phase>package</phase>-->
|
||
<!-- <goals>-->
|
||
<!-- <goal>proguard</goal>-->
|
||
<!-- </goals>-->
|
||
<!-- </execution>-->
|
||
<!-- </executions>-->
|
||
<!-- <configuration>-->
|
||
<!-- <!– 就是输入Jar的名称,我们要知道,代码混淆其实是将一个原始的jar,生成一个混淆后的jar,那么就会有输入输出。 –>-->
|
||
<!-- <injar>${project.build.finalName}.jar</injar>-->
|
||
<!-- <!– 输出jar名称,输入输出jar同名的时候就是覆盖,也是比较常用的配置。 –>-->
|
||
<!-- <outjar>${project.build.finalName}.jar</outjar>-->
|
||
<!-- <!– 是否混淆 默认是true –>-->
|
||
<!-- <obfuscate>true</obfuscate>-->
|
||
<!-- <!– 配置一个文件,通常叫做proguard.cfg,该文件主要是配置options选项,也就是说使用proguard.cfg那么options下的所有内容都可以移到proguard.cfg中 –>-->
|
||
<!-- <proguardInclude>${project.basedir}/proguard.cfg-->
|
||
<!-- </proguardInclude>-->
|
||
<!-- <!– 额外的jar包,通常是项目编译所需要的jar –>-->
|
||
<!-- <libs>-->
|
||
<!-- <lib>${java.home}/lib/rt.jar</lib>-->
|
||
<!-- <lib>${java.home}/lib/jce.jar</lib>-->
|
||
<!-- <lib>${java.home}/lib/jsse.jar</lib>-->
|
||
<!-- </libs>-->
|
||
<!-- <!– 对输入jar进行过滤比如,如下配置就是对META-INFO文件不处理。 –>-->
|
||
<!-- <inLibsFilter>!META-INF/**,!META-INF/versions/9/**.class-->
|
||
<!-- </inLibsFilter>-->
|
||
<!-- <!– 这是输出路径配置,但是要注意这个路径必须要包括injar标签填写的jar –>-->
|
||
<!-- <outputDirectory>${project.basedir}/target</outputDirectory>-->
|
||
<!-- <!–这里特别重要,此处主要是配置混淆的一些细节选项,比如哪些类不需要混淆,哪些需要混淆–>-->
|
||
<!-- <options>-->
|
||
<!-- <!– 可以在此处写option标签配置,不过我上面使用了proguardInclude,故而我更喜欢在proguard.cfg中配置 –>-->
|
||
<!-- </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>
|