Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ public class QProblemSet extends EntityPathBase<ProblemSet> {

public final NumberPath<Long> id = createNumber("id", Long.class);

public final BooleanPath isDeleted = createBoolean("isDeleted");

public final ListPath<Long, NumberPath<Long>> problemIds = this.<Long, NumberPath<Long>>createList("problemIds", Long.class, NumberPath.class, PathInits.DIRECT2);

public final QTitle title;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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;
Expand All @@ -53,7 +52,6 @@ public class ProblemSet extends BaseEntity {
@Builder
public ProblemSet(String title, List<Long> problemIds) {
this.title = new Title(title);
this.isDeleted = false;
this.confirmStatus = ProblemSetConfirmStatus.NOT_CONFIRMED;
this.problemIds = problemIds;
}
Expand All @@ -69,10 +67,6 @@ public void updateProblemOrder(List<Long> newProblems) {
this.problemIds = new ArrayList<>(newProblems);
}

public void deleteProblemSet() {
this.isDeleted = true;
}

public void toggleConfirm(List<Problem> problems) {
if (this.confirmStatus == ProblemSetConfirmStatus.NOT_CONFIRMED) {
if (problems.isEmpty()) {
Expand Down Expand Up @@ -111,4 +105,5 @@ public boolean isProblemsChanged(List<Long> newProblems) {
}
return false;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ public class ProblemSetDeleteService {
@Transactional
public void deleteProblemSet(Long problemSetId) {
ProblemSet problemSet = problemSetRepository.findByIdElseThrow(problemSetId);
problemSet.deleteProblemSet();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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<LocalDate> publishedDates = publishRepository.findByProblemSetId(problemSetId).stream()
.map(Publish::getPublishedDate)
.toList();
Expand Down
Original file line number Diff line number Diff line change
@@ -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;
Expand Down Expand Up @@ -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);
Expand All @@ -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<Publish> publishes = publishRepository.findByProblemSetId(problemSetId);
if (!publishes.isEmpty()) {
throw new InvalidValueException(ErrorCode.ALREADY_PUBLISHED_ERROR);
Expand Down
Loading