GS2-Lottery 트랜잭션 액션
검증/소비/입수 각 트랜잭션 액션의 사양
Acquire Action
입수 액션
Gs2Lottery:DrawByUserId
사용자 ID를 지정하여 추첨을 실행
추첨 모델의 설정에 따라 지정한 사용자의 추첨을 실행합니다.
추첨은 두 가지 방식을 지원합니다: 배출 확률 테이블 모드(사전에 정의된 확률 테이블 사용)와 스크립트 모드(GS2-Script로 경품을 결정).
박스 추첨 모드에서는 배출된 경품이 박스에서 삭제되어 다시 배출되지 않습니다. 박스가 비어 있는 경우 Empty 오류가 반환됩니다.
배출된 경품은 트랜잭션으로 발행됩니다.
수량 지정 가능한 액션: 예
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 | ||
| lotteryName | string | ✓ | ~ 128자 | 추첨 모델 이름 추첨 모델 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| count | int | ✓ | 1 ~ 1000 | 추첨 횟수 | ||
| config | List<Config> | [] | 0 ~ 1000 items | 트랜잭션의 플레이스홀더에 적용하는 설정값 | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Lottery:DrawByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"lotteryName": "[string]추첨 모델 이름",
"userId": "[string]사용자ID",
"count": "[int]추첨 횟수",
"config": [
{
"key": "[string]이름",
"value": "[string]값"
}
],
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Lottery:DrawByUserId
request:
namespaceName: "[string]네임스페이스 이름"
lotteryName: "[string]추첨 모델 이름"
userId: "[string]사용자ID"
count: "[int]추첨 횟수"
config:
- key: "[string]이름"
value: "[string]값"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("lottery").acquire.draw_by_user_id({
namespaceName="[string]네임스페이스 이름",
lotteryName="[string]추첨 모델 이름",
userId="[string]사용자ID",
count="[int]추첨 횟수",
config={
{
key="[string]이름",
value="[string]값"
}
},
timeOffsetToken="[string]타임 오프셋 토큰",
})Gs2Lottery:ResetBoxByUserId
사용자 ID를 지정하여 박스를 리셋
지정한 사용자의 박스를 초기 상태로 리셋하고, 배출된 모든 경품을 박스로 되돌립니다.
수량 지정 가능한 액션: 아니오
반전 가능한 액션: 아니오
| 타입 | 활성화 조건 | 필수 | 기본값 | 값 제한 | 설명 | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128자 | 네임스페이스 이름 네임스페이스 고유의 이름입니다. 영숫자 및 -(하이픈) _(언더스코어) .(마침표)로 지정합니다. | ||
| prizeTableName | string | ✓ | ~ 128자 | 배출 확률 테이블 이름 | ||
| userId | string | ✓ | ~ 128자 | 사용자ID#{userId}로 설정하면 로그인 중인 사용자ID로 치환됩니다. | ||
| timeOffsetToken | string | ~ 1024자 | 타임 오프셋 토큰 |
{
"action": "Gs2Lottery:ResetBoxByUserId",
"request": {
"namespaceName": "[string]네임스페이스 이름",
"prizeTableName": "[string]배출 확률 테이블 이름",
"userId": "[string]사용자ID",
"timeOffsetToken": "[string]타임 오프셋 토큰"
}
}action: Gs2Lottery:ResetBoxByUserId
request:
namespaceName: "[string]네임스페이스 이름"
prizeTableName: "[string]배출 확률 테이블 이름"
userId: "[string]사용자ID"
timeOffsetToken: "[string]타임 오프셋 토큰"transaction.service("lottery").acquire.reset_box_by_user_id({
namespaceName="[string]네임스페이스 이름",
prizeTableName="[string]배출 확률 테이블 이름",
userId="[string]사용자ID",
timeOffsetToken="[string]타임 오프셋 토큰",
})