diff --git a/src/main/java/im/zhaojun/zfile/controller/admin/DriveController.java b/src/main/java/im/zhaojun/zfile/controller/admin/DriveController.java index 591254e..0a9bdf4 100644 --- a/src/main/java/im/zhaojun/zfile/controller/admin/DriveController.java +++ b/src/main/java/im/zhaojun/zfile/controller/admin/DriveController.java @@ -1,5 +1,6 @@ package im.zhaojun.zfile.controller.admin; +import com.alibaba.fastjson.JSONObject; import im.zhaojun.zfile.model.dto.DriveConfigDTO; import im.zhaojun.zfile.model.entity.DriveConfig; import im.zhaojun.zfile.model.entity.FilterConfig; @@ -122,4 +123,10 @@ public class DriveController { return ResultBean.success(); } + @PostMapping("/drive/drag") + public ResultBean saveDriveDrag(@RequestBody List driveConfigs) { + driveConfigService.saveDriveDrag(driveConfigs); + return ResultBean.success(); + } + } \ No newline at end of file diff --git a/src/main/java/im/zhaojun/zfile/repository/DriverConfigRepository.java b/src/main/java/im/zhaojun/zfile/repository/DriverConfigRepository.java index 74f373c..10bd3fe 100644 --- a/src/main/java/im/zhaojun/zfile/repository/DriverConfigRepository.java +++ b/src/main/java/im/zhaojun/zfile/repository/DriverConfigRepository.java @@ -3,6 +3,8 @@ package im.zhaojun.zfile.repository; import im.zhaojun.zfile.model.entity.DriveConfig; import im.zhaojun.zfile.model.enums.StorageTypeEnum; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; import org.springframework.stereotype.Repository; import java.util.List; @@ -23,4 +25,9 @@ public interface DriverConfigRepository extends JpaRepository findByType(StorageTypeEnum type); + + @Modifying + @Query(value="update DRIVER_CONFIG set orderNum = :orderNum where id = :id") + void updateSetOrderNumById(Integer orderNum, Integer id); + } \ No newline at end of file diff --git a/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java b/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java index 1affbf4..6835684 100644 --- a/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java +++ b/src/main/java/im/zhaojun/zfile/service/DriveConfigService.java @@ -1,5 +1,6 @@ package im.zhaojun.zfile.service; +import com.alibaba.fastjson.JSONObject; import im.zhaojun.zfile.cache.ZFileCache; import im.zhaojun.zfile.context.DriveContext; import im.zhaojun.zfile.context.StorageTypeContext; @@ -359,4 +360,16 @@ public class DriveConfigService { zFileCache.clear(driveId); } + + /** + * 交换驱动器排序 + */ + @Transactional(rollbackFor = Exception.class) + public void saveDriveDrag(List driveConfigs) { + for (int i = 0; i < driveConfigs.size(); i++) { + JSONObject item = driveConfigs.get(i); + driverConfigRepository.updateSetOrderNumById(i, item.getInteger("id")); + } + } + } \ No newline at end of file