From b19e8641816d80b348de4f78df99013567bb8da5 Mon Sep 17 00:00:00 2001 From: Raymond Date: Mon, 26 Aug 2024 00:44:27 +0900 Subject: [PATCH] test: k3s deploy action --- .github/workflows/k3s.yaml | 4 +- .../space/repository/SpaceRepositoryImpl.java | 43 ++++++++++++++++--- 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/.github/workflows/k3s.yaml b/.github/workflows/k3s.yaml index 5c23bac5..99c42e7d 100644 --- a/.github/workflows/k3s.yaml +++ b/.github/workflows/k3s.yaml @@ -3,7 +3,7 @@ name: Spring Boot Multi-module K3s Deployment on: push: branches: - - chore/k3s + - develop env: REGISTRY: "ghcr.io" @@ -167,7 +167,7 @@ jobs: volumes: - name: secret-volume secret: - secretName: app-secret + secretName: app-secret-dev - name: log-volume emptyDir: {} - name: tokens-volume 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 b27e76b4..fb37fa0a 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 @@ -50,8 +50,9 @@ public List findAllSpacesByMemberIdAndCategoryAndCursor(Lo @Override public Optional findByIdAndJoinedMemberId(Long spaceId, Long memberId) { - var foundSpace = getSpaceWithMemberCountQuery().where(memberSpaceRelation.memberId.eq(memberId).and(space.id.eq(spaceId))).fetchOne(); - + var foundSpace = getSpaceWithMemberCountQuery(memberId) + .where(space.id.eq(spaceId)) + .fetchOne(); if (foundSpace == null || isSpaceWithMemberCountEmpty(foundSpace)) { return Optional.empty(); @@ -133,12 +134,42 @@ private JPAQuery getSpaceWithMemberCountQuery() { } + private JPAQuery getSpaceWithMemberCountQuery(Long memberId) { + log.info("CALL"); + QMemberSpaceRelation memberCountRelationTable = new QMemberSpaceRelation("msr"); + return queryFactory.select( + new QSpaceWithMemberCount( + space.id, + space.createdAt, + space.updatedAt, + space.category, + space.fieldList, + space.name, + space.introduction, + member, + space.formId, + form.formTag, + memberCountRelationTable.space.id.count().as("memberCount"), + space.bannerUrl + )) + .from(space) + .innerJoin(memberSpaceRelation).on(space.id.eq(memberSpaceRelation.space.id) + .and(memberSpaceRelation.memberId.eq(memberId))) // INNER JOIN 사용 + .leftJoin(memberCountRelationTable).on(space.id.eq(memberCountRelationTable.space.id)) + .leftJoin(member).on(space.leaderId.eq(member.id)) + .leftJoin(form).on(space.formId.eq(form.id)) + .orderBy(form.id.desc()) + .limit(1); + } - private BooleanExpression hasCategory(Optional category) { - return category.map(space.category::eq).orElse(null); + + private boolean isSpaceWithMemberCountEmpty(SpaceWithMemberCount spaceWithMemberCount) { + // spaceWithMemberCount의 필드들이 null 또는 기본값인지 확인 + return spaceWithMemberCount.getId() == null || + spaceWithMemberCount.getMemberCount() == null || spaceWithMemberCount.getLeader() == null; } - private boolean isSpaceWithMemberCountEmpty(SpaceWithMemberCount space) { - return space.getId() == null && space.getName() == null && space.getMemberCount() == 0; + private BooleanExpression hasCategory(Optional category) { + return category.map(space.category::eq).orElse(null); } }