Skip to content

Commit

Permalink
[Feat] ExchangeRepository에서 사용자 정보를 통해 교환 미확인 내역을 count하는 adpater구현 및…
Browse files Browse the repository at this point in the history
… GetMyHeaderService 생성 #142
  • Loading branch information
ashd89 committed Aug 8, 2024
1 parent 45840b2 commit 73f60c9
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,9 @@ public List<ExchangeEntity> readExchangeOfferForMe(User user,Integer page, Integ

return exchangeRepository.findExchangeByUser(user.getId(), pageable);
}

@Override
public Long readExchangeOfferCnt(Long userId) {
return exchangeRepository.countReservationsByUserId(userId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,16 @@

public interface ExchangePort {
ExchangeEntity read(Exchange exchange) throws BaseException;

void save(Exchange exchange);

Boolean find(CreateExchangeOfferCommand command);

ExchangeEntity findById(Long id) throws BaseException;

void update(ExchangeEntity exchange);

List<ExchangeEntity> readExchangeOfferForMe(User user, Integer page, Integer size);

Long readExchangeOfferCnt(Long userId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.gamja.tiggle.mypage.application.port.in;

import com.gamja.tiggle.common.BaseException;
import com.gamja.tiggle.mypage.domain.MyHeaderInfo;

public interface GetMyHeaderUseCase {
MyHeaderInfo getByUserId(Long id) throws BaseException;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.gamja.tiggle.mypage.application.service;

import com.gamja.tiggle.common.BaseException;
import com.gamja.tiggle.exchange.application.port.out.ExchangePort;
import com.gamja.tiggle.mypage.application.port.in.GetMyHeaderUseCase;
import com.gamja.tiggle.mypage.domain.MyHeaderInfo;
import com.gamja.tiggle.reservation.application.port.out.ReadReservationPort;
import com.gamja.tiggle.user.application.port.out.UserPersistencePort;
import com.gamja.tiggle.user.domain.User;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

import static java.lang.Integer.parseInt;

@Component
@RequiredArgsConstructor
public class GetMyHeaderService implements GetMyHeaderUseCase {
private final UserPersistencePort userPersistencePort;
private final ReadReservationPort readReservationPort;
private final ExchangePort exchangePort;

@Override
public MyHeaderInfo getByUserId(Long id) throws BaseException {
User user = userPersistencePort.searchUser(id);
return MyHeaderInfo.builder()
.username(user.getName())
.reservationCnt((readReservationPort.getReservationCnt(id)).intValue())
.notWatchedYet((exchangePort.readExchangeOfferCnt(id)).intValue())
.point(user.getPoint())
.build();
}
}

0 comments on commit 73f60c9

Please sign in to comment.