diff --git a/src/main/java/com/kamco/cd/kamcoback/auth/CustomAuthenticationProvider.java b/src/main/java/com/kamco/cd/kamcoback/auth/CustomAuthenticationProvider.java index 0de417b1..4ab0401e 100644 --- a/src/main/java/com/kamco/cd/kamcoback/auth/CustomAuthenticationProvider.java +++ b/src/main/java/com/kamco/cd/kamcoback/auth/CustomAuthenticationProvider.java @@ -32,6 +32,11 @@ public class CustomAuthenticationProvider implements AuthenticationProvider { .findByUserId(username) .orElseThrow(() -> new CustomApiException(AuthErrorCode.LOGIN_ID_NOT_FOUND)); + // 삭제 상태 + if (member.getStatus().equals(StatusType.DELETED.getId())) { + throw new CustomApiException(AuthErrorCode.LOGIN_ID_NOT_FOUND); + } + // jBCrypt + 커스텀 salt 로 저장된 패스워드 비교 if (!BCrypt.checkpw(rawPassword, member.getPassword())) { // 실패 카운트 저장 @@ -44,11 +49,6 @@ public class CustomAuthenticationProvider implements AuthenticationProvider { throw new CustomApiException(AuthErrorCode.LOGIN_PASSWORD_MISMATCH); } - // 삭제 상태 - if (member.getStatus().equals(StatusType.DELETED.getId())) { - throw new CustomApiException(AuthErrorCode.LOGIN_ID_NOT_FOUND); - } - // 패스워드 실패 횟수 체크 if (member.getLoginFailCount() >= 5) { throw new CustomApiException(AuthErrorCode.LOGIN_PASSWORD_EXCEEDED); diff --git a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java index 781c92d7..72cda420 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/MapSheetMngApiController.java @@ -36,61 +36,61 @@ public class MapSheetMngApiController { */ @PostMapping("/error-list") public ApiResponseDto> findMapSheetErrorList( - @RequestBody @Valid MapSheetMngDto.searchReq searchReq) { + @RequestBody @Valid MapSheetMngDto.searchReq searchReq) { return ApiResponseDto.ok(mapSheetMngService.findMapSheetErrorList(searchReq)); } @Operation(summary = "영상데이터관리목록 조회", description = "영상데이터관리목록 조회") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "조회 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = CommonCodeDto.Basic.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "조회 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = CommonCodeDto.Basic.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @PostMapping("/mng-list") public ApiResponseDto> findMapSheetMngList( - @RequestBody @Valid MapSheetMngDto.searchReq searchReq) { + @RequestBody @Valid MapSheetMngDto.searchReq searchReq) { return ApiResponseDto.ok(mapSheetMngService.findMapSheetMngList(searchReq)); } @Operation(summary = "영상관리 > 데이터 등록", description = "영상관리 > 데이터 등록") @ApiResponses( - value = { - @ApiResponse( - responseCode = "201", - description = "데이터 등록 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Long.class))), - @ApiResponse(responseCode = "400", description = "잘못된 요청 데이터", content = @Content), - @ApiResponse(responseCode = "404", description = "데이터를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "201", + description = "데이터 등록 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Long.class))), + @ApiResponse(responseCode = "400", description = "잘못된 요청 데이터", content = @Content), + @ApiResponse(responseCode = "404", description = "데이터를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @PutMapping("/mng-data-save") public ApiResponseDto mngDataSave( - @RequestBody @Valid MapSheetMngDto.AddReq AddReq) { + @RequestBody @Valid MapSheetMngDto.AddReq AddReq) { return ApiResponseDto.ok(mapSheetMngService.mngDataSave(AddReq)); } @Operation(summary = "파일 업로드", description = "파일 업로드") @PostMapping(value = "/file-upload", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public ApiResponseDto uploadFile( - @RequestPart(value = "file") MultipartFile file, - @RequestParam(value = "hstUid") Long hstUid) { + @RequestPart(value = "file") MultipartFile file, + @RequestParam(value = "hstUid") Long hstUid) { return ApiResponseDto.ok(mapSheetMngService.uploadFile(file, hstUid)); } @Operation(summary = "파일 삭제", description = "파일 삭제") @PostMapping("/file-delete") public ApiResponseDto deleteFile( - @RequestBody @Valid MapSheetMngDto.DeleteFileReq req) { + @RequestBody @Valid MapSheetMngDto.DeleteFileReq req) { return ApiResponseDto.ok(mapSheetMngService.deleteFile(req)); } @@ -100,21 +100,21 @@ public class MapSheetMngApiController { */ @Operation(summary = "오류데이터 팝업 > 업로드 처리", description = "오류데이터 팝업 > 업로드 처리") @ApiResponses( - value = { - @ApiResponse( - responseCode = "201", - description = "공통코드 저장 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Long.class))), - @ApiResponse(responseCode = "400", description = "잘못된 요청 데이터", content = @Content), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "201", + description = "공통코드 저장 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Long.class))), + @ApiResponse(responseCode = "400", description = "잘못된 요청 데이터", content = @Content), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @PutMapping("/upload-process") public ApiResponseDto uploadProcess( - @RequestBody @Valid List hstUidList) { + @RequestBody @Valid List hstUidList) { return ApiResponseDto.ok(mapSheetMngService.uploadProcess(hstUidList)); } @@ -125,7 +125,7 @@ public class MapSheetMngApiController { @Operation(summary = "오류데이터 팝업 > 추론 제외", description = "오류데이터 팝업 > 추론 제외") @PutMapping("/except-inference") public ApiResponseDto updateExceptUseInference( - @RequestBody @Valid List hstUidList) { + @RequestBody @Valid List hstUidList) { return ApiResponseDto.ok(mapSheetMngService.updateExceptUseInference(hstUidList)); } } diff --git a/src/main/java/com/kamco/cd/kamcoback/mapsheet/dto/MapSheetMngDto.java b/src/main/java/com/kamco/cd/kamcoback/mapsheet/dto/MapSheetMngDto.java index ad61bbec..f21b9cdc 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/dto/MapSheetMngDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/dto/MapSheetMngDto.java @@ -42,7 +42,7 @@ public class MapSheetMngDto { String[] sortParams = sort.split(","); String property = sortParams[0]; Sort.Direction direction = - sortParams.length > 1 ? Sort.Direction.fromString(sortParams[1]) : Sort.Direction.ASC; + sortParams.length > 1 ? Sort.Direction.fromString(sortParams[1]) : Sort.Direction.ASC; return PageRequest.of(page, size, Sort.by(direction, property)); } return PageRequest.of(page, size); diff --git a/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java b/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java index 34ec4ba0..00ccf072 100644 --- a/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java +++ b/src/main/java/com/kamco/cd/kamcoback/mapsheet/service/MapSheetMngService.java @@ -83,8 +83,8 @@ public class MapSheetMngService { String lastModified = dttmFormat.format(new Date(file.lastModified())); files.add( - new FileDto.Basic( - fileName, parentFolderNm, parentPath, fullPath, ext, fileSize, lastModified)); + new FileDto.Basic( + fileName, parentFolderNm, parentPath, fullPath, ext, fileSize, lastModified)); fileTotCnt = fileTotCnt + 1; fileTotSize = fileTotSize + fileSize; @@ -120,35 +120,35 @@ public class MapSheetMngService { try (Stream stream = Files.walk(startPath, maxDepth)) { fileDtoList = - stream - .filter(Files::isRegularFile) - .filter( - p -> - extension == null - || extension.equals("") - || extension.equals("*") - || targetExtensions.contains(extractExtension(p))) - .sorted(getFileComparator(sortType)) - .skip(startPos) - .limit(limit) - .map( - path -> { - int depth = path.getNameCount(); + stream + .filter(Files::isRegularFile) + .filter( + p -> + extension == null + || extension.equals("") + || extension.equals("*") + || targetExtensions.contains(extractExtension(p))) + .sorted(getFileComparator(sortType)) + .skip(startPos) + .limit(limit) + .map( + path -> { + int depth = path.getNameCount(); - String fileNm = path.getFileName().toString(); - String ext = FilenameUtils.getExtension(fileNm); - String parentFolderNm = path.getParent().getFileName().toString(); - String parentPath = path.getParent().toString(); - String fullPath = path.toAbsolutePath().toString(); + String fileNm = path.getFileName().toString(); + String ext = FilenameUtils.getExtension(fileNm); + String parentFolderNm = path.getParent().getFileName().toString(); + String parentPath = path.getParent().toString(); + String fullPath = path.toAbsolutePath().toString(); - File file = new File(fullPath); - long fileSize = file.length(); - String lastModified = dttmFormat.format(new Date(file.lastModified())); + File file = new File(fullPath); + long fileSize = file.length(); + String lastModified = dttmFormat.format(new Date(file.lastModified())); - return new FileDto.Basic( - fileNm, parentFolderNm, parentPath, fullPath, ext, fileSize, lastModified); - }) - .collect(Collectors.toList()); + return new FileDto.Basic( + fileNm, parentFolderNm, parentPath, fullPath, ext, fileSize, lastModified); + }) + .collect(Collectors.toList()); fileTotCnt = fileDtoList.size(); fileTotSize = fileDtoList.stream().mapToLong(FileDto.Basic::getFileSize).sum(); @@ -167,10 +167,10 @@ public class MapSheetMngService { // "java, class" -> ["java", " class"] -> [".java", ".class"] return Arrays.stream(extensionString.split(",")) - .map(ext -> ext.trim()) - .filter(ext -> !ext.isEmpty()) - .map(ext -> "." + ext.toLowerCase()) - .collect(Collectors.toSet()); + .map(ext -> ext.trim()) + .filter(ext -> !ext.isEmpty()) + .map(ext -> "." + ext.toLowerCase()) + .collect(Collectors.toSet()); } public String extractExtension(Path path) { @@ -190,17 +190,17 @@ public class MapSheetMngService { // 파일 이름 비교 기본 Comparator (대소문자 무시) Comparator nameComparator = - Comparator.comparing(path -> path.getFileName().toString(), CASE_INSENSITIVE_ORDER); + Comparator.comparing(path -> path.getFileName().toString(), CASE_INSENSITIVE_ORDER); Comparator dateComparator = - Comparator.comparing( - path -> { - try { - return Files.getLastModifiedTime(path); - } catch (IOException e) { - return FileTime.fromMillis(0); - } - }); + Comparator.comparing( + path -> { + try { + return Files.getLastModifiedTime(path); + } catch (IOException e) { + return FileTime.fromMillis(0); + } + }); if ("name desc".equalsIgnoreCase(sortType)) { return nameComparator.reversed(); @@ -214,12 +214,12 @@ public class MapSheetMngService { } public Page findMapSheetErrorList( - MapSheetMngDto.@Valid searchReq searchReq) { + MapSheetMngDto.@Valid searchReq searchReq) { return mapSheetMngCoreService.findMapSheetErrorList(searchReq); } public Page findMapSheetMngList( - MapSheetMngDto.@Valid searchReq searchReq) { + MapSheetMngDto.@Valid searchReq searchReq) { return mapSheetMngCoreService.findMapSheetMngList(searchReq); } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngCoreService.java b/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngCoreService.java index d258a1aa..98607d44 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngCoreService.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/core/MapSheetMngCoreService.java @@ -34,20 +34,20 @@ public class MapSheetMngCoreService { private String activeEnv; public Page findMapSheetErrorList( - MapSheetMngDto.@Valid searchReq searchReq) { + MapSheetMngDto.@Valid searchReq searchReq) { return mapSheetMngRepository.findMapSheetErrorList(searchReq); } public Page findMapSheetMngList( - MapSheetMngDto.@Valid searchReq searchReq) { + MapSheetMngDto.@Valid searchReq searchReq) { return mapSheetMngRepository.findMapSheetMngList(searchReq); } public MapSheetMngDto.DmlReturn uploadFile(MultipartFile file, Long hstUid) { MapSheetMngHstEntity entity = - mapSheetMngRepository - .findMapSheetMngHstInfo(hstUid) - .orElseThrow(() -> new EntityNotFoundException("해당 이력이 존재하지 않습니다.")); + mapSheetMngRepository + .findMapSheetMngHstInfo(hstUid) + .orElseThrow(() -> new EntityNotFoundException("해당 이력이 존재하지 않습니다.")); String localPath = ""; String rootDir = ORIGINAL_IMAGES_PATH + "/" + entity.getMngYyyy(); @@ -92,10 +92,10 @@ public class MapSheetMngCoreService { if (!Objects.isNull(hstUidList) && !hstUidList.isEmpty()) { for (Long hstUid : hstUidList) { Optional entity = - Optional.ofNullable( - mapSheetMngRepository - .findMapSheetMngHstInfo(hstUid) - .orElseThrow(EntityNotFoundException::new)); + Optional.ofNullable( + mapSheetMngRepository + .findMapSheetMngHstInfo(hstUid) + .orElseThrow(EntityNotFoundException::new)); // TODO: local TEST 시 각자 경로 수정하기 // TODO: application.yml 에 active profile : local 로 임시 변경하여 테스트 @@ -127,10 +127,10 @@ public class MapSheetMngCoreService { if (!Objects.isNull(hstUidList) && !hstUidList.isEmpty()) { for (Long hstUid : hstUidList) { Optional entity = - Optional.ofNullable( - mapSheetMngRepository - .findMapSheetMngHstInfo(hstUid) - .orElseThrow(EntityNotFoundException::new)); + Optional.ofNullable( + mapSheetMngRepository + .findMapSheetMngHstInfo(hstUid) + .orElseThrow(EntityNotFoundException::new)); // entity.get().updateUseInference(true); } @@ -151,10 +151,10 @@ public class MapSheetMngCoreService { // 모든 파일명을 Set으로 저장 Set fileNames = - paths - .filter(Files::isRegularFile) - .map(p -> p.getFileName().toString()) - .collect(Collectors.toSet()); + paths + .filter(Files::isRegularFile) + .map(p -> p.getFileName().toString()) + .collect(Collectors.toSet()); // 모든 확장자 파일 존재 여부 확인 for (String ext : extensions) {