대머리개발자

쿠폰시스템 개발 본문

개발이야기/개념

쿠폰시스템 개발

대머리개발자 2023. 12. 17. 17:50
728x90

쿠폰 시스템을 개발해야 한다.

인증서버 -> 커뮤니티 서버 -> 이벤트 서버 -> 쿠폰시스템

다음이 아직 없지만 벌써 부터 무엇을 할지 기대된다. 회사 생활이 즐겁다잉!!ㅋㅋㅋ

 

서버 스펙은

아르메리아 프레임워크 with 코틀린 셋팅은 끝났다. 달려보자

implementation 'org.springframework.boot:spring-boot-starter-data-r2dbc'
//implementation 'org.springframework.boot:spring-boot-starter-data-redis-reactive'

implementation 'org.redisson:redisson-spring-boot-starter:3.19.3'

implementation 'io.projectreactor.kotlin:reactor-kotlin-extensions'
implementation 'org.jetbrains.kotlin:kotlin-reflect'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-reactor'

// armeria
implementation 'com.linecorp.armeria:armeria-spring-boot3-webflux-starter'
implementation platform('com.linecorp.armeria:armeria-bom:1.26.2')

// mysql r2dbc
implementation 'io.r2dbc:r2dbc-pool:1.0.0.RELEASE'
runtimeOnly 'io.asyncer:r2dbc-mysql:0.9.5'

implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5'

implementation 'com.google.code.gson:gson:2.10.1'

 

 

10자리 쿠폰코드를 만들어 달라고 AI친구에 부탁했다.

fun generateCouponCodeFlux(): Mono<String> {
    val characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    val codeLength = 10

    return Flux.fromIterable(1..codeLength)
        .map {
            characters[Random.nextInt(characters.length)].toString()
        }
        .reduce { code1, code2  -> "$code1$code2" }
}

 

기가 막히네 ㅋㅋ 

10자리 쿠폰코드가 유일한지만 보장을 하면 된다... 아따..! 너무 좋으다.

 

중복검사를 따로 하기 귀찮으니  PK로 만들어서 사용해야겠다.

아..근데 어지간하면 PK는 시퀀스로 할라고 했느데...순간 갈등이..

728x90

'개발이야기 > 개념' 카테고리의 다른 글

Armeria를 사용하는 이유  (0) 2024.03.12
쿠폰시스템 개발(2)  (0) 2023.12.19
Map vs. DTO  (0) 2023.12.14
SPA..  (0) 2023.12.13
게시판에서 공지 기능 만들기  (2) 2023.12.07