중복페어 조회, 선택삭제, 파일삭제, 중복파일삭제 추가

This commit is contained in:
DanielLee
2025-12-16 18:48:30 +09:00
parent 9f0c55fd0c
commit cd21001a47
7 changed files with 189 additions and 10 deletions

View File

@@ -3,6 +3,7 @@ package com.kamco.cd.kamcoback.mapsheet;
import com.kamco.cd.kamcoback.code.dto.CommonCodeDto;
import com.kamco.cd.kamcoback.code.service.CommonCodeService;
import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
import com.kamco.cd.kamcoback.mapsheet.dto.FileDto;
import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.FilesDto;
import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.FoldersDto;
import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.SrchFilesDto;
@@ -16,6 +17,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -24,6 +26,8 @@ import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@Tag(name = "영상 관리", description = "영상 관리 API")
@RestController
@RequiredArgsConstructor
@@ -110,6 +114,27 @@ public class MapSheetMngFileCheckerApiController {
mapSheetMngFileCheckerService.deleteDuplicate(filePath, fileName));
}
// 중복 페어 조회: 특정 경로에서 같은 베이스명의 tif/tfw 후보를 반환
@Operation(summary = "중복 페어 조회", description = "경로와 베이스명으로 중복된 tif/tfw 후보 조회")
@PostMapping("/duplicates")
public ApiResponseDto<List<FileDto.Basic>> findDuplicates(
@RequestParam("targetPath") String targetPath,
@RequestParam("baseName") String baseName) {
return ApiResponseDto.createOK(
mapSheetMngFileCheckerService.findDuplicatePair(targetPath, baseName));
}
// 선택 삭제: ID 목록으로 중복 항목 삭제
public static class DeleteDuplicatesReq {
public List<Long> ids;
}
@Operation(summary = "중복 파일 선택 삭제", description = "중복 후보 중 선택한 항목만 삭제")
@DeleteMapping("/duplicates")
public ApiResponseDto<List<Long>> deleteDuplicates(@RequestBody DeleteDuplicatesReq req) {
return ApiResponseDto.createOK(mapSheetMngFileCheckerService.deleteDuplicatesByIds(req.ids));
}
/*
@Operation(summary = "지정폴더(하위폴더포함) 파일목록 조회", description = "지정폴더(하위폴더포함) 파일목록 조회")
@ApiResponses(