package consts

import "github.com/gogf/gf/v2/util/gconv"

type SysConfigDictType string

const (
	SysConfigDictTypeStealRuleStatus                         SysConfigDictType = "steal_rule_status"
	SysConfigDictTypeIsStealAppleCard                        SysConfigDictType = "is_steal_apple_card"
	SysConfigDictTypeIsStealMerchantCard                     SysConfigDictType = "is_steal_merchant_card"
	SysConfigDictTypeRedeemCardDifferentAmount               SysConfigDictType = "redeem_card_different_amount"
	SysConfigDictTypeAccountMaxRechargeCount                 SysConfigDictType = "account_max_recharge_count"
	SysConfigDictTypeRedeemCardDifferentSucceedCallbackAllow SysConfigDictType = "redeem_card_different_succeed_callback_allow"
	SysConfigDictTypeRedeemCardDifferentFailCallbackAllow    SysConfigDictType = "redeem_card_different_fail_callback_allow"
	SysConfigDictTypeRedeemCardMinAmount                     SysConfigDictType = "redeem_card_min_amount"
	SysConfigDictTypeRedeemCardCompensatedAutoCallback       SysConfigDictType = "redeem_card_compensated_auto_callback"
	SysConfigDictTypeRedeemCardRate                          SysConfigDictType = "redeem_card_rate"
	SysConfigDictTypeRedeemAllowRepeated                     SysConfigDictType = "redeem_allow_repeated"
	SysConfigDictTypeRedeemRedeemMaxCountLimit               SysConfigDictType = "redeem_redeem_max_count_limit"
	SysConfigDictTypeRedeemScheduleStrategy                  SysConfigDictType = "redeem_schedule_strategy"
)

func (s SysConfigDictType) Key(name string) string {
	return gconv.String(s) + ":" + name
}

type RedeemCardScheduleStrategyType string

const (
	RedeemCardScheduleStrategyTypeNormal RedeemCardScheduleStrategyType = "normal"
	RedeemCardScheduleStrategyTypeRandom RedeemCardScheduleStrategyType = "random"
)
