app-cloudep-order-server/pkg/domain/order/status.go

85 lines
2.6 KiB
Go
Executable File

package order
// Status 表示訂單狀態
type Status int64
// ToInt64 將訂單狀態轉為 int64
func (s Status) ToInt64() int64 {
return int64(s)
}
var statusMap = map[Status]string{
Created: CreatedString,
Failed: FailedString,
UnderReview: UnderReviewString,
Processing: ProcessingString,
Paid: PaidString,
AwaitingTransfer: AwaitingTransferString,
InDispute: InDisputeString,
Completed: CompletedString,
FailedTrade: FailedTradeString,
Cancelled: CancelledString,
Abnormal: AbnormalString,
TimedOut: TimedOutString,
}
// ToString 將訂單類型轉為 String
func (s Status) ToString() string {
r := statusMap[s]
return r
}
// 訂單狀態常量
const (
Created Status = iota // 訂單已建立
Failed // 建單失敗
UnderReview // 審核中
Processing // 付款中
Paid // 已付款
AwaitingTransfer // 待轉帳
InDispute // 申訴中
Completed // 交易完成
FailedTrade // 交易失敗
Cancelled // 交易取消
Abnormal // 交易異常
TimedOut // 交易超時
)
const (
CreatedString = "create" // 訂單已建立
FailedString = "failed" // 建單失敗
UnderReviewString = "under_review" // 審核中
ProcessingString = "processing" // 付款中
PaidString = "paid" // 已付款
AwaitingTransferString = "awaiting_transfer" // 待轉帳
InDisputeString = "in_dispute" // 申訴中
CompletedString = "completed" // 交易完成
FailedTradeString = "failed_trade" // 交易失敗
CancelledString = "cancelled" // 交易取消
AbnormalString = "abnormal" // 交易異常
TimedOutString = "timed_out" // 交易超時
)
var statusStringMap = map[string]Status{
CreatedString: Created,
FailedString: Failed,
UnderReviewString: UnderReview,
ProcessingString: Processing,
PaidString: Paid,
AwaitingTransferString: AwaitingTransfer,
InDisputeString: InDispute,
CompletedString: Completed,
FailedTradeString: FailedTrade,
CancelledString: Cancelled,
AbnormalString: Abnormal,
TimedOutString: TimedOut,
}
// ConvertStringToStatus 將訂單類型轉為 Status
func ConvertStringToStatus(t string) Status {
s := statusStringMap[t]
return s
}