diff --git a/src/main/java/org/scoula/domain/home/controller/HomeControllerImpl.java b/src/main/java/org/scoula/domain/home/controller/HomeControllerImpl.java index c28bce16..486ce1b5 100644 --- a/src/main/java/org/scoula/domain/home/controller/HomeControllerImpl.java +++ b/src/main/java/org/scoula/domain/home/controller/HomeControllerImpl.java @@ -42,6 +42,10 @@ public class HomeControllerImpl implements HomeController { public ResponseEntity> createHome( @Valid @RequestPart HomeCreateRequestDto requestDto, Authentication authentication) { + // ✨ 매물 등록 요청 데이터와 description 값을 로그로 확인 + log.info("매물 등록 요청 데이터: {}", requestDto); + log.info("컨트롤러에서 확인한 description 값: {}", requestDto.getDescription()); + Integer userId = getCurrentUserId(authentication); // 이미지 파일 리스트 처리 @@ -70,6 +74,7 @@ public ResponseEntity> createHome( .isPet(requestDto.getIsPet()) .isParking(requestDto.getIsParking()) .facilityItemIds(requestDto.getFacilityItemIds()) + .description(requestDto.getDescription()) .maintenanceFees( requestDto.getMaintenanceFees() != null ? requestDto.getMaintenanceFees().stream() diff --git a/src/main/java/org/scoula/domain/home/dto/HomeCreateDTO.java b/src/main/java/org/scoula/domain/home/dto/HomeCreateDTO.java index 04eb02f8..469856c2 100644 --- a/src/main/java/org/scoula/domain/home/dto/HomeCreateDTO.java +++ b/src/main/java/org/scoula/domain/home/dto/HomeCreateDTO.java @@ -61,6 +61,8 @@ public class HomeCreateDTO { private List maintenanceFees; + private String description; + @Data @NoArgsConstructor @AllArgsConstructor diff --git a/src/main/java/org/scoula/domain/home/dto/HomeCreateRequestDto.java b/src/main/java/org/scoula/domain/home/dto/HomeCreateRequestDto.java index 074f1096..dce35200 100644 --- a/src/main/java/org/scoula/domain/home/dto/HomeCreateRequestDto.java +++ b/src/main/java/org/scoula/domain/home/dto/HomeCreateRequestDto.java @@ -98,6 +98,9 @@ public class HomeCreateRequestDto { @ApiModelProperty(value = "매물 이미지 목록") private List images; + @ApiModelProperty(value = "상세 정보", example = "남향이라 햇살이 잘 들고, 근처에 공원이 있어 산책하기 좋습니다.") + private String description; + @ApiModel(description = "관리비 항목 DTO") @Data @NoArgsConstructor diff --git a/src/main/java/org/scoula/domain/home/dto/HomeResponseDTO.java b/src/main/java/org/scoula/domain/home/dto/HomeResponseDTO.java index a2fbd902..77a20b27 100644 --- a/src/main/java/org/scoula/domain/home/dto/HomeResponseDTO.java +++ b/src/main/java/org/scoula/domain/home/dto/HomeResponseDTO.java @@ -52,7 +52,7 @@ public class HomeResponseDTO { private Boolean isParking; private List facilities; - + private String description; private List maintenanceFees; private List imageUrls; diff --git a/src/main/java/org/scoula/domain/home/service/HomeServiceImpl.java b/src/main/java/org/scoula/domain/home/service/HomeServiceImpl.java index 57342ffe..68f31bbb 100644 --- a/src/main/java/org/scoula/domain/home/service/HomeServiceImpl.java +++ b/src/main/java/org/scoula/domain/home/service/HomeServiceImpl.java @@ -37,6 +37,10 @@ public Integer createHome(HomeCreateDTO createDTO, List images, I createDTO.getResidenceType(), images != null ? images.size() : 0); + // ✨ 서비스에서 받은 DTO와 description 값 확인 + log.info("서비스에서 받은 DTO: {}", createDTO); + log.info("서비스에서 확인한 description 값: {}", createDTO.getDescription()); + try { HomeVO home = HomeVO.builder() @@ -79,8 +83,13 @@ public Integer createHome(HomeCreateDTO createDTO, List images, I .isParking(createDTO.getIsParking()) .area(createDTO.getArea()) .landCategory(createDTO.getLandCategory()) + .description(createDTO.getDescription()) .build(); + // ✨ DB에 저장할 객체의 description 값 최종 확인 + log.info("DB에 저장할 HomeDetailVO 객체: {}", homeDetail); + log.info("최종 DB 저장 직전의 description 값: {}", homeDetail.getDescription()); + int detailResult = homeMapper.insertHomeDetail(homeDetail); if (detailResult != 1) { throw new BusinessException( @@ -158,7 +167,11 @@ public Integer createHome(HomeCreateDTO createDTO, List images, I return homeId; } catch (Exception e) { - log.error("매물 등록 중 오류 발생: userId={}, error={}", userId, e.getMessage()); + log.error( + "매물 등록 중 오류 발생: userId={}, error={}", + userId, + e.getMessage(), + e); // ⭐️ 예외 객체(e)를 함께 출력하여 스택 트레이스 확인 throw new BusinessException( CommonErrorCode.INTERNAL_SERVER_ERROR, "매물 등록 중 오류가 발생했습니다: " + e.getMessage()); } @@ -188,6 +201,12 @@ public HomeResponseDTO getHome(Integer homeId) { HomeDetailVO homeDetail = homeMapper.selectHomeDetailByHomeId(homeId); + // ✨ 매퍼에서 반환된 객체와 description 값 확인 + log.info("매퍼에서 반환된 HomeDetailVO: {}", homeDetail); + log.info( + "매퍼에서 확인한 description 값: {}", + homeDetail != null ? homeDetail.getDescription() : null); + List images = homeMapper.selectHomeImagesByHomeId(homeId); List imageUrls = images.stream().map(HomeImageVO::getImageUrl).collect(Collectors.toList()); @@ -229,6 +248,7 @@ public HomeResponseDTO getHome(Integer homeId) { .isParking(homeDetail != null ? homeDetail.getIsParking() : null) .facilities(facilities) .maintenanceFees(maintenanceFees) + .description(homeDetail != null ? homeDetail.getDescription() : null) .imageUrls(imageUrls) .createdAt(home.getCreatedAt()) .updatedAt(home.getUpdatedAt()) diff --git a/src/main/java/org/scoula/domain/home/vo/HomeDetailVO.java b/src/main/java/org/scoula/domain/home/vo/HomeDetailVO.java index d473c483..ee33fe86 100644 --- a/src/main/java/org/scoula/domain/home/vo/HomeDetailVO.java +++ b/src/main/java/org/scoula/domain/home/vo/HomeDetailVO.java @@ -24,4 +24,5 @@ public class HomeDetailVO { private Boolean isParking; private Float area; private String landCategory; + private String description; } diff --git a/src/main/resources/org/scoula/domain/home/mapper/HomeMapper.xml b/src/main/resources/org/scoula/domain/home/mapper/HomeMapper.xml index d7f73b8a..347ec163 100644 --- a/src/main/resources/org/scoula/domain/home/mapper/HomeMapper.xml +++ b/src/main/resources/org/scoula/domain/home/mapper/HomeMapper.xml @@ -18,11 +18,11 @@ INSERT INTO home_detail ( home_id, build_date, home_floor, building_total_floors, - home_direction, bathroom_count, is_pet, is_parking_available,area,land_category + home_direction, bathroom_count, is_pet, is_parking_available,area,land_category,description ) VALUES ( #{homeId}, #{buildDate}, #{homeFloor}, #{buildingTotalFloors}, - #{homeDirection}, #{bathroomCnt}, #{isPet}, #{isParking}, #{area}, #{landCategory} + #{homeDirection}, #{bathroomCnt}, #{isPet}, #{isParking}, #{area}, #{landCategory},#{description} ) @@ -63,7 +63,7 @@