오디션 투표 API

- 투표시 어떤 오디션 지원에 투표했는지 기록
- 캔 사용내역에 "[오디션 투표] 닉네임" 추가
This commit is contained in:
Klaus 2025-01-03 00:42:54 +09:00
parent cd0c066978
commit 82b109e3bd
4 changed files with 11 additions and 0 deletions

View File

@ -52,6 +52,7 @@ class AuditionVoteService(
memberId = member.id!!, memberId = member.id!!,
needCan = 1, needCan = 1,
canUsage = CanUsage.AUDITION_VOTE, canUsage = CanUsage.AUDITION_VOTE,
auditionApplicant = applicant,
container = container container = container
) )
} }

View File

@ -71,6 +71,7 @@ class CanService(private val repository: CanRepository) {
CanUsage.ALARM_SLOT -> "알람 슬롯 구매" CanUsage.ALARM_SLOT -> "알람 슬롯 구매"
CanUsage.ORDER_CONTENT -> "[콘텐츠 구매] ${it.audioContent!!.title}" CanUsage.ORDER_CONTENT -> "[콘텐츠 구매] ${it.audioContent!!.title}"
CanUsage.PAID_COMMUNITY_POST -> "[게시글 보기] ${it.communityPost?.member?.nickname ?: ""}" CanUsage.PAID_COMMUNITY_POST -> "[게시글 보기] ${it.communityPost?.member?.nickname ?: ""}"
CanUsage.AUDITION_VOTE -> "[오디션 투표] ${it.auditionApplicant?.member?.nickname ?: ""}"
} }
val createdAt = it.createdAt!! val createdAt = it.createdAt!!

View File

@ -1,5 +1,6 @@
package kr.co.vividnext.sodalive.can.payment package kr.co.vividnext.sodalive.can.payment
import kr.co.vividnext.sodalive.audition.AuditionApplicant
import kr.co.vividnext.sodalive.can.CanRepository import kr.co.vividnext.sodalive.can.CanRepository
import kr.co.vividnext.sodalive.can.charge.Charge import kr.co.vividnext.sodalive.can.charge.Charge
import kr.co.vividnext.sodalive.can.charge.ChargeRepository import kr.co.vividnext.sodalive.can.charge.ChargeRepository
@ -41,6 +42,7 @@ class CanPaymentService(
order: Order? = null, order: Order? = null,
audioContent: AudioContent? = null, audioContent: AudioContent? = null,
communityPost: CreatorCommunity? = null, communityPost: CreatorCommunity? = null,
auditionApplicant: AuditionApplicant? = null,
container: String container: String
) { ) {
val member = memberRepository.findByIdOrNull(id = memberId) val member = memberRepository.findByIdOrNull(id = memberId)
@ -100,6 +102,8 @@ class CanPaymentService(
useCan.member = member useCan.member = member
} else if (canUsage == CanUsage.ALARM_SLOT) { } else if (canUsage == CanUsage.ALARM_SLOT) {
useCan.member = member useCan.member = member
} else if (canUsage == CanUsage.AUDITION_VOTE && auditionApplicant != null) {
useCan.member = member
} else if (canUsage == CanUsage.HEART && liveRoom != null) { } else if (canUsage == CanUsage.HEART && liveRoom != null) {
recipientId = liveRoom.member!!.id!! recipientId = liveRoom.member!!.id!!
useCan.room = liveRoom useCan.room = liveRoom

View File

@ -1,5 +1,6 @@
package kr.co.vividnext.sodalive.can.use package kr.co.vividnext.sodalive.can.use
import kr.co.vividnext.sodalive.audition.AuditionApplicant
import kr.co.vividnext.sodalive.common.BaseEntity import kr.co.vividnext.sodalive.common.BaseEntity
import kr.co.vividnext.sodalive.content.AudioContent import kr.co.vividnext.sodalive.content.AudioContent
import kr.co.vividnext.sodalive.content.order.Order import kr.co.vividnext.sodalive.content.order.Order
@ -53,6 +54,10 @@ data class UseCan(
@JoinColumn(name = "creator_community_id", nullable = true) @JoinColumn(name = "creator_community_id", nullable = true)
var communityPost: CreatorCommunity? = null var communityPost: CreatorCommunity? = null
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "audition_applicant_id", nullable = true)
var auditionApplicant: AuditionApplicant? = null
@OneToMany(mappedBy = "useCan", cascade = [CascadeType.ALL]) @OneToMany(mappedBy = "useCan", cascade = [CascadeType.ALL])
val useCanCalculates: MutableList<UseCanCalculate> = mutableListOf() val useCanCalculates: MutableList<UseCanCalculate> = mutableListOf()
} }