43 lines
850 B
Go
43 lines
850 B
Go
package wechatrepoimpl
|
|
|
|
import (
|
|
"fmt"
|
|
"voucher/internal/biz/vo"
|
|
)
|
|
|
|
const CodeSuccess = 200
|
|
|
|
type CpnStatus string
|
|
|
|
const (
|
|
CpnStatusAvailable = "SENDED"
|
|
CpnStatusUsed = "USED"
|
|
CpnStatusExpired = "EXPIRED"
|
|
)
|
|
|
|
var CpnStatusTextMap = map[CpnStatus]string{
|
|
CpnStatusAvailable: "可用",
|
|
CpnStatusUsed: "已实扣",
|
|
CpnStatusExpired: "已过期",
|
|
}
|
|
|
|
var CpnStatusMap = map[CpnStatus]vo.OrderStatus{
|
|
CpnStatusAvailable: vo.OrderStatusSuccess,
|
|
CpnStatusUsed: vo.OrderStatusUse,
|
|
CpnStatusExpired: vo.OrderStatusExpired,
|
|
}
|
|
|
|
func (o CpnStatus) GetText() string {
|
|
if msg, ok := CpnStatusTextMap[o]; !ok {
|
|
return msg
|
|
}
|
|
return "未知"
|
|
}
|
|
|
|
func (o CpnStatus) GetStatus() (vo.OrderStatus, error) {
|
|
if resultStatus, ok := CpnStatusMap[o]; ok {
|
|
return resultStatus, nil
|
|
}
|
|
return 0, fmt.Errorf("CpnStatus[%s]未定义", o)
|
|
}
|