From 8bc5e28e686b5320bd7407e39dda7b6074b1786f Mon Sep 17 00:00:00 2001 From: Mingyu Song <100754581+mikekks@users.noreply.github.com> Date: Wed, 21 Aug 2024 00:59:02 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20formTag=20=EC=B6=94=EA=B0=80=20(#173)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../layer/domain/space/controller/dto/SpaceResponse.java | 3 +++ .../org/layer/domain/space/dto/SpaceWithMemberCount.java | 7 ++++++- .../layer/domain/space/repository/SpaceRepositoryImpl.java | 5 ++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/layer-api/src/main/java/org/layer/domain/space/controller/dto/SpaceResponse.java b/layer-api/src/main/java/org/layer/domain/space/controller/dto/SpaceResponse.java index 63f566ba..c9d0be01 100644 --- a/layer-api/src/main/java/org/layer/domain/space/controller/dto/SpaceResponse.java +++ b/layer-api/src/main/java/org/layer/domain/space/controller/dto/SpaceResponse.java @@ -45,6 +45,8 @@ public record SpaceWithMemberCountInfo( @Schema(description = "설정된 회고 폼 아이디") Long formId, + @Schema(description = "설정된 회고 폼 태그") + String formTag, @Schema(description = "소속된 회원 수") Long memberCount, @@ -75,6 +77,7 @@ public static SpaceWithMemberCountInfo toResponse(SpaceWithMemberCount space) { .name(it.getName()) .introduction(it.getIntroduction()) .formId(it.getFormId()) + .formTag(it.getFormTag()) .memberCount(it.getMemberCount()) .bannerUrl(it.getBannerUrl()) .createdAt(it.getCreatedAt()) diff --git a/layer-domain/src/main/java/org/layer/domain/space/dto/SpaceWithMemberCount.java b/layer-domain/src/main/java/org/layer/domain/space/dto/SpaceWithMemberCount.java index eee73247..b3216b3d 100644 --- a/layer-domain/src/main/java/org/layer/domain/space/dto/SpaceWithMemberCount.java +++ b/layer-domain/src/main/java/org/layer/domain/space/dto/SpaceWithMemberCount.java @@ -4,6 +4,8 @@ import jakarta.validation.constraints.NotNull; import lombok.Getter; import lombok.Setter; + +import org.layer.domain.form.enums.FormTag; import org.layer.domain.member.entity.Member; import org.layer.domain.space.entity.SpaceCategory; import org.layer.domain.space.entity.SpaceField; @@ -29,12 +31,14 @@ public class SpaceWithMemberCount { @NotNull private Leader leader; private Long formId; + private String formTag; private Long memberCount; private String bannerUrl; @QueryProjection - public SpaceWithMemberCount(Long id, LocalDateTime createdAt, LocalDateTime updatedAt, SpaceCategory category, List fieldList, String name, String introduction, Member leader, Long formId, Long memberCount, String bannerUrl) { + public SpaceWithMemberCount(Long id, LocalDateTime createdAt, LocalDateTime updatedAt, SpaceCategory category, List fieldList, String name, String introduction, Member leader, Long formId, FormTag formTag, Long memberCount, String bannerUrl) { + this.id = id; this.createdAt = createdAt; this.updatedAt = updatedAt; @@ -44,6 +48,7 @@ public SpaceWithMemberCount(Long id, LocalDateTime createdAt, LocalDateTime upda this.introduction = introduction; this.leader = Leader.builder().id(leader.getId()).name(leader.getName()).build(); this.formId = formId; + this.formTag = formTag != null ? formTag.getTag() : null; this.memberCount = memberCount; this.bannerUrl = bannerUrl; } diff --git a/layer-domain/src/main/java/org/layer/domain/space/repository/SpaceRepositoryImpl.java b/layer-domain/src/main/java/org/layer/domain/space/repository/SpaceRepositoryImpl.java index c4ead7b9..95c75594 100644 --- a/layer-domain/src/main/java/org/layer/domain/space/repository/SpaceRepositoryImpl.java +++ b/layer-domain/src/main/java/org/layer/domain/space/repository/SpaceRepositoryImpl.java @@ -107,6 +107,7 @@ private JPAQuery getSpaceWithMemberCountQuery() { space.introduction, member, space.formId, + form.formTag, memberCountRelationTable.space.id.count().as("memberCount"), space.bannerUrl )) @@ -114,7 +115,9 @@ private JPAQuery getSpaceWithMemberCountQuery() { .leftJoin(memberSpaceRelation).on(space.id.eq(memberSpaceRelation.space.id)) .leftJoin(memberCountRelationTable).on(space.id.eq(memberCountRelationTable.space.id)) .leftJoin(member).on(space.leaderId.eq(member.id)) - .leftJoin(form).on(space.formId.eq(form.spaceId)); + .leftJoin(form).on(space.formId.eq(form.id)) + .orderBy(form.id.desc()) + .limit(1); }