table_game/backend/app/routers/admin_strategy.py
2025-03-20 04:41:04 +08:00

58 lines
1.5 KiB
Python

from fastapi import APIRouter, Depends, HTTPException
from pydantic import BaseModel
from typing import List
from ..services.admin_strategy_service import (
get_table_strategy_list,
create_table_strategy,
delete_table_strategy,
bind_table_to_strategy
)
router = APIRouter()
class get_list(BaseModel):
token: str
class StrategyData(BaseModel):
strategy_name: str
segment1_threshold: int
segment1_price: float
segment2_threshold: int
segment2_price: float
segment3_price: float
description: str | None = None
segment3_threshold: int | None = None
class create_strategy(BaseModel):
token: str
strategy_data: StrategyData
class delete_strategy(BaseModel):
token: str
strategy_id: int
class update_strategy(BaseModel):
token: str
table_ids: List[int]
strategy_id: int
@router.post("/table-strategies/list")
def api_get_table_strategy_list(request: get_list):
return get_table_strategy_list(request.token)
@router.post("/table-strategies/create")
def api_create_table_strategy(request: create_strategy):
return create_table_strategy(request.token, request.strategy_data.model_dump())
@router.post("/table-strategies/delete")
def api_delete_table_strategy(request: delete_strategy):
return delete_table_strategy(request.token, request.strategy_id)
@router.post("/table-strategies/bind")
def api_bind_table_to_strategy(request: update_strategy):
return bind_table_to_strategy(request.token, request.strategy_id, request.table_ids)