parent
d74f1ddb81
commit
5db181aa74
|
@ -3,6 +3,7 @@ package kr.co.vividnext.sodalive.admin.marketing
|
|||
import kr.co.vividnext.sodalive.common.ApiResponse
|
||||
import org.springframework.security.access.prepost.PreAuthorize
|
||||
import org.springframework.web.bind.annotation.PostMapping
|
||||
import org.springframework.web.bind.annotation.PutMapping
|
||||
import org.springframework.web.bind.annotation.RequestBody
|
||||
import org.springframework.web.bind.annotation.RequestMapping
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
|
@ -15,4 +16,9 @@ class AdminAdMediaPartnerController(private val service: AdminAdMediaPartnerServ
|
|||
fun createMediaPartner(
|
||||
@RequestBody request: CreateAdMediaPartnerRequest
|
||||
) = ApiResponse.ok(service.createMediaPartner(request))
|
||||
|
||||
@PutMapping
|
||||
fun updateMediaPartner(
|
||||
@RequestBody request: UpdateAdMediaPartnerRequest
|
||||
) = ApiResponse.ok(service.updateMediaPartner(request))
|
||||
}
|
||||
|
|
|
@ -1,12 +1,50 @@
|
|||
package kr.co.vividnext.sodalive.admin.marketing
|
||||
|
||||
import kr.co.vividnext.sodalive.common.SodaException
|
||||
import kr.co.vividnext.sodalive.marketing.AdMediaPartnerRepository
|
||||
import org.springframework.data.repository.findByIdOrNull
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.annotation.Transactional
|
||||
|
||||
@Service
|
||||
class AdminAdMediaPartnerService(private val repository: AdMediaPartnerRepository) {
|
||||
@Transactional
|
||||
fun createMediaPartner(request: CreateAdMediaPartnerRequest) {
|
||||
val mediaPartner = request.toEntity()
|
||||
repository.save(mediaPartner)
|
||||
}
|
||||
|
||||
@Transactional
|
||||
fun updateMediaPartner(request: UpdateAdMediaPartnerRequest) {
|
||||
val entity = repository.findByIdOrNull(request.id)
|
||||
?: throw SodaException("잘못된 접근입니다")
|
||||
|
||||
if (request.mediaGroup != null) {
|
||||
entity.mediaGroup = request.mediaGroup
|
||||
}
|
||||
|
||||
if (request.pid != null) {
|
||||
entity.pid = request.pid
|
||||
}
|
||||
|
||||
if (request.pidName != null) {
|
||||
entity.pidName = request.pidName
|
||||
}
|
||||
|
||||
if (request.type != null) {
|
||||
entity.type = request.type
|
||||
}
|
||||
|
||||
if (request.utmSource != null) {
|
||||
entity.utmSource = request.utmSource
|
||||
}
|
||||
|
||||
if (request.utmMedium != null) {
|
||||
entity.utmMedium = request.utmMedium
|
||||
}
|
||||
|
||||
if (request.isActive != null) {
|
||||
entity.isActive = request.isActive
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package kr.co.vividnext.sodalive.admin.marketing
|
||||
|
||||
import kr.co.vividnext.sodalive.marketing.AdMediaPartnerType
|
||||
|
||||
data class UpdateAdMediaPartnerRequest(
|
||||
val id: Long,
|
||||
val mediaGroup: String?,
|
||||
val pid: String?,
|
||||
val pidName: String?,
|
||||
val type: AdMediaPartnerType?,
|
||||
val utmSource: String?,
|
||||
val utmMedium: String?,
|
||||
val isActive: Boolean?
|
||||
)
|
|
@ -7,14 +7,14 @@ import javax.persistence.Enumerated
|
|||
|
||||
@Entity
|
||||
data class AdMediaPartner(
|
||||
val mediaGroup: String,
|
||||
val pid: String,
|
||||
val pidName: String,
|
||||
var mediaGroup: String,
|
||||
var pid: String,
|
||||
var pidName: String,
|
||||
@Enumerated(value = EnumType.STRING)
|
||||
val type: AdMediaPartnerType,
|
||||
val utmSource: String,
|
||||
val utmMedium: String,
|
||||
val isActive: Boolean = true
|
||||
var type: AdMediaPartnerType,
|
||||
var utmSource: String,
|
||||
var utmMedium: String,
|
||||
var isActive: Boolean = true
|
||||
) : BaseEntity()
|
||||
|
||||
enum class AdMediaPartnerType {
|
||||
|
|
Loading…
Reference in New Issue