66import com .somemore .global .exception .BadRequestException ;
77import com .somemore .location .usecase .command .UpdateLocationUseCase ;
88import com .somemore .recruitboard .domain .RecruitBoard ;
9+ import com .somemore .recruitboard .domain .RecruitStatus ;
910import com .somemore .recruitboard .dto .request .RecruitBoardLocationUpdateRequestDto ;
1011import com .somemore .recruitboard .dto .request .RecruitBoardUpdateRequestDto ;
1112import com .somemore .recruitboard .repository .RecruitBoardRepository ;
1213import com .somemore .recruitboard .usecase .command .UpdateRecruitBoardUseCase ;
13- import com . somemore . recruitboard . usecase . query . RecruitBoardQueryUseCase ;
14+ import java . time . LocalDateTime ;
1415import java .util .UUID ;
1516import lombok .RequiredArgsConstructor ;
1617import org .springframework .stereotype .Service ;
2324public class UpdateRecruitBoardService implements UpdateRecruitBoardUseCase {
2425
2526 private final RecruitBoardRepository recruitBoardRepository ;
26- private final RecruitBoardQueryUseCase recruitBoardQueryUseCase ;
2727 private final UpdateLocationUseCase updateLocationUseCase ;
2828
2929 @ Override
@@ -33,9 +33,7 @@ public void updateRecruitBoard(
3333 UUID centerId ,
3434 String imgUrl ) {
3535
36- RecruitBoard recruitBoard = recruitBoardQueryUseCase .findById (recruitBoardId ).orElseThrow (
37- () -> new BadRequestException (NOT_EXISTS_RECRUIT_BOARD .getMessage ())
38- );
36+ RecruitBoard recruitBoard = getRecruitBoard (recruitBoardId );
3937 validateWriter (recruitBoard , centerId );
4038 recruitBoard .updateWith (requestDto , imgUrl );
4139
@@ -46,9 +44,7 @@ public void updateRecruitBoard(
4644 public void updateRecruitBoardLocation (RecruitBoardLocationUpdateRequestDto requestDto ,
4745 Long recruitBoardId , UUID centerId ) {
4846
49- RecruitBoard recruitBoard = recruitBoardQueryUseCase .findById (recruitBoardId ).orElseThrow (
50- () -> new BadRequestException (NOT_EXISTS_RECRUIT_BOARD .getMessage ())
51- );
47+ RecruitBoard recruitBoard = getRecruitBoard (recruitBoardId );
5248 validateWriter (recruitBoard , centerId );
5349
5450 updateLocationUseCase .updateLocation (requestDto .toLocationUpdateRequestDto (),
@@ -58,6 +54,22 @@ public void updateRecruitBoardLocation(RecruitBoardLocationUpdateRequestDto requ
5854 recruitBoardRepository .save (recruitBoard );
5955 }
6056
57+ @ Override
58+ public void updateRecruitBoardStatus (RecruitStatus status , Long recruitBoardId , UUID centerId ,
59+ LocalDateTime currentDateTime ) {
60+ RecruitBoard recruitBoard = getRecruitBoard (recruitBoardId );
61+ validateWriter (recruitBoard , centerId );
62+
63+ recruitBoard .changeStatus (status , currentDateTime );
64+ recruitBoardRepository .save (recruitBoard );
65+ }
66+
67+ private RecruitBoard getRecruitBoard (Long recruitBoardId ) {
68+ return recruitBoardRepository .findById (recruitBoardId ).orElseThrow (
69+ () -> new BadRequestException (NOT_EXISTS_RECRUIT_BOARD .getMessage ())
70+ );
71+ }
72+
6173 private void validateWriter (RecruitBoard recruitBoard , UUID centerId ) {
6274 if (recruitBoard .isWriter (centerId )) {
6375 return ;
0 commit comments