package ledger

const (
	// AssetCoin 是用户送礼消费资产。
	AssetCoin = "COIN"
	// AssetCoinSellerCoin 是币商专用金币资产，只能通过币商转账兑换成玩家普通 COIN。
	AssetCoinSellerCoin = "COIN_SELLER_COIN"
	// AssetPoint 是 Huwaa 政策下主播、Agent、BD、经理收益使用的真实积分钱包资产。
	AssetPoint = "POINT"
	// AssetPointDiamond 是 POINT_DIAMOND Host 政策产生的永久钻石积分；它与历史 POINT、工资周期钻石完全隔离。
	AssetPointDiamond = "POINT_DIAMOND"
	// AssetCoinSellerPoint 是 Huwaa 币商提现订单结算给币商的专用积分资产。
	AssetCoinSellerPoint = "COIN_SELLER_POINT"
	// AssetRobotCoin 是机器人房间专用金币资产，只允许内部机器人送礼链路扣减，不进入真人充值消费口径。
	AssetRobotCoin = "ROBOT_COIN"
	// AssetBagGift 是送礼回执里的支付来源标识，不是钱包资产账户；Bag 礼物只扣用户资源权益库存。
	AssetBagGift = "BAG"
	// AssetGiftPoint 是历史礼物积分资产，只保留历史账本查询兼容；新送礼不会再给它入账。
	AssetGiftPoint = "GIFT_POINT"
	// AssetHostPeriodDiamond 是主播工资周期钻石投影，只参与工资等级结算，不进入通用钱包余额。
	AssetHostPeriodDiamond = "HOST_PERIOD_DIAMOND"
	// HostPolicyTypeSalaryDiamond 把送礼收益写入月度工资投影，由工资结算消费并关闭周期。
	HostPolicyTypeSalaryDiamond = "SALARY_DIAMOND"
	// HostPolicyTypePointDiamond 把送礼收益写入永久钻石积分钱包，不进入工资等级结算。
	HostPolicyTypePointDiamond = "POINT_DIAMOND"
	// AssetHostSalaryUSD 是主播工资美元钱包，只接收主播工资和月底剩余钻石折美元。
	AssetHostSalaryUSD = "HOST_SALARY_USD"
	// AssetAgencySalaryUSD 是代理工资美元钱包，只接收主播结算同时产生的代理工资。
	AssetAgencySalaryUSD = "AGENCY_SALARY_USD"
	// AssetBDSalaryUSD 是 BD 工资美元钱包，只接收 BD 政策结算工资。
	AssetBDSalaryUSD = "BD_SALARY_USD"
	// AssetAdminSalaryUSD 是 Admin 工资美元钱包，只接收 Admin 政策结算工资。
	AssetAdminSalaryUSD = "ADMIN_SALARY_USD"
	// SalaryExchangeCoinPerUSD 是工资直接兑换普通金币的固定比例，金额以 1 USD 为单位。
	SalaryExchangeCoinPerUSD int64 = 80000

	// StockTypeUSDTPurchase 表示币商线下 USDT 进货后发放专用金币库存。
	StockTypeUSDTPurchase = "usdt_purchase"
	// StockTypeUSDTDeduction 表示运营按 USDT 入金口径冲回币商专用金币库存和充值金额。
	StockTypeUSDTDeduction = "usdt_deduction"
	// StockTypeCoinCompensation 表示平台人工补偿币商专用金币库存，不计入进货金额。
	StockTypeCoinCompensation = "coin_compensation"
	// PaidCurrencyUSDT 是首版币商进货支持的唯一线下付款币种。
	PaidCurrencyUSDT = "USDT"
	// RechargeProductStatusActive 表示内购商品已上架，可进入 App 充值页。
	RechargeProductStatusActive = "active"
	// RechargeProductStatusDisabled 表示内购商品未上架，仅后台可见。
	RechargeProductStatusDisabled = "disabled"
	// RechargeProductPlatformAndroid 表示 Google Play 侧内购商品。
	RechargeProductPlatformAndroid = "android"
	// RechargeProductPlatformIOS 表示 Apple IAP 侧内购商品。
	RechargeProductPlatformIOS = "ios"
	// RechargeProductPlatformWeb 表示 H5 站外充值商品，支付方式由订单选择，不绑定应用商店。
	RechargeProductPlatformWeb = "web"
	// RechargeAudienceNormal 表示普通用户可购买的充值档位。
	RechargeAudienceNormal = "normal"
	// RechargeAudienceCoinSeller 表示币商可购买的充值档位。
	RechargeAudienceCoinSeller = "coin_seller"
	// RechargeAudienceTemporary 表示运营临时收款链接；支付完成后只标记订单 paid，不自动给任何用户入账。
	RechargeAudienceTemporary = "temporary"
	// RechargeChannelGoogle 是 android 平台内购渠道标识。
	RechargeChannelGoogle = "google"
	// RechargeChannelApple 是 iOS 平台内购渠道标识。
	RechargeChannelApple = "apple"
	// RechargeChannelExternal 是 H5 站外充值渠道，具体 provider 在外部订单上保存。
	RechargeChannelExternal = "external"
	// PaymentProviderGooglePlay 是 Google Play 一次性内购支付渠道。
	PaymentProviderGooglePlay = "google_play"
	// PaymentProviderMifaPay 是 MiFaPay 三方收银台支付渠道。
	PaymentProviderMifaPay = "mifapay"
	// PaymentProviderV5Pay 是 V5Pay 三方收银台支付渠道。
	PaymentProviderV5Pay = "v5pay"
	// PaymentProviderUSDTTRC20 是用户提交 TRC20 链上交易哈希的 USDT 充值渠道。
	PaymentProviderUSDTTRC20 = "usdt_trc20"
	// PaymentProviderUSDTBEP20 是用户提交 BSC BEP20 链上交易哈希的 USDT 充值渠道。
	PaymentProviderUSDTBEP20 = "usdt_bep20"
	// PaymentProviderUSDTC2C 是 Binance Pay C2C 收款订单；它不绑定公链，也不要求链上收款地址。
	PaymentProviderUSDTC2C = "usdt_c2c"
	// PaymentProviderUSDTOffchain 是 Binance Deposit History 中的站内 Off-chain transfer；
	// 它使用 TRX 收款地址核对入账事实，但没有可提交给 TronGrid 的链上交易哈希。
	PaymentProviderUSDTOffchain = "usdt_offchain"
	// ThirdPartyPaymentStatusActive 表示渠道或支付方式可用于 H5 下单。
	ThirdPartyPaymentStatusActive = "active"
	// ThirdPartyPaymentStatusDisabled 表示渠道或支付方式已被后台关闭。
	ThirdPartyPaymentStatusDisabled = "disabled"
	// ExternalRechargeStatusPending 表示外部充值订单已创建但尚未确认到账。
	ExternalRechargeStatusPending = "pending"
	// ExternalRechargeStatusRedirected 表示 MiFaPay 下单成功，用户已拿到跳转链接。
	ExternalRechargeStatusRedirected = "redirected"
	// ExternalRechargeStatusCredited 表示外部充值已完成钱包入账。
	ExternalRechargeStatusCredited = "credited"
	// ExternalRechargeStatusPaid 表示临时外部收款已支付成功，等待运营人工核销金币。
	ExternalRechargeStatusPaid = "paid"
	// ExternalRechargeStatusFailed 表示外部充值被验签、金额或链上校验拒绝。
	ExternalRechargeStatusFailed = "failed"
	// PaymentStatusCredited 表示支付已完成校验并入账。
	PaymentStatusCredited = "credited"
	// PaymentConsumeStatePending 表示已入账但 Google consume 尚未确认完成。
	PaymentConsumeStatePending = "consume_pending"
	// PaymentConsumeStateConsumed 表示 Google consume 已确认完成。
	PaymentConsumeStateConsumed = "consumed"
	// GooglePurchaseStatePurchased 是 Google Play 已支付完成状态。
	GooglePurchaseStatePurchased = "PURCHASED"

	// HostSalarySettlementModeDaily 表示主播工资按日结算等级增量。
	HostSalarySettlementModeDaily = "daily"
	// HostSalarySettlementModeHalfMonth 表示主播工资按半月周期结算等级增量。
	HostSalarySettlementModeHalfMonth = "half_month"
	// HostSalarySettlementTypeMonthEnd 表示月底清算等级增量、剩余钻石折美元和周期关闭。
	HostSalarySettlementTypeMonthEnd = "month_end"
	// HostSalarySettlementTriggerAutomatic 表示由 cron-service 自动扫描结算的政策。
	HostSalarySettlementTriggerAutomatic = "automatic"
	// HostSalarySettlementTriggerManual 表示只允许后台工资结算页人工触发的政策。
	HostSalarySettlementTriggerManual = "manual"

	// VipStatusActive 表示 VIP 配置或用户会员状态当前有效。
	VipStatusActive = "active"
	// VipStatusDisabled 表示 VIP 配置被后台停用。
	VipStatusDisabled = "disabled"
	// VipGrantSourcePurchase 表示用户主动购买或续费 VIP。
	VipGrantSourcePurchase = "vip_purchase"
	// VipGrantSourceActivity 表示活动系统赠送 VIP。
	VipGrantSourceActivity = "activity_grant"
	// VipGrantSourceAdmin 表示后台人工赠送 VIP。
	VipGrantSourceAdmin = "admin_grant"
	// VipGrantSourceManagerCenter 表示经理中心按权限赠送 VIP，账务仍复用后台赠送激活链路。
	VipGrantSourceManagerCenter = "manager_center"

	// GameOpDebit 表示游戏平台下注、局内道具等扣金币行为。
	GameOpDebit = "debit"
	// GameOpCredit 表示游戏平台中奖、派奖等加金币行为。
	GameOpCredit = "credit"
	// GameOpRefund 表示游戏平台扣款失败或取消后的退款入账。
	GameOpRefund = "refund"
	// GameOpReverse 表示平台冲正；首版按扣回用户 COIN 处理。
	GameOpReverse = "reverse"

	// RedPacketTypeNormal 表示发出后立即可抢的普通红包。
	RedPacketTypeNormal = "normal"
	// RedPacketTypeDelayed 表示发出后按后台秒数延迟打开的红包。
	RedPacketTypeDelayed = "delayed"
	// RedPacketStatusWaitingOpen 表示延迟红包已扣款但未到打开时间。
	RedPacketStatusWaitingOpen = "waiting_open"
	// RedPacketStatusActive 表示红包可领取。
	RedPacketStatusActive = "active"
	// RedPacketStatusFinished 表示红包所有份额已领取。
	RedPacketStatusFinished = "finished"
	// RedPacketStatusRefunded 表示红包过期未领取金额已退回。
	RedPacketStatusRefunded = "refunded"
	// RedPacketClaimStatusClaimed 表示红包份额领取成功。
	RedPacketClaimStatusClaimed = "claimed"

	// RedPacketExpireSeconds 固定房内红包 24 小时过期退款。
	RedPacketExpireSeconds int32 = 24 * 60 * 60
)
