feat(home-recommendation): AI 캐릭터 creatorId 조회를 추가한다
This commit is contained in:
@@ -21,6 +21,8 @@ import kr.co.vividnext.sodalive.explorer.profile.creatorCommunity.QCreatorCommun
|
||||
import kr.co.vividnext.sodalive.explorer.profile.creatorCommunity.comment.QCreatorCommunityComment.creatorCommunityComment
|
||||
import kr.co.vividnext.sodalive.explorer.profile.creatorCommunity.like.QCreatorCommunityLike.creatorCommunityLike
|
||||
import kr.co.vividnext.sodalive.live.room.QLiveRoom.liveRoom
|
||||
import kr.co.vividnext.sodalive.member.MemberKind
|
||||
import kr.co.vividnext.sodalive.member.MemberRole
|
||||
import kr.co.vividnext.sodalive.member.QMember
|
||||
import kr.co.vividnext.sodalive.member.QMember.member
|
||||
import kr.co.vividnext.sodalive.member.block.QBlockMember
|
||||
@@ -688,12 +690,14 @@ class DefaultHomeRecommendationQueryRepository(
|
||||
): List<HomeAiCharacterRecommendationRecord> {
|
||||
if (characterIds.isEmpty()) return emptyList()
|
||||
val linkedOriginalWork = QOriginalWork("linkedOriginalWork")
|
||||
val creatorMember = QMember("creatorMember")
|
||||
|
||||
return queryFactory
|
||||
.select(
|
||||
Projections.constructor(
|
||||
HomeAiCharacterRecommendationRecord::class.java,
|
||||
chatCharacter.id,
|
||||
creatorMember.id,
|
||||
chatCharacter.name,
|
||||
chatCharacter.description,
|
||||
chatCharacter.imagePath,
|
||||
@@ -702,6 +706,7 @@ class DefaultHomeRecommendationQueryRepository(
|
||||
)
|
||||
)
|
||||
.from(chatCharacter)
|
||||
.join(chatCharacter.creatorMember, creatorMember)
|
||||
.leftJoin(chatCharacter.originalWork, linkedOriginalWork).on(linkedOriginalWork.isDeleted.isFalse)
|
||||
.leftJoin(chatParticipant).on(
|
||||
chatParticipant.character.id.eq(chatCharacter.id),
|
||||
@@ -712,9 +717,16 @@ class DefaultHomeRecommendationQueryRepository(
|
||||
chatMessage.participant.id.eq(chatParticipant.id),
|
||||
chatMessage.isActive.isTrue
|
||||
)
|
||||
.where(chatCharacter.isActive.isTrue, chatCharacter.id.`in`(characterIds))
|
||||
.where(
|
||||
chatCharacter.isActive.isTrue,
|
||||
chatCharacter.id.`in`(characterIds),
|
||||
creatorMember.isActive.isTrue,
|
||||
creatorMember.role.eq(MemberRole.CREATOR),
|
||||
creatorMember.memberKind.eq(MemberKind.AI_CHARACTER)
|
||||
)
|
||||
.groupBy(
|
||||
chatCharacter.id,
|
||||
creatorMember.id,
|
||||
chatCharacter.name,
|
||||
chatCharacter.description,
|
||||
chatCharacter.imagePath,
|
||||
|
||||
@@ -121,6 +121,7 @@ data class HomeFirstAudioContentRecord(
|
||||
|
||||
data class HomeAiCharacterRecommendationRecord(
|
||||
val characterId: Long,
|
||||
val creatorId: Long,
|
||||
val name: String,
|
||||
val description: String,
|
||||
val profileImage: String?,
|
||||
|
||||
Reference in New Issue
Block a user