본문 바로가기
❤️‍🔥TIL (Today I Learned)

[TIL] 2023-01-17(57day) / 프로젝트(2day)

by elicho91 2023. 1. 18.

프로젝트(2)


👉  UserRepository

List<User> findAllByRole(UserRoleEnum roleEnum);

 

👉  ProfileRepository

List<Profile> findAllByUserIdIn(List<String> userIdList);

 

👉  AdminServiceImpl

	List<User> userList = userRepository.findAllByRole(UserRoleEnum.SELLER);
        List<String> userIdList = new ArrayList<>();
        for(User user : userList){
            userIdList.add(user.getUserId());
        }
        List<Profile> profileList = profileRepository.findAllByUserIdIn(userIdList);
        List<SellerListResponseDto> sellerList = new ArrayList<>();
        for(Profile profile : profileList){
            sellerList.add(new SellerListResponseDto(profile));
        }

🙋‍♂️ 소감 : 

테이블마다 연관관계를 맺지 않고 작업을 하였다.

맡은 부분이 어드민 API라 UserRoleEnum 을 가져다 사용하는 일이 많았는데

User 테이블에 있는 UserRoleEnum 필드를 다른 테이블에서 어떻게 가져다 사용해야하는지 한참을 고민하다가 팀원분의 도움으로 금방 해결 할 수 있었다.

SELLER 권한을 가진 유저를 찾고 userIdList를 만들어 Profile에서 만든 리스트를 사용하여 필요한 정보를 가져오면 된다.

단순했던거 같은데 나는 왜 생각이 바로바로 안떠오르는지 많이 공부해야겠다.

😈 아는 내용이라고 그냥 넘어가지 않기! 😈

댓글