Spec
•
강화하기
◦
강화하기
1.
부스트 강화 가능여부 체크하기 + '후적용, 구매전, 구매후' 위치별 체크 추가
2.
강화하기()
◦
부스트 강화 가능여부 체크하기
1.
강화하고자 하는 캠페인에 묶인 강화 정책이 존재하는가?
2.
강화가 가능한 Boost Promotion 타입인가? (일반 부스트만 가능, 선착순·타임어택·정기결제 → 불가능)
3.
캠페인이 진행중인가? or (구매한부스트 강화라면) 부스트가 사용 가능한가?
4.
강화가 켜져 있는가?
5.
강화 가능한 시간인가?
6.
강화 가능한 시점(부스트 구매전, 구매후, 후적용)인가?
7.
강화예산이 남아있는가?
8.
강화할 번개가 있는가?
◦
강화하기()
1.
부스트 강화 가능여부 체크하기
2.
(관리하기에서 정한 확율로) '실패 | 성공 | 잭팟' 여부를 저장 및 출력
◦
부스트 강화 결과 보여주기
•
부스트 목록에서 강화 표시하기
◦
부스트 목록에서 캠페인을 강화 버전으로 보여주기
•
부스트 상세에서 강화 가능여부 보여주기
◦
부스트 강화 가능여부 체크하기
◦
이미 강화된 내용이 있으면 보여주기
◦
오늘의 잭팟 유저 보여주기 or 해당 부스트 잭팟 유저 보여주기: 미확정
•
기존 부스트 관련 수정
◦
부스트 구매에 강화 적용하기
▪
boostId를 update한다.
◦
부스트 캐시백 지급에 강화 적용하기
▪
강화 상태를 '사용완료'로 수정한다.
◦
강화된 부스트가 적용된 결제의 취소 시 에 강화 적용하기
▪
강화 상태를 '미사용상태'로 변경하고 취소된 boostId를 삭제(=null처리) 해준다. (캠페인 목록에 다시 강화가 보여지게)
•
부스트 강화 관리하기
◦
강화 예산, 온오프, 날짜 등 보여주기
◦
강화 예산, 온오프, 날짜 등 설정하기
◦
강화 스키마 설정하기
▪
성공,실패,잭팟 별로 캐시백,할인율, 캐시백단위 설정하기
•
결제 취소
1.
(대부분은) 부스트를 다시 살려준다.
a.
구매한 부스트 목록에 강화가 적용되도록 변경한다.
b.
상태를 ‘enabled’로 변경
2.
(일부는) 부스트를 번개로 환불 해준다.
a.
캠페인 목록에 강화가 적용되도록 변경한다
b.
상태를 ‘enabled’로 변경 & boostId = null
Q. 업체측 사유로 결취를 당한 경우 억울하지 않을까?
Q. 해당 캠페인이 종료 되었다면 억울하지 않을까?
비기능적 Spec
•
누적 강화 결과를 key-value로 빠르게 조회 가능하게 하자.
•
강화 예산 소진을 memory에서 최대한 짧은 transaction으로 처리하자.
◦
한도가 거의 다 되가면 slack, 종료되도 slack 알림을 쏴주자
Design
기본 보기
Search
•
Url는 ~/v1 으로 시작하는 것은 api-server의 Url이고 없는건 boost-server url이다.
•
Response는 Response 객체 자체이거나 기존 Response에 추가되는 객체를 표시한다.
•
자세한 API스펙은 Swagger에 추가할 예정.
Relation Overview [Updated 12.18]
•
누런색이 추가된 엔티티
Relations [Updated 12.18]
Boost Up Flow [Updated 12.18]
실제 강화 로직
기본 보기
Search
DEV환경
•
boost-server Swagger
◦
api-server 호출과 input, output이 약간 다르다.
•
캠페인에 강화정책 맵핑 추가하기
◦
현재 dev에 강화 가능하도록 맵핑 된 campaignId
▪
246, 250, 265, 233, 249, 220, 251, 107
◦
필요 시 추가 맵핑하면 됨
Q&A
질문 및 요청사항 있으시면 여기에 추가해주세요~ 멘션까지 해주시면 더 빠르게 반응합니다~
Todo
BoostCampain - BoostUpPolicy 간 매핑 테이블 만들기
BoostUp - Brand 연관관계 추가
BoostUpPolicyHistory 엔티티 추가 ≤= 불필요!
BoostUpSchemePolicyHistory 엔티티 추가 ≤= 불필요!
강화 결과 에니메이션타입 추가 : 미스, 일반, 대박, 잭팟
nullable 옵션 추가
최소 결제 금액 필드 추가
액티비티
상세 노출 내용 협의 필요
사용자_캠페인 강화 최종 상태 저장
BoostUp의 누적 관련 속성 삭제
설계 추가 사항
•
1차 강화 > 2차 강화 > 부스트1_구매 > 결제with부스트1 > 3차 강화 > 결제with부스트2
◦
1, 2차 강화 상태는 '사용완료', boostId는 1이 기록되어야 한다.
•
1차 강화 > 2차 강화 > 부스트1_구매 > 결제with부스트1 > 3차 강화 > 결제with부스트2 > 결제+1부스트 취소
◦
1, 2차 강화 상태는 '사용전', boostId 1은 삭제(null) 로 업데이트 되어야 한다.
◦
그래야 해당 캠페인을 재구매 할 때 1, 2차 강화가 살아서 붙을 수 있다.
•
1차 강화 > 2차 강화 > 부스트1_구매 > 결제with부스트1 > 3차 강화 > 결제with부스트2 > 결제+부스트1 취소 > 4차 강화 > 결제+부스트3
◦
결제+부스트3에는 취소된 1, 2차 강화와 신규로 추가한 4차 강화가 누적 되어서 캐시백을 받을 수 있다.
BoostUp.status 추가