From a4631ec8581a0f352f384ecfd49878da6f241f82 Mon Sep 17 00:00:00 2001 From: happyjamy <78072370+happyjamy@users.noreply.github.com> Date: Mon, 26 Feb 2024 14:22:36 +0900 Subject: [PATCH] =?UTF-8?q?[FIX]=20=EB=A7=A4=EC=B9=AD=20=EC=83=81=ED=83=9C?= =?UTF-8?q?=EC=9D=BC=EB=95=8C=20=ED=94=84=EB=A1=9C=EC=A0=9D=ED=8A=B8=20?= =?UTF-8?q?=EC=B7=A8=EC=86=8C=20=ED=95=98=EC=A7=80=20=EB=AA=BB=ED=95=98?= =?UTF-8?q?=EA=B2=8C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../swagger/error/SwaggerProjectErrorExamples.java | 2 +- .../mogakgo/domain/project/application/ProjectService.java | 3 ++- .../oeid/mogakgo/domain/project/domain/entity/Project.java | 2 +- .../domain/project/domain/entity/enums/ProjectStatus.java | 7 ++++--- .../java/io/oeid/mogakgo/exception/code/ErrorCode400.java | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/io/oeid/mogakgo/core/properties/swagger/error/SwaggerProjectErrorExamples.java b/src/main/java/io/oeid/mogakgo/core/properties/swagger/error/SwaggerProjectErrorExamples.java index f57426ef..ef31cf1b 100644 --- a/src/main/java/io/oeid/mogakgo/core/properties/swagger/error/SwaggerProjectErrorExamples.java +++ b/src/main/java/io/oeid/mogakgo/core/properties/swagger/error/SwaggerProjectErrorExamples.java @@ -10,7 +10,7 @@ public class SwaggerProjectErrorExamples { public static final String PROJECT_NOT_FOUND = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":404,\"code\":\"E030301\",\"message\":\"해당 프로젝트가 존재하지 않습니다.\"}"; public static final String PROJECT_FORBIDDEN_OPERATION = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":403,\"code\":\"E030201\",\"message\":\"해당 프로젝트에 대한 권한이 없습니다.\"}"; public static final String PROJECT_DELETION_NOT_ALLOWED = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E030106\",\"message\":\"매칭 중이거나 대기중인 프로젝트는 삭제할 수 없습니다.\"}"; - public static final String PROJECT_CANCEL_NOT_ALLOWED = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E030107\",\"message\":\"이미 취소 되었거나 종료된 프로젝트는 취소할 수 없습니다.\"}"; + public static final String PROJECT_CANCEL_NOT_ALLOWED = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E030107\",\"message\":\"진행중인 프로젝트만 취소 할 수 있습니다.\"}"; public static final String PROJECT_JOIN_REQUEST_FORBIDDEN_OPERATION = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":403,\"code\":\"E050201\",\"message\":\"해당 프로젝트 요청에 대한 권한이 없습니다.\"}"; public static final String INVALID_MATCHING_USER_TO_CREATE_PROJECT = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E030108\",\"message\":\"매칭이 진행 중인 유저는 프로젝트 생성을 할 수 없습니다.\"}"; public static final String ALREADY_EXIST_PROGRESS_PROJECT = "{\"timestamp\":\"2024-02-17T10:07:31.404Z\",\"statusCode\":400,\"code\":\"E030109\",\"message\":\"종료되지 않은 프로젝트 카드가 있으면 프로젝트 생성을 할 수 없습니다.\"}"; diff --git a/src/main/java/io/oeid/mogakgo/domain/project/application/ProjectService.java b/src/main/java/io/oeid/mogakgo/domain/project/application/ProjectService.java index 99ff0832..8adb4acf 100644 --- a/src/main/java/io/oeid/mogakgo/domain/project/application/ProjectService.java +++ b/src/main/java/io/oeid/mogakgo/domain/project/application/ProjectService.java @@ -96,7 +96,8 @@ public void cancel(Long userId, Long projectId) { // 프로젝트 존재 여부 체크 Project project = getProject(projectId); - // 매칭이 되었거나, 매칭 준비중이지만 요청이 있을때는 잔디력 감소를 위한 변수 + // TODO: 순서를 취소 밑으로 내릴 것인가, 쿼리 변경 할것인가 + // 매칭 준비중이지만 요청이 있을때는 잔디력 감소를 위한 변수 boolean projectHasReq = projectJoinRequestJpaRepository.existsByProjectId(projectId); // 프로젝트 취소 diff --git a/src/main/java/io/oeid/mogakgo/domain/project/domain/entity/Project.java b/src/main/java/io/oeid/mogakgo/domain/project/domain/entity/Project.java index 88ce5cfb..0fa3b11e 100644 --- a/src/main/java/io/oeid/mogakgo/domain/project/domain/entity/Project.java +++ b/src/main/java/io/oeid/mogakgo/domain/project/domain/entity/Project.java @@ -99,7 +99,7 @@ public void delete(User tokenUser) { public void cancel(User tokenUser, boolean projectHasReq) { validateAvailableCancel(tokenUser); - // 매칭이 되었거나, 매칭 준비중이지만 요청이 있을때는 잔디력 감소 + // 매칭 준비중이지만 요청이 있을때는 잔디력 감소 if (projectHasReq) { this.creator.decreaseJandiRate(); } diff --git a/src/main/java/io/oeid/mogakgo/domain/project/domain/entity/enums/ProjectStatus.java b/src/main/java/io/oeid/mogakgo/domain/project/domain/entity/enums/ProjectStatus.java index ac71bb01..390b2b7b 100644 --- a/src/main/java/io/oeid/mogakgo/domain/project/domain/entity/enums/ProjectStatus.java +++ b/src/main/java/io/oeid/mogakgo/domain/project/domain/entity/enums/ProjectStatus.java @@ -1,9 +1,9 @@ package io.oeid.mogakgo.domain.project.domain.entity.enums; +import static io.oeid.mogakgo.exception.code.ErrorCode400.INVALID_PROJECT_STATUS_TO_ACCEPT; import static io.oeid.mogakgo.exception.code.ErrorCode400.INVALID_PROJECT_STATUS_TO_FINISH; import static io.oeid.mogakgo.exception.code.ErrorCode400.PROJECT_CANCEL_NOT_ALLOWED; import static io.oeid.mogakgo.exception.code.ErrorCode400.PROJECT_DELETION_NOT_ALLOWED; -import static io.oeid.mogakgo.exception.code.ErrorCode400.INVALID_PROJECT_STATUS_TO_ACCEPT; import io.oeid.mogakgo.domain.project.exception.ProjectException; import io.oeid.mogakgo.domain.project_join_req.exception.ProjectJoinRequestException; @@ -29,9 +29,10 @@ public void validateAvailableDelete() { } public void validateAvailableCancel() { - if (this == CANCELED || this == FINISHED) { - throw new ProjectException(PROJECT_CANCEL_NOT_ALLOWED); + if (this == PENDING) { + return; } + throw new ProjectException(PROJECT_CANCEL_NOT_ALLOWED); } public void validateAvailableMatched() { diff --git a/src/main/java/io/oeid/mogakgo/exception/code/ErrorCode400.java b/src/main/java/io/oeid/mogakgo/exception/code/ErrorCode400.java index 1b65c942..0b9ccbb0 100644 --- a/src/main/java/io/oeid/mogakgo/exception/code/ErrorCode400.java +++ b/src/main/java/io/oeid/mogakgo/exception/code/ErrorCode400.java @@ -19,7 +19,7 @@ public enum ErrorCode400 implements ErrorCode { INVALID_PROJECT_NULL_DATA("E030104", "프로젝트를 생성하기 위해 null 이여서는 안되는 데이터가 null 입니다."), NOT_MATCH_MEET_LOCATION("E030105", "프로젝트 만남 장소가 유저가 동네인증 한 구역이 아닙니다."), PROJECT_DELETION_NOT_ALLOWED("E030106", "매칭 중이거나 대기중인 프로젝트는 삭제할 수 없습니다."), - PROJECT_CANCEL_NOT_ALLOWED("E030107", "이미 취소 되었거나 종료된 프로젝트는 취소할 수 없습니다."), + PROJECT_CANCEL_NOT_ALLOWED("E030107", "진행 중인 프로젝트만 취소할 수 있습니다."), INVALID_MATCHING_USER_TO_CREATE_PROJECT("E030108", "매칭이 진행 중인 유저는 프로젝트 생성을 할 수 없습니다."), ALREADY_EXIST_PROGRESS_PROJECT("E030109", "종료되지 않은 프로젝트 카드가 있으면 프로젝트 생성을 할 수 없습니다."), INVALID_PROJECT_STATUS_TO_FINISH("E030110", "매칭이 진행 중인 프로젝트가 아니여서 프로젝트를 종료할 수 없습니다."),