2026-07-09 13:02:49 +08:00

163 lines
4.5 KiB
Go

package ledger
import (
"strings"
)
// CoinSellerTransferCommand 是币商给玩家转普通金币的账务命令。
type CoinSellerTransferCommand struct {
AppCode string
CommandID string
SellerUserID int64
TargetUserID int64
TargetCountryID int64
SellerRegionID int64
TargetRegionID int64
Amount int64
Reason string
}
// CoinSellerTransferReceipt 是币商转账完成后的稳定回执。
type CoinSellerTransferReceipt struct {
TransactionID string
SellerBalanceAfter int64
TargetBalanceAfter int64
Amount int64
RechargeSequence int64
RechargeUSDMinor int64
RechargeCurrencyCode string
RechargePolicyID int64
RechargePolicyVersion string
RechargePolicyCoinAmount int64
RechargePolicyUSDMinorUnit int64
}
// CoinSellerSubTransferCommand 是父币商向直属子币商转移 COIN_SELLER_COIN 库存的账务命令。
type CoinSellerSubTransferCommand struct {
AppCode string
CommandID string
ParentUserID int64
ChildUserID int64
RegionID int64
Amount int64
Reason string
}
// CoinSellerSubTransferReceipt 返回父子币商库存转账后的双边余额。
type CoinSellerSubTransferReceipt struct {
TransactionID string
ParentUserID int64
ChildUserID int64
ParentBalanceAfter int64
ChildBalanceAfter int64
Amount int64
CreatedAtMS int64
}
// CoinSellerSalaryExchangeRateTier 是工资转给币商时按区域和美元金额匹配的金币兑换比例。
type CoinSellerSalaryExchangeRateTier struct {
RegionID int64
MinUSDMinor int64
MaxUSDMinor int64
CoinPerUSD int64
Status string
SortOrder int
UpdatedAtMS int64
}
// SalaryExchangeCommand 是用户把某个身份工资美元钱包兑换为自己普通金币的账务命令。
type SalaryExchangeCommand struct {
AppCode string
CommandID string
UserID int64
SalaryAssetType string
SalaryUSDMinor int64
Reason string
}
// SalaryExchangeReceipt 返回工资扣减和普通金币入账后的双边余额。
type SalaryExchangeReceipt struct {
TransactionID string
UserID int64
SalaryAssetType string
SalaryBalanceAfter int64
CoinBalanceAfter int64
SalaryUSDMinor int64
CoinAmount int64
CoinPerUSD int64
CreatedAtMS int64
}
// SalaryTransferToCoinSellerCommand 是用户把某个身份工资美元钱包转给同区域币商专用金币库存的账务命令。
type SalaryTransferToCoinSellerCommand struct {
AppCode string
CommandID string
SourceUserID int64
SellerUserID int64
SalaryAssetType string
SalaryUSDMinor int64
RegionID int64
Reason string
}
// SalaryTransferToCoinSellerReceipt 返回工资扣减和币商库存入账后的双边余额与命中的区间。
type SalaryTransferToCoinSellerReceipt struct {
TransactionID string
SourceUserID int64
SellerUserID int64
SalaryAssetType string
SourceSalaryBalanceAfter int64
SellerBalanceAfter int64
SalaryUSDMinor int64
CoinAmount int64
CoinPerUSD int64
RateMinUSDMinor int64
RateMaxUSDMinor int64
CreatedAtMS int64
}
// CoinSellerStockCreditCommand 是后台给币商专用金币库存入账的最小账务命令。
type CoinSellerStockCreditCommand struct {
AppCode string
CommandID string
SellerUserID int64
SellerCountryID int64
SellerRegionID int64
StockType string
CoinAmount int64
PaidCurrencyCode string
PaidAmountMicro int64
PaymentRef string
EvidenceRef string
OperatorUserID int64
Reason string
}
// CoinSellerStockCreditReceipt 是币商库存入账成功后的稳定回执。
type CoinSellerStockCreditReceipt struct {
TransactionID string
SellerUserID int64
SellerCountryID int64
SellerRegionID int64
StockType string
CoinAmount int64
PaidCurrencyCode string
PaidAmountMicro int64
CountsAsSellerRecharge bool
BalanceAfter int64
CreatedAtMS int64
}
func NormalizeCoinSellerStockType(stockType string) string {
switch strings.ToLower(strings.TrimSpace(stockType)) {
case StockTypeUSDTPurchase:
return StockTypeUSDTPurchase
case StockTypeUSDTDeduction:
return StockTypeUSDTDeduction
case StockTypeCoinCompensation:
return StockTypeCoinCompensation
default:
return ""
}
}