parent
0d402b608c
commit
71937ce89c
|
@ -6,13 +6,15 @@ import kr.co.vividnext.sodalive.live.signature.SignatureCan
|
||||||
import kr.co.vividnext.sodalive.member.QMember.member
|
import kr.co.vividnext.sodalive.member.QMember.member
|
||||||
import org.springframework.data.jpa.repository.JpaRepository
|
import org.springframework.data.jpa.repository.JpaRepository
|
||||||
|
|
||||||
interface SignatureCanRepository : JpaRepository<SignatureCan, Long>, SignatureCanQueryRepository
|
interface AdminAdminSignatureCanRepository : JpaRepository<SignatureCan, Long>, AdminSignatureCanQueryRepository
|
||||||
|
|
||||||
interface SignatureCanQueryRepository {
|
interface AdminSignatureCanQueryRepository {
|
||||||
fun getSignatureCanList(imageHost: String, offset: Long, limit: Long): List<GetSignatureCanListResponse>
|
fun getSignatureCanList(imageHost: String, offset: Long, limit: Long): List<GetSignatureCanListResponse>
|
||||||
}
|
}
|
||||||
|
|
||||||
class SignatureCanQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : SignatureCanQueryRepository {
|
class AdminSignatureCanQueryRepositoryImpl(
|
||||||
|
private val queryFactory: JPAQueryFactory
|
||||||
|
) : AdminSignatureCanQueryRepository {
|
||||||
override fun getSignatureCanList(imageHost: String, offset: Long, limit: Long): List<GetSignatureCanListResponse> {
|
override fun getSignatureCanList(imageHost: String, offset: Long, limit: Long): List<GetSignatureCanListResponse> {
|
||||||
return queryFactory.select(
|
return queryFactory.select(
|
||||||
QGetSignatureCanListResponse(
|
QGetSignatureCanListResponse(
|
|
@ -15,7 +15,7 @@ import org.springframework.web.multipart.MultipartFile
|
||||||
@RestController
|
@RestController
|
||||||
@PreAuthorize("hasRole('ADMIN')")
|
@PreAuthorize("hasRole('ADMIN')")
|
||||||
@RequestMapping("/admin/live/signature-can")
|
@RequestMapping("/admin/live/signature-can")
|
||||||
class SignatureCanController(private val service: SignatureCanService) {
|
class AdminSignatureCanController(private val service: AdminSignatureCanService) {
|
||||||
@GetMapping
|
@GetMapping
|
||||||
fun getSignatureCanList(pageable: Pageable) = ApiResponse.ok(data = service.getSignatureCanList(pageable))
|
fun getSignatureCanList(pageable: Pageable) = ApiResponse.ok(data = service.getSignatureCanList(pageable))
|
||||||
|
|
|
@ -14,8 +14,8 @@ import org.springframework.transaction.annotation.Transactional
|
||||||
import org.springframework.web.multipart.MultipartFile
|
import org.springframework.web.multipart.MultipartFile
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
class SignatureCanService(
|
class AdminSignatureCanService(
|
||||||
private val repository: SignatureCanRepository,
|
private val repository: AdminAdminSignatureCanRepository,
|
||||||
private val memberRepository: MemberRepository,
|
private val memberRepository: MemberRepository,
|
||||||
|
|
||||||
private val s3Uploader: S3Uploader,
|
private val s3Uploader: S3Uploader,
|
|
@ -43,6 +43,7 @@ import kr.co.vividnext.sodalive.live.room.menu.LiveRoomMenuService
|
||||||
import kr.co.vividnext.sodalive.live.room.menu.UpdateLiveMenuRequest
|
import kr.co.vividnext.sodalive.live.room.menu.UpdateLiveMenuRequest
|
||||||
import kr.co.vividnext.sodalive.live.room.visit.LiveRoomVisitService
|
import kr.co.vividnext.sodalive.live.room.visit.LiveRoomVisitService
|
||||||
import kr.co.vividnext.sodalive.live.roulette.NewRouletteRepository
|
import kr.co.vividnext.sodalive.live.roulette.NewRouletteRepository
|
||||||
|
import kr.co.vividnext.sodalive.live.signature.SignatureCanRepository
|
||||||
import kr.co.vividnext.sodalive.live.tag.LiveTagRepository
|
import kr.co.vividnext.sodalive.live.tag.LiveTagRepository
|
||||||
import kr.co.vividnext.sodalive.member.Gender
|
import kr.co.vividnext.sodalive.member.Gender
|
||||||
import kr.co.vividnext.sodalive.member.Member
|
import kr.co.vividnext.sodalive.member.Member
|
||||||
|
@ -76,6 +77,7 @@ class LiveRoomService(
|
||||||
private val roomCancelRepository: LiveRoomCancelRepository,
|
private val roomCancelRepository: LiveRoomCancelRepository,
|
||||||
private val kickOutService: LiveRoomKickOutService,
|
private val kickOutService: LiveRoomKickOutService,
|
||||||
private val blockMemberRepository: BlockMemberRepository,
|
private val blockMemberRepository: BlockMemberRepository,
|
||||||
|
private val signatureCanRepository: SignatureCanRepository,
|
||||||
|
|
||||||
private val applicationEventPublisher: ApplicationEventPublisher,
|
private val applicationEventPublisher: ApplicationEventPublisher,
|
||||||
private val useCanCalculateRepository: UseCanCalculateRepository,
|
private val useCanCalculateRepository: UseCanCalculateRepository,
|
||||||
|
@ -970,7 +972,7 @@ class LiveRoomService(
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
fun donation(request: LiveRoomDonationRequest, member: Member) {
|
fun donation(request: LiveRoomDonationRequest, member: Member): String? {
|
||||||
val room = repository.findByIdOrNull(request.roomId)
|
val room = repository.findByIdOrNull(request.roomId)
|
||||||
?: throw SodaException("해당하는 라이브가 없습니다.")
|
?: throw SodaException("해당하는 라이브가 없습니다.")
|
||||||
|
|
||||||
|
@ -1003,6 +1005,12 @@ class LiveRoomService(
|
||||||
roomInfoRepository.save(roomInfo)
|
roomInfoRepository.save(roomInfo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return signatureCanRepository.findImageByCreatorIdAndCan(
|
||||||
|
creatorId = host.id!!,
|
||||||
|
can = request.can,
|
||||||
|
imageHost = cloudFrontHost
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
package kr.co.vividnext.sodalive.live.signature
|
||||||
|
|
||||||
|
import com.querydsl.jpa.impl.JPAQueryFactory
|
||||||
|
import kr.co.vividnext.sodalive.live.signature.QSignatureCan.signatureCan
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository
|
||||||
|
|
||||||
|
interface SignatureCanRepository : JpaRepository<SignatureCan, Long>, SignatureCanQueryRepository
|
||||||
|
|
||||||
|
interface SignatureCanQueryRepository {
|
||||||
|
fun findImageByCreatorIdAndCan(creatorId: Long, can: Int, imageHost: String): String?
|
||||||
|
}
|
||||||
|
|
||||||
|
class SignatureCanQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : SignatureCanQueryRepository {
|
||||||
|
override fun findImageByCreatorIdAndCan(creatorId: Long, can: Int, imageHost: String): String? {
|
||||||
|
return queryFactory
|
||||||
|
.select(signatureCan.image.prepend("/").prepend(imageHost))
|
||||||
|
.from(signatureCan)
|
||||||
|
.where(
|
||||||
|
signatureCan.creator.id.eq(creatorId)
|
||||||
|
.and(signatureCan.can.eq(can))
|
||||||
|
.and(signatureCan.isActive.isTrue)
|
||||||
|
)
|
||||||
|
.fetchFirst()
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue