From f0fc99642632490b4e7da2559657ab99814f33a9 Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 21 Jul 2025 20:28:21 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=20?= =?UTF-8?q?=EB=A9=94=EC=9D=B8=20API=20-=20=EC=B5=9C=EA=B7=BC=20=EC=A2=85?= =?UTF-8?q?=EB=A3=8C=EB=90=9C=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=20-=20?= =?UTF-8?q?=EB=82=A0=EC=A7=9C=20=EC=A0=9C=ED=95=9C=201=EC=A3=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vividnext/sodalive/live/room/LiveRoomRepository.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt index 9d9eee7..9ead291 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt @@ -396,7 +396,7 @@ class LiveRoomQueryRepositoryImpl( .and(subLiveRoom.channelName.isNotNull) .and(subLiveRoom.member.role.eq(MemberRole.CREATOR)) .and(subLiveRoom.member.isActive.isTrue) - .and(subLiveRoom.updatedAt.goe(LocalDateTime.now().minusWeeks(2))) + .and(subLiveRoom.updatedAt.goe(LocalDateTime.now().minusWeeks(1))) ) .groupBy(subLiveRoom.member.id) @@ -412,8 +412,11 @@ class LiveRoomQueryRepositoryImpl( .from(liveRoom) .innerJoin(liveRoom.member, member) .where( - Expressions.list(liveRoom.member.id, liveRoom.updatedAt) - .`in`(subQuery) + liveRoom.updatedAt.goe(LocalDateTime.now().minusWeeks(1)) + .and( + Expressions.list(liveRoom.member.id, liveRoom.updatedAt) + .`in`(subQuery) + ) ) .orderBy(liveRoom.updatedAt.desc()) .limit(20) -- 2.40.1 From 804e1393853fc03cff8abfb7906ce4fcb25f3c63 Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 21 Jul 2025 20:39:54 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=20?= =?UTF-8?q?=EB=A9=94=EC=9D=B8=20API=20-=20=EC=B5=9C=EA=B7=BC=20=EC=A2=85?= =?UTF-8?q?=EB=A3=8C=EB=90=9C=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=20-=20?= =?UTF-8?q?=EC=BF=BC=EB=A6=AC=20=EC=B5=9C=EC=A0=81=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/live/room/LiveRoomRepository.kt | 31 +++++-------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt index 9ead291..da71f49 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt @@ -4,7 +4,6 @@ import com.querydsl.core.types.Projections import com.querydsl.core.types.dsl.CaseBuilder import com.querydsl.core.types.dsl.Expressions import com.querydsl.core.types.dsl.NumberExpression -import com.querydsl.jpa.JPAExpressions import com.querydsl.jpa.impl.JPAQueryFactory import kr.co.vividnext.sodalive.can.use.CanUsage import kr.co.vividnext.sodalive.can.use.QUseCan.useCan @@ -385,40 +384,26 @@ class LiveRoomQueryRepositoryImpl( } override fun getLatestFinishedLive(): List { - val liveRoom = liveRoom - val subLiveRoom = QLiveRoom.liveRoom - - val subQuery = JPAExpressions - .select(subLiveRoom.member.id, subLiveRoom.updatedAt.max()) - .from(subLiveRoom) - .where( - subLiveRoom.isActive.isFalse - .and(subLiveRoom.channelName.isNotNull) - .and(subLiveRoom.member.role.eq(MemberRole.CREATOR)) - .and(subLiveRoom.member.isActive.isTrue) - .and(subLiveRoom.updatedAt.goe(LocalDateTime.now().minusWeeks(1))) - ) - .groupBy(subLiveRoom.member.id) - return queryFactory .select( QGetLatestFinishedLiveQueryResponse( member.id, member.nickname, member.profileImage.prepend("/").prepend(cloudFrontHost), - liveRoom.updatedAt + liveRoom.updatedAt.max() ) ) .from(liveRoom) .innerJoin(liveRoom.member, member) .where( - liveRoom.updatedAt.goe(LocalDateTime.now().minusWeeks(1)) - .and( - Expressions.list(liveRoom.member.id, liveRoom.updatedAt) - .`in`(subQuery) - ) + liveRoom.isActive.isFalse + .and(liveRoom.channelName.isNotNull) + .and(liveRoom.updatedAt.goe(LocalDateTime.now().minusWeeks(1))) + .and(member.isActive.isTrue) + .and(member.role.eq(MemberRole.CREATOR)) ) - .orderBy(liveRoom.updatedAt.desc()) + .groupBy(member.id) + .orderBy(liveRoom.updatedAt.max().desc()) .limit(20) .fetch() } -- 2.40.1