쿠폰 시스템

- 쿠폰 생성 API 추가
- 쿠폰 리스트 API 추가
This commit is contained in:
2024-01-01 04:46:57 +09:00
parent f304242eb4
commit 38cf9e453d
13 changed files with 265 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
package kr.co.vividnext.sodalive.aws.sqs
import org.springframework.context.event.EventListener
import org.springframework.scheduling.annotation.Async
import org.springframework.stereotype.Component
enum class SqsEventType {
GENERATE_COUPON
}
class SqsEvent(
val type: SqsEventType,
val message: String
)
@Component
class SqsEventListener(private val sqsService: SqsService) {
@Async
@EventListener
fun sendMessage(sqsEvent: SqsEvent) {
when (sqsEvent.type) {
SqsEventType.GENERATE_COUPON -> sqsService.sendGenerateCouponMessage(sqsEvent.message)
}
}
}

View File

@@ -0,0 +1,22 @@
package kr.co.vividnext.sodalive.aws.sqs
import com.amazonaws.services.sqs.AmazonSQS
import com.amazonaws.services.sqs.model.SendMessageRequest
import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Service
@Service
class SqsService(
private val amazonSQS: AmazonSQS,
@Value("\${cloud.aws.sqs.generate-coupon-url}")
private val generateCouponQueueUrl: String
) {
fun sendGenerateCouponMessage(message: String) {
val request = SendMessageRequest()
.withQueueUrl(generateCouponQueueUrl)
.withMessageBody(message)
amazonSQS.sendMessage(request)
}
}