Skip to content

[기능추가] 베팅시 획득 포인트, 베팅 인원수 추가 #121

@cksdid202

Description

@cksdid202

⚙️ [기능추가][베팅게임] 베팅시 획득 포인트, 베팅 인원수 추가

⚙️ 작업 내용

1. 베팅 라운드 및 게임 로직

  • 데일리/위클리 라운드: 매일(DAILY) 또는 매주(WEEKLY) 단위로 진행되는 베팅 게임을 생성합니다.
  • 실시간 통계 표시:
    • 각 옵션(상승/하락) 별 현재 베팅 인원수총 베팅 포인트를 실시간으로 집계하여 보여줍니다.
    • 이를 통해 사용자는 현재 **예상 배당률(Odds)**을 확인할 수 있습니다.
  • 베팅 참여 및 취소:
    • 유저는 보유 포인트를 사용하여 원하는 옵션에 베팅할 수 있습니다.
    • 마감 시간(lockAt) 전까지는 자유롭게 베팅을 취소하고 포인트를 환급받을 수 있습니다.

2. 포인트 시스템 연동

  • 베팅 참여 시 포인트 차감 (PointReason.BETTING)
  • 베팅 취소 시 포인트 환불
  • 예측 성공 시 배당률에 따른 포인트 지급 (PointReason.BETTING_WIN)

3. 관리 및 정산 자동화

  • 관리자 API를 통해 라운드 생성(open), 마감(close), 정산(settle) 프로세스를 제어할 수 있습니다.
  • 실제 주가 데이터(PriceData)와 연동하여 승패를 자동으로 판정합니다.

작업 상세 내용

Backend

  • Entity 설계: BetRound(라운드 정보, 통계 필드 포함), UserBet(유저 베팅 내역) 엔티티 구현
  • Service 로직:
    • createBetRound: 무작위 종목 선정 및 라운드 생성
    • postUserBet: 베팅 검증(중복, 마감시간, 포인트), 통계 업데이트, 베팅 저장
    • settleUserBets: 주가 비교 로직 및 정산 처리
  • API 구현:
    • BettingController: 유저용 조회/베팅/취소 API
    • BettingAdminController: 관리자용 라운드 제어 API

🙋‍♂️ 담당자

  • 백엔드: cksdid202

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions