콘텐츠 API 추가
This commit is contained in:
@@ -13,6 +13,8 @@ import kr.co.vividnext.sodalive.can.use.UseCanCalculateRepository
|
||||
import kr.co.vividnext.sodalive.can.use.UseCanCalculateStatus
|
||||
import kr.co.vividnext.sodalive.can.use.UseCanRepository
|
||||
import kr.co.vividnext.sodalive.common.SodaException
|
||||
import kr.co.vividnext.sodalive.content.AudioContent
|
||||
import kr.co.vividnext.sodalive.content.order.Order
|
||||
import kr.co.vividnext.sodalive.live.room.LiveRoom
|
||||
import kr.co.vividnext.sodalive.member.MemberRepository
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
@@ -33,6 +35,8 @@ class CanPaymentService(
|
||||
needCan: Int,
|
||||
canUsage: CanUsage,
|
||||
liveRoom: LiveRoom? = null,
|
||||
order: Order? = null,
|
||||
audioContent: AudioContent? = null,
|
||||
container: String
|
||||
) {
|
||||
val member = memberRepository.findByIdOrNull(id = memberId)
|
||||
@@ -72,6 +76,14 @@ class CanPaymentService(
|
||||
recipientId = liveRoom.member!!.id!!
|
||||
useCan.room = liveRoom
|
||||
useCan.member = member
|
||||
} else if (canUsage == CanUsage.ORDER_CONTENT && order != null) {
|
||||
recipientId = order.creator!!.id!!
|
||||
useCan.order = order
|
||||
useCan.member = member
|
||||
} else if (canUsage == CanUsage.DONATION && audioContent != null) {
|
||||
recipientId = audioContent.member!!.id!!
|
||||
useCan.audioContent = audioContent
|
||||
useCan.member = member
|
||||
} else {
|
||||
throw SodaException("잘못된 요청입니다.")
|
||||
}
|
||||
|
@@ -1,6 +1,8 @@
|
||||
package kr.co.vividnext.sodalive.can.use
|
||||
|
||||
import kr.co.vividnext.sodalive.common.BaseEntity
|
||||
import kr.co.vividnext.sodalive.content.AudioContent
|
||||
import kr.co.vividnext.sodalive.content.order.Order
|
||||
import kr.co.vividnext.sodalive.live.room.LiveRoom
|
||||
import kr.co.vividnext.sodalive.member.Member
|
||||
import javax.persistence.CascadeType
|
||||
@@ -11,6 +13,7 @@ import javax.persistence.FetchType
|
||||
import javax.persistence.JoinColumn
|
||||
import javax.persistence.ManyToOne
|
||||
import javax.persistence.OneToMany
|
||||
import javax.persistence.OneToOne
|
||||
|
||||
@Entity
|
||||
data class UseCan(
|
||||
@@ -35,6 +38,14 @@ data class UseCan(
|
||||
field = value
|
||||
}
|
||||
|
||||
@OneToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "order_id", nullable = true)
|
||||
var order: Order? = null
|
||||
|
||||
@OneToOne(fetch = FetchType.LAZY)
|
||||
@JoinColumn(name = "content_id", nullable = true)
|
||||
var audioContent: AudioContent? = null
|
||||
|
||||
@OneToMany(mappedBy = "useCan", cascade = [CascadeType.ALL])
|
||||
val useCanCalculates: MutableList<UseCanCalculate> = mutableListOf()
|
||||
}
|
||||
|
Reference in New Issue
Block a user