Skip to content

Conversation

@PicturePark1101
Copy link
Contributor

@PicturePark1101 PicturePark1101 commented Apr 10, 2025

작업내용

임장 리스트 - 공유하기 선택 API 구현
임장리스트

상세설명_ & 캡쳐

로컬에서 테스트 완료

임장 리포지토리에서 가져올 때 rewardPencil이 null이 아닌 것들을 가져오도록 구현했습니다.

  • addressEntity, limjangPrice, report(left join) 과 fetch join
	@Query("SELECT l FROM Limjang l join fetch l.addressEntity join fetch l.limjangPrice left join fetch l.report WHERE l.memberId = :member AND l.deleted = false AND l.rewardPencil IS NOT null ")
	List<Limjang> findAllByMemberWithAddressAndNotePriceWhereRewardPencilIsNotNullAndDeletedIsFalse(
		@Param("member") Member member);

리스트 중 이미지 1개만 가져오게 하는 부분을 QueryDSL을 통해서 구현했습니다.

  • 가장 먼저 생성된 이미지를 출력해야함
	@Override
	public List<Image> findAllFirstCreatedImagePerNote(List<Limjang> limjangs) {
		return queryFactory
			.selectFrom(image)
			.where(image.imageId.in(
				subqueryFirstCreatedImagePerNote(limjangs)
			))
			.fetch();
	}

	private JPQLQuery<Long> subqueryFirstCreatedImagePerNote(List<Limjang> limjangs) {
		return JPAExpressions
			.select(image.imageId.min())
			.from(image)
			.where(image.limjangId.in(limjangs))
			.groupBy(image.limjangId);
	}

결과

{
  "isSuccess": true,
  "code": "COMMON200",
  "message": "성공입니다.",
  "result": {
    "notes": [
      {
        "noteId": 1,
        "purposeType": "RESIDENTIAL_PURPOSE",
        "propertyType": "APARTMENT",
        "priceType": "MARKET_PRICE",
        "name": "내집",
        "imageUrl": "https://juinjangbucket.s3.ap-northeast-2.amazonaws.com/image/2536fc00-eef1-4c99-baa3-3103c49d08d8free-icon-github-logo-25231.png",
        "isScraped": false,
        "rate": null,
        "price": "2200000000",
        "monthlyRent": null,
        "pyong": 10,
        "floor": "10",
        "shortAddress": "강남구 신사동",
        "rewardPencil": 3
      },
      {
        "noteId": 2,
        "purposeType": "INVESTMENT",
        "propertyType": "APARTMENT",
        "priceType": "SALE",
        "name": "내집",
        "imageUrl": null,
        "isScraped": false,
        "rate": null,
        "price": "100000",
        "monthlyRent": null,
        "pyong": 10,
        "floor": "5",
        "shortAddress": "구리시 인창동",
        "rewardPencil": 3
      }
    ]
  }
}

@PicturePark1101 PicturePark1101 self-assigned this Apr 10, 2025
@PicturePark1101 PicturePark1101 added ✨ feature 기능 추가 진이 작업했습니다. 👊🏻 PULL REQUEST pr날릴때 labels Apr 10, 2025
@PicturePark1101 PicturePark1101 merged commit 81b5ff6 into dev Apr 12, 2025
1 check passed
PicturePark1101 added a commit that referenced this pull request Jun 1, 2025
[feat/#322] 임장 리스트 - 공유하기 선택 API 구현
@essaysir essaysir deleted the feat/#322 branch September 10, 2025 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ feature 기능 추가 진이 작업했습니다. 👊🏻 PULL REQUEST pr날릴때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants