Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
b74a873
mod : 어드민 캠페인 책임 위임
huncozyboy Mar 11, 2026
b76b267
mod : 크리에이터 권한 검증 책임 도메인으로 위임
huncozyboy Mar 11, 2026
91fa031
del : 도메인 검증은 엔티티로 위임했기때문에 불필요한 유틸 클래스 삭제
huncozyboy Mar 11, 2026
94a7ccc
test : 브랜드 아이디 테스트 형식에 맞춰서 setUp에 추가
huncozyboy Mar 11, 2026
4d9bce6
mod : 서비스 유스케이스 단의 검증 메서드 도메인으로 책임 위임
huncozyboy Feb 27, 2026
5382ec3
mod : 서비스 유스케이스 단의 검증 메서드 도메인으로 책임 위임
huncozyboy Feb 26, 2026
59c6e98
mod : 서비스 유스케이스 단의 검증 메서드 도메인으로 책임 위임
huncozyboy Feb 25, 2026
d40f60a
mod : 서비스 유스케이스 단의 검증 메서드 도메인으로 책임 위임
huncozyboy Feb 24, 2026
d23c86a
mod : 서비스 유스케이스 단의 검증 메서드 도메인으로 책임 위임
huncozyboy Feb 23, 2026
220d3a9
mod : 서비스 유스케이스 단의 검증 메서드 도메인으로 책임 위임
huncozyboy Feb 22, 2026
ef7a518
mod : 서비스 유스케이스 단의 검증 메서드 도메인으로 책임 위임
huncozyboy Feb 21, 2026
69327cc
mod : 서비스 유스케이스 단의 검증 메서드 도메인으로 책임 위임
huncozyboy Feb 19, 2026
b8378be
refactor : DTO/command 입력 검증은 별도 클래스로 분리
huncozyboy Feb 18, 2026
3b4e035
feat : DTO/command 입력 검증 Validation, Resolver 클래스로 분리
huncozyboy Feb 17, 2026
d261b69
mod : 크리에이터 캠페인 상태 Resolver에서 불필요한 검증 올바르게 수정
huncozyboy Feb 15, 2026
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 @@ -17,8 +17,6 @@
import com.lokoko.domain.campaign.domain.entity.enums.ActionType;
import com.lokoko.domain.campaign.domain.repository.CampaignRepository;
import com.lokoko.domain.campaign.exception.CampaignApplicantBulkUpdateException;
import com.lokoko.domain.campaign.exception.CampaignCapacityExceedException;
import com.lokoko.domain.campaign.exception.CampaignNotEditableException;
import com.lokoko.domain.campaign.exception.CampaignNotFoundException;
import com.lokoko.domain.campaign.exception.NoApplicableCreatorsException;
import com.lokoko.domain.campaign.exception.NotCampaignOwnershipException;
Expand Down Expand Up @@ -210,7 +208,7 @@ public CampaignBasicResponse updateCampaign(Long brandId, Long campaignId, Actio
Campaign campaign = getCampaignOrThrow(campaignId);

validateBrandOwnsCampaign(campaign, brand);
validateEditableCampaign(campaign);
campaign.validateEditable();

campaign.updateCampaign(updateRequest);

Expand Down Expand Up @@ -257,18 +255,6 @@ private static void validatePublishableCampaignForAdmin(ActionType actionType, C
}
}

/**
* 캠페인이 수정 가능한지 검증한다. <br> 캠페인이 이미 발행되었으면 예외를 발생시킨다.
*
* @param campaign 캠페인 엔티티
* @throws CampaignNotEditableException 캠페인이 수정 불가할 때 발생하는 예외
*/
private void validateEditableCampaign(Campaign campaign) {
if (campaign.isPublished()) {
throw new CampaignNotEditableException();
}
}

/**
* 캠페인이 브랜드 소유인지 검증한다. <br> 캠페인이 브랜드 소유가 아니라면 예외를 발생시킨다.
*
Expand Down Expand Up @@ -297,7 +283,7 @@ public CreatorApprovedResponse approveCreatorApplicants(Long campaignId, Long br
participationIds);

validateApplicableCreators(pendingParticipationIds);
validateOverCampaignCapacity(campaign, pendingParticipationIds);
campaign.validateCapacityForApproval(pendingParticipationIds.size());

campaign.increaseApprovedNumber(pendingParticipationIds.size());
entityManager.flush();
Expand All @@ -320,12 +306,4 @@ private static void validateApplicableCreators(List<Long> pendingApplicationIds)
}
}

/**
* 현재 승인된 지원자 수 + 지원 요청 수 > 모집인원 수이면 예외를 발생
*/
private static void validateOverCampaignCapacity(Campaign campaign, List<Long> pendingParticipationIds) {
if (campaign.getApprovedNumber() + pendingParticipationIds.size() > campaign.getRecruitmentNumber()) {
throw new CampaignCapacityExceedException();
}
}
}
Loading
Loading