订单计算相关
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

176 lines
3.8 KiB

package ordercalc
/**
'0': 待支付 下单,尚未支付 created
'1':已支付 付款成功,此状态可退款 payed
'5':已验证 虚拟订单,验证核销码 using
'6':已完成 与供应商结算后,订单结束。配送订单配送完成 finished
'7':已取消 订单取消 canceled
'8':自动取消 到期未支付自动取消,此状态可由管理员手动延期取消 autocanceled
'9':申请退款 用户自助申请退订单,此状态可退款
'13':已退款 订单完成退款 refunded
'15':自动完成 使用时间过期,自动完成。 finished
cancel,received,payed,created,finished,using
## 发货
is_delivery 是否发货 '1': 已发货
delivery 发货时间
## 收货
is_received 是否收货 '1': 已收货
received 收货时间
*/
var statusList map[string]string = map[string]string{
"0": "created",
"1": "payed",
"5": "using",
"6": "finished",
"7": "canceled",
"8": "autocanceled",
"9": "askForRefund",
"13": "refunded",
"15": "autofinished",
}
var statusExtendList map[string]string = map[string]string{
"6": "received", //已收货归入已完成,
}
/*串货订单,供应商系统订单状态*/
var channelOrderStatusList map[string]string = map[string]string{
"1": "nosend",
"2": "created",
"3": "payed",
"4": "askForRefund",
"5": "refunded",
"6": "canceled",
"7": "finished",
"8": "payFailed", //支付失败
"9": "breakoff", //断开
"10": "fullRefund", //全额退款
"14": "autocanceled",
"15": "autofinished",
"16": "delivered",
}
func GetOrderStatusKey(status string) (key string) {
for k, val := range statusList {
if val == status {
key = k
break
}
}
if key == "" { //再找扩展的状态
for k, val := range statusExtendList {
if val == status {
key = k
break
}
}
}
return
}
func GetOrderStatusText(key string) (text string) {
for k, val := range statusList {
if k == key {
text = val
break
}
}
if text == "" { //再找扩展的状态
for k, val := range statusExtendList {
if k == key {
text = val
break
}
}
}
return
}
/**
* 返回订单状态描述
* 2021/01/28
*/
func GetOrderStatusDescByFlag(flag string) (text string) {
status := GetOrderStatusText(flag)
return GetOrderStatusDesc(status)
}
/**
* 返回订单状态描述
* 2020/10/22
*/
func GetOrderStatusDesc(key string) (text string) {
var statusDesc map[string]string = map[string]string{
"created": "已创建",
"payed": "已支付",
"askForRefund": "请求退款",
"using": "使用中",
"finished": "已完成",
"canceled": "已取消",
"autocanceled": "自动取消",
"refunded": "已退款",
"autofinished": "自动完成",
"received": "已收货",
}
for k, val := range statusDesc {
if k == key {
text = val
break
}
}
return
}
func GetChannelOrderStatusKey(status string) (key string) {
for k, val := range channelOrderStatusList {
if val == status {
key = k
break
}
}
return
}
func GetChannelOrderStatusText(key string) (text string) {
for k, val := range channelOrderStatusList {
if k == key {
text = val
break
}
}
return
}
/**
* 返回订单状态描述
* 2020/10/22
*/
func GetChannelOrderStatusDesc(key string) (text string) {
var statusDesc map[string]string = map[string]string{
"nosend": "未发送",
"created": "已创建",
"payed": "已支付",
"askForRefund": "请求退款",
"refunded": "已退款",
"canceled": "已取消",
"finished": "已完成",
"payFailed": "支付失败",
"breakoff": "断开",
"fullRefund": "全额退款",
"autocanceled": "自动取消",
"autofinished": "自动取消",
"delivered": "已发货",
}
for k, val := range statusDesc {
if k == key {
text = val
break
}
}
return
}