diff --git a/src/main/java/server/inuappcenter/kr/controller/boardController/FaqController.java b/src/main/java/server/inuappcenter/kr/controller/boardController/FaqController.java index fdd1493..9f5e1fc 100644 --- a/src/main/java/server/inuappcenter/kr/controller/boardController/FaqController.java +++ b/src/main/java/server/inuappcenter/kr/controller/boardController/FaqController.java @@ -2,28 +2,32 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import server.inuappcenter.kr.common.data.dto.CommonResponseDto; import server.inuappcenter.kr.data.dto.request.FaqBoardRequestDto; import server.inuappcenter.kr.data.dto.response.BoardResponseDto; +import server.inuappcenter.kr.service.boardService.AdditionalBoardService; import server.inuappcenter.kr.service.boardService.BoardService; -import server.inuappcenter.kr.service.boardService.FaqBoardService; import javax.validation.Valid; import java.util.List; @RestController -@RequiredArgsConstructor @RequestMapping("/faqs") @Tag(name = "[FAQ] 질의응답 게시판") @Slf4j public class FaqController { private final BoardService boardService; - private final FaqBoardService faqBoardService; + private final AdditionalBoardService additionalBoardService; + + public FaqController(BoardService boardService, @Qualifier(value = "FaqBoardServiceImpl") AdditionalBoardService additionalBoardService) { + this.boardService = boardService; + this.additionalBoardService = additionalBoardService; + } @Operation(summary = "FAQ 한 개 가져오기", description = "조회할 faq_id를 입력해주세요") @GetMapping("public/{id}") @@ -34,7 +38,7 @@ public ResponseEntity getFaqBoard(final @PathVariable("id") Lo @Operation(summary = "FAQ 전체 가져오기", description = "전체 FAQ 목록을 가져옵니다.") @GetMapping("public/all-faq-boards") public ResponseEntity> getFaqBoardList() { - return ResponseEntity.status(HttpStatus.OK).body(faqBoardService.findFaqBoardList()); + return ResponseEntity.status(HttpStatus.OK).body(additionalBoardService.findBoardList()); } @Operation(summary = "FAQ 한 개 작성", description = "저장할 FAQ JSON을 보내주세요") diff --git a/src/main/java/server/inuappcenter/kr/controller/boardController/IntroBoardController.java b/src/main/java/server/inuappcenter/kr/controller/boardController/IntroBoardController.java index 956c3bc..4c53e32 100644 --- a/src/main/java/server/inuappcenter/kr/controller/boardController/IntroBoardController.java +++ b/src/main/java/server/inuappcenter/kr/controller/boardController/IntroBoardController.java @@ -3,7 +3,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -13,21 +13,25 @@ import server.inuappcenter.kr.data.dto.request.IntroBoardRequestDto; import server.inuappcenter.kr.data.dto.response.BoardResponseDto; import server.inuappcenter.kr.exception.customExceptions.CustomModelAttributeException; +import server.inuappcenter.kr.service.boardService.AdditionalBoardService; import server.inuappcenter.kr.service.boardService.BoardService; -import server.inuappcenter.kr.service.boardService.IntroBoardService; import javax.validation.Valid; import java.util.List; import java.util.Objects; @RestController -@RequiredArgsConstructor @RequestMapping("/introduction-board") @Tag(name = "[Intro] 애플리케이션 소개 게시판") public class IntroBoardController { public final BoardService boardService; - public final IntroBoardService introBoardService; + public final AdditionalBoardService additionalBoardService; + + public IntroBoardController(BoardService boardService, @Qualifier(value = "IntroBoardServiceImpl") AdditionalBoardService additionalBoardService) { + this.boardService = boardService; + this.additionalBoardService = additionalBoardService; + } @Operation(summary = "게시글 (1개) 가져오기", description = "가져올 게시글의 id를 입력해주세요") @Parameter(name = "id", description = "게시판 id", required = true) @@ -56,7 +60,7 @@ public ResponseEntity deleteBoard(final @PathVariable("id") L @Operation(summary = "앱 소개 글 (전체) 조회", description = "앱 소개 글을 모두 반환합니다.") @GetMapping("/public/all-boards-contents") public ResponseEntity> findAllBoard() { - return ResponseEntity.status(HttpStatus.OK).body(introBoardService.findIntroBoardList()); + return ResponseEntity.status(HttpStatus.OK).body(additionalBoardService.findBoardList()); } diff --git a/src/main/java/server/inuappcenter/kr/controller/boardController/PhotoBoardController.java b/src/main/java/server/inuappcenter/kr/controller/boardController/PhotoBoardController.java index aea736b..b4336e7 100644 --- a/src/main/java/server/inuappcenter/kr/controller/boardController/PhotoBoardController.java +++ b/src/main/java/server/inuappcenter/kr/controller/boardController/PhotoBoardController.java @@ -3,7 +3,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; -import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -13,20 +13,24 @@ import server.inuappcenter.kr.data.dto.request.PhotoBoardRequestDto; import server.inuappcenter.kr.data.dto.response.BoardResponseDto; import server.inuappcenter.kr.exception.customExceptions.CustomModelAttributeException; +import server.inuappcenter.kr.service.boardService.AdditionalBoardService; import server.inuappcenter.kr.service.boardService.BoardService; -import server.inuappcenter.kr.service.boardService.PhotoBoardService; import javax.validation.Valid; import java.util.List; import java.util.Objects; @RestController -@RequiredArgsConstructor @RequestMapping("/photo-board") @Tag(name = "[Photo] 사진 게시판") public class PhotoBoardController { private final BoardService boardService; - private final PhotoBoardService photoBoardService; + private final AdditionalBoardService additionalBoardService; + + public PhotoBoardController(BoardService boardService, @Qualifier(value = "PhotoBoardServiceImpl") AdditionalBoardService additionalBoardService) { + this.boardService = boardService; + this.additionalBoardService = additionalBoardService; + } @Operation(summary = "게시글 (1개) 가져오기", description = "가져올 게시글의 id를 입력해주세요") @Parameter(name = "id", description = "게시판 id") @@ -69,7 +73,7 @@ public ResponseEntity deleteBoard(final @PathVariable("id") L @Operation(summary = "사진 글 (전체) 조회", description = "사진 글을 모두 반환합니다.") @GetMapping("/public/all-boards-contents") public ResponseEntity> findAllBoard() { - return ResponseEntity.status(HttpStatus.OK).body(photoBoardService.findPhotoBoardList()); + return ResponseEntity.status(HttpStatus.OK).body(additionalBoardService.findBoardList()); } } diff --git a/src/main/java/server/inuappcenter/kr/data/domain/Member.java b/src/main/java/server/inuappcenter/kr/data/domain/Member.java index 6365364..ac42fbb 100644 --- a/src/main/java/server/inuappcenter/kr/data/domain/Member.java +++ b/src/main/java/server/inuappcenter/kr/data/domain/Member.java @@ -41,7 +41,7 @@ public Member (MemberRequestDto memberRequestDto) { this.gitRepositoryLink = memberRequestDto.getGitRepositoryLink(); } - public void setMember(Long id, MemberRequestDto memberRequestDto) { + public void updateMember(Long id, MemberRequestDto memberRequestDto) { this.id = id; this.name = memberRequestDto.getName(); this.description = memberRequestDto.getDescription(); diff --git a/src/main/java/server/inuappcenter/kr/service/MemberService.java b/src/main/java/server/inuappcenter/kr/service/MemberService.java index d281d2d..4c8e5c3 100644 --- a/src/main/java/server/inuappcenter/kr/service/MemberService.java +++ b/src/main/java/server/inuappcenter/kr/service/MemberService.java @@ -37,7 +37,7 @@ public MemberResponseDto saveMember(MemberRequestDto memberRequestDto) { @Transactional public MemberResponseDto updateMember(Long id, MemberRequestDto memberRequestDto) { Member found_member = memberRepository.findById(id).orElseThrow(() -> new CustomNotFoundException("The requested ID was not found.")); - found_member.setMember(id, memberRequestDto); + found_member.updateMember(id, memberRequestDto); Member saved_member = memberRepository.save(found_member); return MemberResponseDto.entityToDto(saved_member); } diff --git a/src/main/java/server/inuappcenter/kr/service/boardService/AdditionalBoardService.java b/src/main/java/server/inuappcenter/kr/service/boardService/AdditionalBoardService.java new file mode 100644 index 0000000..698f5c6 --- /dev/null +++ b/src/main/java/server/inuappcenter/kr/service/boardService/AdditionalBoardService.java @@ -0,0 +1,9 @@ +package server.inuappcenter.kr.service.boardService; + +import server.inuappcenter.kr.data.dto.response.BoardResponseDto; + +import java.util.List; + +public interface AdditionalBoardService { + List findBoardList(); +} diff --git a/src/main/java/server/inuappcenter/kr/service/boardService/FaqBoardService.java b/src/main/java/server/inuappcenter/kr/service/boardService/impl/FaqBoardServiceImpl.java similarity index 74% rename from src/main/java/server/inuappcenter/kr/service/boardService/FaqBoardService.java rename to src/main/java/server/inuappcenter/kr/service/boardService/impl/FaqBoardServiceImpl.java index 3084ad7..e66cb06 100644 --- a/src/main/java/server/inuappcenter/kr/service/boardService/FaqBoardService.java +++ b/src/main/java/server/inuappcenter/kr/service/boardService/impl/FaqBoardServiceImpl.java @@ -1,4 +1,4 @@ -package server.inuappcenter.kr.service.boardService; +package server.inuappcenter.kr.service.boardService.impl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -7,20 +7,22 @@ import server.inuappcenter.kr.data.domain.board.Board; import server.inuappcenter.kr.data.dto.response.BoardResponseDto; import server.inuappcenter.kr.data.repository.FaqRepository; +import server.inuappcenter.kr.service.boardService.AdditionalBoardService; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; -@Service +@Service("FaqBoardServiceImpl") @RequiredArgsConstructor @Slf4j -public class FaqBoardService { +public class FaqBoardServiceImpl implements AdditionalBoardService { private final FaqRepository faqRepository; private final HttpServletRequest request; + @Override @Transactional(readOnly = true) - public List findFaqBoardList() { + public List findBoardList() { List responseDtoList= new ArrayList<>(); for (Board board : faqRepository.findAll()) { responseDtoList.add(board.createResponse(request)); diff --git a/src/main/java/server/inuappcenter/kr/service/boardService/IntroBoardService.java b/src/main/java/server/inuappcenter/kr/service/boardService/impl/IntroBoardServiceImpl.java similarity index 73% rename from src/main/java/server/inuappcenter/kr/service/boardService/IntroBoardService.java rename to src/main/java/server/inuappcenter/kr/service/boardService/impl/IntroBoardServiceImpl.java index 83e3b80..bb967e0 100644 --- a/src/main/java/server/inuappcenter/kr/service/boardService/IntroBoardService.java +++ b/src/main/java/server/inuappcenter/kr/service/boardService/impl/IntroBoardServiceImpl.java @@ -1,26 +1,26 @@ -package server.inuappcenter.kr.service.boardService; +package server.inuappcenter.kr.service.boardService.impl; import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import server.inuappcenter.kr.data.domain.board.Board; import server.inuappcenter.kr.data.dto.response.BoardResponseDto; import server.inuappcenter.kr.data.repository.IntroBoardRepository; +import server.inuappcenter.kr.service.boardService.AdditionalBoardService; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; -@Service +@Service("IntroBoardServiceImpl") @RequiredArgsConstructor -@Slf4j -public class IntroBoardService { +public class IntroBoardServiceImpl implements AdditionalBoardService { private final IntroBoardRepository introBoardRepository; private final HttpServletRequest request; + @Override @Transactional(readOnly = true) - public List findIntroBoardList() { + public List findBoardList() { List responseDtoList= new ArrayList<>(); for (Board board : introBoardRepository.findAll()) { responseDtoList.add(board.createResponse(request)); diff --git a/src/main/java/server/inuappcenter/kr/service/boardService/PhotoBoardService.java b/src/main/java/server/inuappcenter/kr/service/boardService/impl/PhotoBoardServiceImpl.java similarity index 74% rename from src/main/java/server/inuappcenter/kr/service/boardService/PhotoBoardService.java rename to src/main/java/server/inuappcenter/kr/service/boardService/impl/PhotoBoardServiceImpl.java index 61b1781..cd21ef7 100644 --- a/src/main/java/server/inuappcenter/kr/service/boardService/PhotoBoardService.java +++ b/src/main/java/server/inuappcenter/kr/service/boardService/impl/PhotoBoardServiceImpl.java @@ -1,4 +1,4 @@ -package server.inuappcenter.kr.service.boardService; +package server.inuappcenter.kr.service.boardService.impl; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -7,20 +7,22 @@ import server.inuappcenter.kr.data.domain.board.Board; import server.inuappcenter.kr.data.dto.response.BoardResponseDto; import server.inuappcenter.kr.data.repository.PhotoBoardRepository; +import server.inuappcenter.kr.service.boardService.AdditionalBoardService; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.List; -@Service +@Service("PhotoBoardServiceImpl") @RequiredArgsConstructor @Slf4j -public class PhotoBoardService { +public class PhotoBoardServiceImpl implements AdditionalBoardService { private final PhotoBoardRepository photoBoardRepository; private final HttpServletRequest request; + @Override @Transactional(readOnly = true) - public List findPhotoBoardList() { + public List findBoardList() { List responseDtoList= new ArrayList<>(); for (Board board : photoBoardRepository.findAll()) { responseDtoList.add(board.createResponse(request)); diff --git a/src/main/java/server/inuappcenter/kr/service/UserDetailsServiceImpl.java b/src/main/java/server/inuappcenter/kr/service/impl/UserDetailsServiceImpl.java similarity index 93% rename from src/main/java/server/inuappcenter/kr/service/UserDetailsServiceImpl.java rename to src/main/java/server/inuappcenter/kr/service/impl/UserDetailsServiceImpl.java index 36e1dfd..15fa252 100644 --- a/src/main/java/server/inuappcenter/kr/service/UserDetailsServiceImpl.java +++ b/src/main/java/server/inuappcenter/kr/service/impl/UserDetailsServiceImpl.java @@ -1,4 +1,4 @@ -package server.inuappcenter.kr.service; +package server.inuappcenter.kr.service.impl; import lombok.RequiredArgsConstructor; import org.springframework.security.core.userdetails.UserDetails; diff --git a/src/test/java/server/inuappcenter/kr/controller/FaqControllerTest.java b/src/test/java/server/inuappcenter/kr/controller/FaqControllerTest.java index aa700f4..3084d37 100644 --- a/src/test/java/server/inuappcenter/kr/controller/FaqControllerTest.java +++ b/src/test/java/server/inuappcenter/kr/controller/FaqControllerTest.java @@ -16,7 +16,7 @@ import server.inuappcenter.kr.data.dto.request.FaqBoardRequestDto; import server.inuappcenter.kr.data.dto.response.FaqBoardResponseDto; import server.inuappcenter.kr.service.boardService.BoardService; -import server.inuappcenter.kr.service.boardService.FaqBoardService; +import server.inuappcenter.kr.service.boardService.impl.FaqBoardServiceImpl; import java.time.LocalDateTime; @@ -42,7 +42,7 @@ public class FaqControllerTest { BoardService boardService; @MockBean - FaqBoardService faqBoardService; + FaqBoardServiceImpl faqBoardServiceImpl; private final Long givenId = 1L; FaqBoardRequestDto givenDto = new FaqBoardRequestDto("서버", "질문입니다.", "답변입니다."); diff --git a/src/test/java/server/inuappcenter/kr/controller/PhotoBoardControllerTest.java b/src/test/java/server/inuappcenter/kr/controller/PhotoBoardControllerTest.java index b072e3d..1780dc6 100644 --- a/src/test/java/server/inuappcenter/kr/controller/PhotoBoardControllerTest.java +++ b/src/test/java/server/inuappcenter/kr/controller/PhotoBoardControllerTest.java @@ -17,7 +17,7 @@ import server.inuappcenter.kr.data.dto.request.PhotoBoardRequestDto; import server.inuappcenter.kr.data.dto.response.PhotoBoardResponseDto; import server.inuappcenter.kr.service.boardService.BoardService; -import server.inuappcenter.kr.service.boardService.PhotoBoardService; +import server.inuappcenter.kr.service.boardService.impl.PhotoBoardServiceImpl; import java.time.LocalDateTime; import java.util.HashMap; @@ -39,7 +39,7 @@ public class PhotoBoardControllerTest { @MockBean private BoardService boardService; @MockBean - private PhotoBoardService photoBoardService; + private PhotoBoardServiceImpl photoBoardServiceImpl; public Map makeMockImageMap() { diff --git a/src/test/java/server/inuappcenter/kr/service/MemberServiceTest.java b/src/test/java/server/inuappcenter/kr/service/MemberServiceTest.java index 1a360bd..e8dc698 100644 --- a/src/test/java/server/inuappcenter/kr/service/MemberServiceTest.java +++ b/src/test/java/server/inuappcenter/kr/service/MemberServiceTest.java @@ -105,7 +105,7 @@ public void updateMemberTest() { "김길동", "안녕하세요 제 이름은...", "https://...", "https://...", "test@test.com", "https://..."); given(memberRepository.findById(givenId)).willReturn(Optional.ofNullable(expectedEntity)); - expectedEntity.setMember(givenId, givenDto); + expectedEntity.updateMember(givenId, givenDto); given(memberRepository.save(Mockito.any(Member.class))).willReturn(expectedEntity); // when MemberResponseDto result = memberService.updateMember(givenId,givenDto); diff --git a/src/test/java/server/inuappcenter/kr/service/board/PhotoBoardServiceTest.java b/src/test/java/server/inuappcenter/kr/service/board/PhotoBoardServiceImplTest.java similarity index 97% rename from src/test/java/server/inuappcenter/kr/service/board/PhotoBoardServiceTest.java rename to src/test/java/server/inuappcenter/kr/service/board/PhotoBoardServiceImplTest.java index 1e2c395..7ef2cd3 100644 --- a/src/test/java/server/inuappcenter/kr/service/board/PhotoBoardServiceTest.java +++ b/src/test/java/server/inuappcenter/kr/service/board/PhotoBoardServiceImplTest.java @@ -12,7 +12,7 @@ import server.inuappcenter.kr.data.repository.ImageRepository; import server.inuappcenter.kr.data.repository.PhotoBoardRepository; import server.inuappcenter.kr.service.boardService.BoardService; -import server.inuappcenter.kr.service.boardService.PhotoBoardService; +import server.inuappcenter.kr.service.boardService.impl.PhotoBoardServiceImpl; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @@ -20,7 +20,7 @@ import java.util.List; @ExtendWith(MockitoExtension.class) -public class PhotoBoardServiceTest{ +public class PhotoBoardServiceImplTest { @Mock private BoardService boardService; @Mock @@ -30,7 +30,7 @@ public class PhotoBoardServiceTest{ @Mock private HttpServletRequest request = new MockHttpServletRequest(); @InjectMocks - private PhotoBoardService photoBoardService; + private PhotoBoardServiceImpl photoBoardServiceImpl; private final Long givenId = 1L;