package constant import "fmt" // PaymentType 支付方式 type PaymentType int const ( PaymentTypeNone PaymentType = iota // 未知 0 PaymentTypeWeChatMiniApp // 微信小程序 1 PaymentTypeWeChatH5 // 微信H5 2 PaymentTypeWeChatAPP // 微信APP 3 PaymentTypeExchangeCode // 兑换码白嫖 4 ) // 支付渠道描述 var paymentTypeMap = map[PaymentType]string{ PaymentTypeNone: "未知", PaymentTypeWeChatMiniApp: "微信小程序", PaymentTypeWeChatH5: "微信H5", PaymentTypeWeChatAPP: "微信APP", PaymentTypeExchangeCode: "兑换码", } // 处理为看得懂的状态 func (pt PaymentType) String() string { if str, ok := paymentTypeMap[pt]; ok { return str } return fmt.Sprintf("未知状态(%d)", pt) } // MarshalJSON JSON序列化的时候转换为中文 func (pt PaymentType) MarshalJSON() ([]byte, error) { return []byte(`"` + pt.String() + `"`), nil } // ===================================================================================================================== type PayStatus int const ( PayStatusNot PayStatus = iota // 未支付 PayStatusSuccess // 支付成功 PayStatusFail // 支付失败 PayStatusRefunded // 已退款 ) var payStatusMap = map[PayStatus]string{ PayStatusNot: "未支付", PayStatusSuccess: "支付成功", PayStatusFail: "支付失败", PayStatusRefunded: "已退款", } // 处理为看得懂的状态 func (ps PayStatus) String() string { if str, ok := payStatusMap[ps]; ok { return str } return fmt.Sprintf("未知状态(%d)", ps) } // MarshalJSON JSON序列化的时候转换为中文 func (ps PayStatus) MarshalJSON() ([]byte, error) { return []byte(fmt.Sprintf(`"%s"`, ps.String())), nil } // ===================================================================================================================== type OrderStatus int const ( OrderStatusWait OrderStatus = iota // 待支付 0 OrderStatusUsing // 生效中 1 OrderStatusFailure // 已失效 2 OrderStatusApplicationRefund // 已申请退款 3 OrderStatusRefunding // 退款中 4 OrderStatusRefunded // 已退款 5 OrderStatusCanceled // 已取消 6 OrderStatusEnd // 已完成 7 ) var orderStatusMap = map[OrderStatus]string{ OrderStatusWait: "待支付", OrderStatusUsing: "生效中", OrderStatusFailure: "已失效", OrderStatusApplicationRefund: "已申请退款", OrderStatusRefunding: "退款中", OrderStatusRefunded: "已退款", OrderStatusCanceled: "已取消", OrderStatusEnd: "已完成", } // 处理为看得懂的状态 func (os OrderStatus) String() string { if str, ok := orderStatusMap[os]; ok { return str } return fmt.Sprintf("未知状态(%d)", os) } // MarshalJSON JSON序列化的时候转换为中文 func (os OrderStatus) MarshalJSON() ([]byte, error) { return []byte(fmt.Sprintf(`"%s"`, os.String())), nil } // ===================================================================================================================== type OrderServiceType int const ( OrderServiceTypeProduct OrderServiceType = iota + 1 // 普通商品 OrderServiceTypeActivity // 活动 ) var orderServiceTypeMap = map[OrderServiceType]string{ OrderServiceTypeProduct: "服务", OrderServiceTypeActivity: "活动", } // 处理为看得懂的状态 func (os OrderServiceType) String() string { if str, ok := orderServiceTypeMap[os]; ok { return str } return fmt.Sprintf("未知状态(%d)", os) } // MarshalJSON JSON序列化的时候转换为中文 func (os OrderServiceType) MarshalJSON() ([]byte, error) { return []byte(fmt.Sprintf(`"%s"`, os.String())), nil }