From d0d8ee84ac76aa5fbe7e746e1529dd138cf19932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B8=EC=A4=80?= <74056843+sejoon00@users.noreply.github.com> Date: Sun, 30 Mar 2025 15:24:14 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[hotfix]=20softdelete=20hibernate=206?= =?UTF-8?q?=EB=A1=9C=20=EA=B5=90=EC=B2=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/mapper/ChildProblemMapperImpl.java | 2 +- .../problem/service/mapper/ProblemMapperImpl.java | 2 +- .../domain/problemset/domain/QProblemSet.java | 2 -- .../admin/publish/domain/Publish.java | 2 ++ .../problem/domain/childProblem/ChildProblem.java | 2 ++ .../domain/problem/domain/problem/Problem.java | 2 ++ .../domain/problemset/domain/ProblemSet.java | 11 +++-------- .../repository/ProblemSetRepository.java | 6 ------ .../service/ProblemSetDeleteService.java | 1 - .../problemset/service/ProblemSetGetService.java | 6 +----- .../service/ProblemSetUpdateService.java | 14 ++++---------- 11 files changed, 16 insertions(+), 34 deletions(-) diff --git a/src/main/generated/com/moplus/moplus_server/domain/problem/service/mapper/ChildProblemMapperImpl.java b/src/main/generated/com/moplus/moplus_server/domain/problem/service/mapper/ChildProblemMapperImpl.java index 7b1bd0c8..c795bb15 100644 --- a/src/main/generated/com/moplus/moplus_server/domain/problem/service/mapper/ChildProblemMapperImpl.java +++ b/src/main/generated/com/moplus/moplus_server/domain/problem/service/mapper/ChildProblemMapperImpl.java @@ -11,7 +11,7 @@ @Generated( value = "org.mapstruct.ap.MappingProcessor", - date = "2025-03-24T01:02:22+0900", + date = "2025-03-30T15:17:55+0900", comments = "version: 1.6.3, compiler: javac, environment: Java 17.0.10 (JetBrains s.r.o.)" ) @Component diff --git a/src/main/generated/com/moplus/moplus_server/domain/problem/service/mapper/ProblemMapperImpl.java b/src/main/generated/com/moplus/moplus_server/domain/problem/service/mapper/ProblemMapperImpl.java index 6992d6a4..58727a98 100644 --- a/src/main/generated/com/moplus/moplus_server/domain/problem/service/mapper/ProblemMapperImpl.java +++ b/src/main/generated/com/moplus/moplus_server/domain/problem/service/mapper/ProblemMapperImpl.java @@ -15,7 +15,7 @@ @Generated( value = "org.mapstruct.ap.MappingProcessor", - date = "2025-03-24T01:02:22+0900", + date = "2025-03-30T15:17:55+0900", comments = "version: 1.6.3, compiler: javac, environment: Java 17.0.10 (JetBrains s.r.o.)" ) @Component diff --git a/src/main/generated/com/moplus/moplus_server/domain/problemset/domain/QProblemSet.java b/src/main/generated/com/moplus/moplus_server/domain/problemset/domain/QProblemSet.java index dc1cf581..fb79798e 100644 --- a/src/main/generated/com/moplus/moplus_server/domain/problemset/domain/QProblemSet.java +++ b/src/main/generated/com/moplus/moplus_server/domain/problemset/domain/QProblemSet.java @@ -31,8 +31,6 @@ public class QProblemSet extends EntityPathBase { public final NumberPath id = createNumber("id", Long.class); - public final BooleanPath isDeleted = createBoolean("isDeleted"); - public final ListPath> problemIds = this.>createList("problemIds", Long.class, NumberPath.class, PathInits.DIRECT2); public final QTitle title; diff --git a/src/main/java/com/moplus/moplus_server/admin/publish/domain/Publish.java b/src/main/java/com/moplus/moplus_server/admin/publish/domain/Publish.java index 5a60f3e5..db528812 100644 --- a/src/main/java/com/moplus/moplus_server/admin/publish/domain/Publish.java +++ b/src/main/java/com/moplus/moplus_server/admin/publish/domain/Publish.java @@ -13,9 +13,11 @@ import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; +import org.hibernate.annotations.SoftDelete; @Getter @Entity +@SoftDelete @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Publish extends BaseEntity { diff --git a/src/main/java/com/moplus/moplus_server/domain/problem/domain/childProblem/ChildProblem.java b/src/main/java/com/moplus/moplus_server/domain/problem/domain/childProblem/ChildProblem.java index df5f090a..45e831c4 100644 --- a/src/main/java/com/moplus/moplus_server/domain/problem/domain/childProblem/ChildProblem.java +++ b/src/main/java/com/moplus/moplus_server/domain/problem/domain/childProblem/ChildProblem.java @@ -25,9 +25,11 @@ import lombok.Getter; import lombok.NoArgsConstructor; import org.hibernate.annotations.BatchSize; +import org.hibernate.annotations.SoftDelete; @Getter @Entity +@SoftDelete @NoArgsConstructor(access = AccessLevel.PROTECTED) public class ChildProblem extends BaseEntity { diff --git a/src/main/java/com/moplus/moplus_server/domain/problem/domain/problem/Problem.java b/src/main/java/com/moplus/moplus_server/domain/problem/domain/problem/Problem.java index c0cca478..6e552ad2 100644 --- a/src/main/java/com/moplus/moplus_server/domain/problem/domain/problem/Problem.java +++ b/src/main/java/com/moplus/moplus_server/domain/problem/domain/problem/Problem.java @@ -31,9 +31,11 @@ import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; +import org.hibernate.annotations.SoftDelete; @Getter @Entity +@SoftDelete @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Problem extends BaseEntity { diff --git a/src/main/java/com/moplus/moplus_server/domain/problemset/domain/ProblemSet.java b/src/main/java/com/moplus/moplus_server/domain/problemset/domain/ProblemSet.java index 8f8a4667..db6e8795 100644 --- a/src/main/java/com/moplus/moplus_server/domain/problemset/domain/ProblemSet.java +++ b/src/main/java/com/moplus/moplus_server/domain/problemset/domain/ProblemSet.java @@ -23,10 +23,12 @@ import lombok.Builder; import lombok.Getter; import lombok.NoArgsConstructor; +import org.hibernate.annotations.SoftDelete; @Getter @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) +@SoftDelete public class ProblemSet extends BaseEntity { @Id @@ -37,9 +39,6 @@ public class ProblemSet extends BaseEntity { @Embedded private Title title; - @Column(nullable = false) - private boolean isDeleted; - @Enumerated(EnumType.STRING) @Column(nullable = false) private ProblemSetConfirmStatus confirmStatus; @@ -53,7 +52,6 @@ public class ProblemSet extends BaseEntity { @Builder public ProblemSet(String title, List problemIds) { this.title = new Title(title); - this.isDeleted = false; this.confirmStatus = ProblemSetConfirmStatus.NOT_CONFIRMED; this.problemIds = problemIds; } @@ -69,10 +67,6 @@ public void updateProblemOrder(List newProblems) { this.problemIds = new ArrayList<>(newProblems); } - public void deleteProblemSet() { - this.isDeleted = true; - } - public void toggleConfirm(List problems) { if (this.confirmStatus == ProblemSetConfirmStatus.NOT_CONFIRMED) { if (problems.isEmpty()) { @@ -111,4 +105,5 @@ public boolean isProblemsChanged(List newProblems) { } return false; } + } diff --git a/src/main/java/com/moplus/moplus_server/domain/problemset/repository/ProblemSetRepository.java b/src/main/java/com/moplus/moplus_server/domain/problemset/repository/ProblemSetRepository.java index b48961e5..c1a61111 100644 --- a/src/main/java/com/moplus/moplus_server/domain/problemset/repository/ProblemSetRepository.java +++ b/src/main/java/com/moplus/moplus_server/domain/problemset/repository/ProblemSetRepository.java @@ -3,7 +3,6 @@ import com.moplus.moplus_server.domain.problemset.domain.ProblemSet; import com.moplus.moplus_server.domain.problemset.domain.ProblemSetConfirmStatus; import com.moplus.moplus_server.global.error.exception.ErrorCode; -import com.moplus.moplus_server.global.error.exception.InvalidValueException; import com.moplus.moplus_server.global.error.exception.NotFoundException; import org.springframework.data.jpa.repository.JpaRepository; @@ -16,11 +15,6 @@ default ProblemSet findByIdElseThrow(Long problemSetId) { default void validatePublishableProblemSet(Long problemSetId) { ProblemSet problemSet = findByIdElseThrow(problemSetId); - //이거 soft delete 어노테이션으로 자동화 해야함(리팩토링 필요) - if (problemSet.isDeleted()) { - throw new InvalidValueException(ErrorCode.PROBLEM_SET_DELETED); - } - if (!ProblemSetConfirmStatus.CONFIRMED.equals(problemSet.getConfirmStatus())) { throw new NotFoundException(ErrorCode.PROBLEM_SET_NOT_CONFIRMED); } diff --git a/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetDeleteService.java b/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetDeleteService.java index 830d751e..80fe7405 100644 --- a/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetDeleteService.java +++ b/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetDeleteService.java @@ -15,7 +15,6 @@ public class ProblemSetDeleteService { @Transactional public void deleteProblemSet(Long problemSetId) { ProblemSet problemSet = problemSetRepository.findByIdElseThrow(problemSetId); - problemSet.deleteProblemSet(); } } \ No newline at end of file diff --git a/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetGetService.java b/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetGetService.java index 8d7791b3..91d5392e 100644 --- a/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetGetService.java +++ b/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetGetService.java @@ -10,8 +10,6 @@ import com.moplus.moplus_server.domain.problemset.domain.ProblemSet; import com.moplus.moplus_server.domain.problemset.repository.ProblemSetRepository; import com.moplus.moplus_server.domain.publish.repository.PublishRepository; -import com.moplus.moplus_server.global.error.exception.BusinessException; -import com.moplus.moplus_server.global.error.exception.ErrorCode; import java.time.LocalDate; import java.util.ArrayList; import java.util.HashSet; @@ -33,9 +31,7 @@ public class ProblemSetGetService { @Transactional(readOnly = true) public ProblemSetGetResponse getProblemSet(Long problemSetId) { ProblemSet problemSet = problemSetRepository.findByIdElseThrow(problemSetId); - if (problemSet.isDeleted()) { - throw new BusinessException(ErrorCode.DELETE_PROBLEM_SET_GET_ERROR); - } + List publishedDates = publishRepository.findByProblemSetId(problemSetId).stream() .map(Publish::getPublishedDate) .toList(); diff --git a/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetUpdateService.java b/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetUpdateService.java index 4642d5b7..c9d4fc82 100644 --- a/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetUpdateService.java +++ b/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetUpdateService.java @@ -1,15 +1,14 @@ package com.moplus.moplus_server.domain.problemset.service; +import com.moplus.moplus_server.admin.problemset.dto.request.ProblemReorderRequest; +import com.moplus.moplus_server.admin.problemset.dto.request.ProblemSetUpdateRequest; +import com.moplus.moplus_server.admin.publish.domain.Publish; import com.moplus.moplus_server.domain.problem.domain.problem.Problem; import com.moplus.moplus_server.domain.problem.repository.ProblemRepository; import com.moplus.moplus_server.domain.problemset.domain.ProblemSet; import com.moplus.moplus_server.domain.problemset.domain.ProblemSetConfirmStatus; -import com.moplus.moplus_server.admin.problemset.dto.request.ProblemReorderRequest; -import com.moplus.moplus_server.admin.problemset.dto.request.ProblemSetUpdateRequest; import com.moplus.moplus_server.domain.problemset.repository.ProblemSetRepository; -import com.moplus.moplus_server.admin.publish.domain.Publish; import com.moplus.moplus_server.domain.publish.repository.PublishRepository; -import com.moplus.moplus_server.global.error.exception.BusinessException; import com.moplus.moplus_server.global.error.exception.ErrorCode; import com.moplus.moplus_server.global.error.exception.InvalidValueException; import java.util.ArrayList; @@ -39,9 +38,6 @@ public void reorderProblems(Long problemSetId, ProblemReorderRequest request) { @Transactional public void updateProblemSet(Long problemSetId, ProblemSetUpdateRequest request) { ProblemSet problemSet = problemSetRepository.findByIdElseThrow(problemSetId); - if (problemSet.isDeleted()) { - throw new BusinessException(ErrorCode.DELETE_PROBLEM_SET_UPDATE_ERROR); - } if (problemSet.isConfirmed() && problemSet.isProblemsChanged(request.problemIds())) { throw new InvalidValueException(ErrorCode.CONFIRMED_PROBLEM_SET_UPDATE_ERROR); @@ -59,9 +55,7 @@ public void updateProblemSet(Long problemSetId, ProblemSetUpdateRequest request) @Transactional public ProblemSetConfirmStatus toggleConfirmProblemSet(Long problemSetId) { ProblemSet problemSet = problemSetRepository.findByIdElseThrow(problemSetId); - if (problemSet.isDeleted()) { - throw new BusinessException(ErrorCode.DELETE_PROBLEM_SET_TOGGLE_ERROR); - } + List publishes = publishRepository.findByProblemSetId(problemSetId); if (!publishes.isEmpty()) { throw new InvalidValueException(ErrorCode.ALREADY_PUBLISHED_ERROR); From 3cd3d02628bd90d6a11619e19873ce0765ff83ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B8=EC=A4=80?= <74056843+sejoon00@users.noreply.github.com> Date: Sun, 30 Mar 2025 15:35:52 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[hotfix]=20softdelete=20hibernate=206?= =?UTF-8?q?=EB=A1=9C=20=EA=B5=90=EC=B2=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProblemSetSearchRepositoryCustom.java | 2 -- src/test/resources/insert-problem-set.sql | 4 +-- src/test/resources/insert-problem-set2.sql | 2 +- src/test/resources/insert-problem.sql | 17 ++++++----- src/test/resources/insert-problem2.sql | 30 +++++++++++-------- 5 files changed, 30 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/moplus/moplus_server/domain/problemset/repository/ProblemSetSearchRepositoryCustom.java b/src/main/java/com/moplus/moplus_server/domain/problemset/repository/ProblemSetSearchRepositoryCustom.java index 7abd8a2e..38ef5343 100644 --- a/src/main/java/com/moplus/moplus_server/domain/problemset/repository/ProblemSetSearchRepositoryCustom.java +++ b/src/main/java/com/moplus/moplus_server/domain/problemset/repository/ProblemSetSearchRepositoryCustom.java @@ -25,7 +25,6 @@ public List search(String problemSetTitle, String p .from(problemSet) .leftJoin(problem).on(problem.id.in(problemSet.problemIds)) // 문제 세트 내 포함된 문항과 조인 .where( - problemSet.isDeleted.isFalse(), containsProblemSetTitle(problemSetTitle), containsProblemTitle(problemTitle) ) @@ -51,7 +50,6 @@ public List confirmSearch(String problemSetTitle, S .from(problemSet) .leftJoin(problem).on(problem.id.in(problemSet.problemIds)) // 문제 세트 내 포함된 문항과 조인 .where( - problemSet.isDeleted.isFalse(), problemSet.confirmStatus.eq(CONFIRMED), containsProblemSetTitle(problemSetTitle), containsProblemTitle(problemTitle) diff --git a/src/test/resources/insert-problem-set.sql b/src/test/resources/insert-problem-set.sql index ffca03ed..ace9d0c5 100644 --- a/src/test/resources/insert-problem-set.sql +++ b/src/test/resources/insert-problem-set.sql @@ -4,9 +4,9 @@ DELETE FROM problem_set; -- 문제 세트 추가 -INSERT INTO problem_set (problem_set_id, title, is_deleted, confirm_status) +INSERT INTO problem_set (problem_set_id, title, deleted, confirm_status) VALUES (1, '2025년 5월 고2 모의고사 문제 세트', false, 'NOT_CONFIRMED'); -INSERT INTO problem_set (problem_set_id, title, is_deleted, confirm_status) +INSERT INTO problem_set (problem_set_id, title, deleted, confirm_status) VALUES (2, '2025년 5월 고3 모의고사 문제 세트', false, 'CONFIRMED'); -- 문제 세트에 포함된 문제 추가 diff --git a/src/test/resources/insert-problem-set2.sql b/src/test/resources/insert-problem-set2.sql index ee87ce3a..a2ca0644 100644 --- a/src/test/resources/insert-problem-set2.sql +++ b/src/test/resources/insert-problem-set2.sql @@ -2,7 +2,7 @@ DELETE FROM problem_set_problems; DELETE FROM problem_set; -- 문제 세트 추가 -INSERT INTO problem_set (problem_set_id, title, is_deleted, confirm_status) +INSERT INTO problem_set (problem_set_id, title, deleted, confirm_status) VALUES (1, '2025년 5월 고2 모의고사 문제 세트', false, 'CONFIRMED'); -- 문제 세트에 포함된 문제 추가 diff --git a/src/test/resources/insert-problem.sql b/src/test/resources/insert-problem.sql index 1e8006c4..a5dc8d4b 100644 --- a/src/test/resources/insert-problem.sql +++ b/src/test/resources/insert-problem.sql @@ -21,13 +21,14 @@ INSERT INTO problem (problem_id, answer_type, is_confirmed, recommended_minute, - recommended_second) + recommended_second, + deleted) VALUES (1, '1224052001', 1, 1, 'GICHUL_PROBLEM', '제목1', '1', 5, '기존 문제 설명 1', 'mainProblem.png1', 'mainAnalysis.png1', 'readingTip.png1', 'seniorTip.png1', - 'prescription.png1', 'MULTIPLE_CHOICE', false, 30, 45), + 'prescription.png1', 'MULTIPLE_CHOICE', false, 30, 45, false), (2, '1224052002', 1, 1, 'GICHUL_PROBLEM', '제목2', '1', 5, '기존 문제 설명 2', 'mainProblem.png2', 'mainAnalysis.png2', 'readingTip.png2', 'seniorTip.png2', - 'prescription.png2', 'MULTIPLE_CHOICE', false, 25, 30); + 'prescription.png2', 'MULTIPLE_CHOICE', false, 25, 30, false); -- 자식 문제 테이블 생성 CREATE TABLE IF NOT EXISTS child_problem ( @@ -36,7 +37,8 @@ CREATE TABLE IF NOT EXISTS child_problem ( image_url VARCHAR(255), answer_type VARCHAR(50), answer VARCHAR(255), - sequence INT + sequence INT, + deleted BOOLEAN ); -- 자식 문제 데이터 삽입 @@ -45,9 +47,10 @@ INSERT INTO child_problem (child_problem_id, image_url, answer_type, answer, - sequence) -VALUES (1, 1, 'child1.png', 'MULTIPLE_CHOICE', '1', 0), - (2, 1, 'child2.png', 'SHORT_ANSWER', '정답2', 1); + sequence, + deleted) +VALUES (1, 1, 'child1.png', 'MULTIPLE_CHOICE', '1', 0, false), + (2, 1, 'child2.png', 'SHORT_ANSWER', '정답2', 1, false); -- 문제-컨셉 태그 연결 테이블 생성 CREATE TABLE IF NOT EXISTS problem_concept ( diff --git a/src/test/resources/insert-problem2.sql b/src/test/resources/insert-problem2.sql index 550bcc76..f755e84e 100644 --- a/src/test/resources/insert-problem2.sql +++ b/src/test/resources/insert-problem2.sql @@ -26,21 +26,22 @@ INSERT INTO problem (problem_id, answer_type, is_confirmed, recommended_minute, - recommended_second) + recommended_second, + deleted) VALUES (1, '24052001001', 1, 1, 'GICHUL_PROBLEM', '제목1', '1', 5, '기존 문제 설명', 'mainProblem.png', 'mainAnalysis.png', 'mainHandwriting1.png', 'readingTip.png', 'seniorTip.png', 'prescription1.png, prescription2.png', 'MULTIPLE_CHOICE', false, - 30, 0), + 30, 0, false), (2, '24052001002', 1, 2, 'GICHUL_PROBLEM', '제목2', '2', 4, '문제 2 설명', 'mainProblem2.png', 'mainAnalysis2.png', 'mainHandwriting2.png', 'readingTip2.png', 'seniorTip2.png', 'prescription3.png, prescription4.png', 'MULTIPLE_CHOICE', false, - 20, 30), + 20, 30, false), (3, '24052001003', 1, 3, 'GICHUL_PROBLEM', '제목3', '3', 3, '문제 3 설명', 'mainProblem3.png', 'mainAnalysis3.png', 'mainHandwriting3.png', 'readingTip3.png', 'seniorTip3.png', 'prescription5.png, prescription6.png', 'SHORT_ANSWER', true, - 15, 45); + 15, 45, false); -- 자식 문제 데이터 삽입 INSERT INTO child_problem (child_problem_id, @@ -49,11 +50,12 @@ INSERT INTO child_problem (child_problem_id, answer_type, answer, sequence, - prescription_image_urls) -VALUES (1, 1, 'child1.png', 'MULTIPLE_CHOICE', '1', 0, 'child1_prescription1.png, child1_prescription2.png'), - (2, 1, 'child2.png', 'SHORT_ANSWER', '정답2', 1, 'child2_prescription1.png, child2_prescription2.png'), - (3, 2, 'child3.png', 'MULTIPLE_CHOICE', '2', 0, 'child3_prescription1.png, child3_prescription2.png'), - (4, 3, 'child4.png', 'SHORT_ANSWER', '3', 0, 'child4_prescription1.png, child4_prescription2.png'); + prescription_image_urls, + deleted) +VALUES (1, 1, 'child1.png', 'MULTIPLE_CHOICE', '1', 0, 'child1_prescription1.png, child1_prescription2.png', false), + (2, 1, 'child2.png', 'SHORT_ANSWER', '정답2', 1, 'child2_prescription1.png, child2_prescription2.png', false), + (3, 2, 'child3.png', 'MULTIPLE_CHOICE', '2', 0, 'child3_prescription1.png, child3_prescription2.png', false), + (4, 3, 'child4.png', 'SHORT_ANSWER', '3', 0, 'child4_prescription1.png, child4_prescription2.png', false); -- 문제-컨셉 태그 연결 INSERT INTO problem_concept (problem_id, concept_tag_id) @@ -94,11 +96,12 @@ INSERT INTO problem (problem_id, answer_type, is_confirmed, recommended_minute, - recommended_second) + recommended_second, + deleted) VALUES (4, '24052001004', 1, 4, 'GICHUL_PROBLEM', '제목4', '4', 1, '유효한 문제로 수정', 'mainProblem4.png', 'mainAnalysis4.png', 'mainHandwriting4.png', 'readingTip4.png', 'seniorTip4.png', 'prescription7.png, prescription8.png', 'MULTIPLE_CHOICE', false, - 20, 0); + 20, 0, false); -- problem 4에 대한 자식 문제 추가 INSERT INTO child_problem (child_problem_id, @@ -106,8 +109,9 @@ INSERT INTO child_problem (child_problem_id, image_url, answer_type, answer, - sequence) -VALUES (5, 4, 'child5.png', 'MULTIPLE_CHOICE', '4', 0); + sequence, + deleted) +VALUES (5, 4, 'child5.png', 'MULTIPLE_CHOICE', '4', 0, false); -- problem 4와 자식 문제에 대한 컨셉 태그 추가 INSERT INTO problem_concept (problem_id, concept_tag_id) From da93a7693b52289ace4c92eda9f7310f14e5f6ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B8=EC=A4=80?= <74056843+sejoon00@users.noreply.github.com> Date: Sun, 30 Mar 2025 16:00:11 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[hotfix]=20=EA=B8=B0=EC=B6=9C=20=EB=AC=B8?= =?UTF-8?q?=ED=95=AD=EC=97=90=20=EB=AA=A8=EC=9D=98=EA=B3=A0=EC=82=AC,=20?= =?UTF-8?q?=EB=B2=88=ED=98=B8=20=EC=95=88=EB=9C=A8=EB=8A=94=20=EC=9D=B4?= =?UTF-8?q?=EC=8A=88=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/problem/service/ProblemSaveService.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/moplus/moplus_server/domain/problem/service/ProblemSaveService.java b/src/main/java/com/moplus/moplus_server/domain/problem/service/ProblemSaveService.java index 0cbc11d8..e55eb31b 100644 --- a/src/main/java/com/moplus/moplus_server/domain/problem/service/ProblemSaveService.java +++ b/src/main/java/com/moplus/moplus_server/domain/problem/service/ProblemSaveService.java @@ -1,12 +1,11 @@ package com.moplus.moplus_server.domain.problem.service; +import com.moplus.moplus_server.admin.problem.dto.request.ProblemPostRequest; +import com.moplus.moplus_server.admin.problem.dto.response.ProblemPostResponse; import com.moplus.moplus_server.domain.problem.domain.practiceTest.PracticeTestTag; import com.moplus.moplus_server.domain.problem.domain.problem.Problem; import com.moplus.moplus_server.domain.problem.domain.problem.ProblemAdminIdService; import com.moplus.moplus_server.domain.problem.domain.problem.ProblemCustomId; -import com.moplus.moplus_server.domain.problem.domain.problem.ProblemType; -import com.moplus.moplus_server.admin.problem.dto.request.ProblemPostRequest; -import com.moplus.moplus_server.admin.problem.dto.response.ProblemPostResponse; import com.moplus.moplus_server.domain.problem.repository.PracticeTestTagRepository; import com.moplus.moplus_server.domain.problem.repository.ProblemRepository; import com.moplus.moplus_server.domain.problem.service.mapper.ProblemMapper; @@ -28,12 +27,13 @@ public ProblemPostResponse createProblem(ProblemPostRequest request) { PracticeTestTag practiceTestTag = getPracticeTestTag(request); ProblemCustomId problemCustomId = createProblemCustomId(request); Problem problem = createProblem(request, problemCustomId, practiceTestTag); - + return ProblemPostResponse.of(problemRepository.save(problem)); } - private Problem createProblem(ProblemPostRequest request, ProblemCustomId problemCustomId, PracticeTestTag practiceTestTag) { - if (request.problemType().isCreationProblem()) { + private Problem createProblem(ProblemPostRequest request, ProblemCustomId problemCustomId, + PracticeTestTag practiceTestTag) { + if (!request.problemType().isCreationProblem()) { return problemMapper.from(request, problemCustomId, practiceTestTag); } return problemMapper.from(request.problemType(), problemCustomId);