package hostagencypolicy

type policyRequest struct {
	Name                   string  `json:"name"`
	PolicyType             string  `json:"policy_type"`
	RegionID               int64   `json:"region_id"`
	RegionIDs              []int64 `json:"region_ids"`
	CycleKey               string  `json:"cycle_key"`
	Status                 string  `json:"status"`
	SettlementMode         string  `json:"settlement_mode"`
	SettlementTriggerMode  string  `json:"settlement_trigger_mode"`
	GiftCoinToDiamondRatio string  `json:"gift_coin_to_diamond_ratio"`
	PointDiamondsPerUSD    int64   `json:"point_diamonds_per_usd"`
	CoinsPerUSD            int64   `json:"coins_per_usd"`
	// MinimumWithdrawUSDMinor 只兼容旧后台；新后台必须分别提交两个渠道金额。
	MinimumWithdrawUSDMinor           int64          `json:"minimum_withdraw_usd_minor"`
	CoinSellerMinimumWithdrawUSDMinor int64          `json:"coin_seller_minimum_withdraw_usd_minor"`
	PlatformMinimumWithdrawUSDMinor   int64          `json:"platform_minimum_withdraw_usd_minor"`
	DiamondExchangeEnabled            *bool          `json:"diamond_exchange_enabled"`
	WithdrawFeeBPS                    int32          `json:"withdraw_fee_bps"`
	AgencyPointShareBPS               int32          `json:"agency_point_share_bps"`
	ResidualDiamondToUSDRate          string         `json:"residual_diamond_to_usd_rate"`
	CoinSellerWithdrawalLimitPeriod   string         `json:"coin_seller_withdrawal_limit_period"`
	CoinSellerWithdrawalLimitCount    int64          `json:"coin_seller_withdrawal_limit_count"`
	PlatformWithdrawalLimitPeriod     string         `json:"platform_withdrawal_limit_period"`
	PlatformWithdrawalLimitCount      int64          `json:"platform_withdrawal_limit_count"`
	PlatformWithdrawalAllowedDays     []int32        `json:"platform_withdrawal_allowed_days"`
	Description                       string         `json:"description"`
	Levels                            []levelRequest `json:"levels"`
}

type levelRequest struct {
	Level            int32  `json:"level"`
	RequiredDiamonds int64  `json:"required_diamonds"`
	HostSalaryUSD    string `json:"host_salary_usd"`
	HostCoinReward   int64  `json:"host_coin_reward"`
	AgencySalaryUSD  string `json:"agency_salary_usd"`
	Status           string `json:"status"`
	SortOrder        int32  `json:"sort_order"`
}
