- refactor order status for weimob
This commit is contained in:
@@ -17,8 +17,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
FakeOrderStatusAccepted = 101
|
FakeOrderStatusAccepted = "fakeaccepted"
|
||||||
FakeOrderStatusFinishedPickup = 102
|
FakeOrderStatusFinishedPickup = "fakefinishedpickup"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -26,19 +26,21 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
VendorStatus2StatusMap = map[int]int{
|
VendorStatus2StatusMap = map[string]int{
|
||||||
weimobapi.OrderStatusWait4Pay: model.OrderStatusWait4Pay,
|
utils.Int2Str(weimobapi.OrderStatusWait4Pay): model.OrderStatusWait4Pay,
|
||||||
weimobapi.OrderStatusPayed: model.OrderStatusNew,
|
utils.Int2Str(weimobapi.OrderStatusPayed): model.OrderStatusNew,
|
||||||
FakeOrderStatusAccepted: model.OrderStatusAccepted,
|
FakeOrderStatusAccepted: model.OrderStatusAccepted,
|
||||||
FakeOrderStatusFinishedPickup: model.OrderStatusFinishedPickup,
|
FakeOrderStatusFinishedPickup: model.OrderStatusFinishedPickup,
|
||||||
weimobapi.OrderStatusDelivering: model.OrderStatusDelivering,
|
utils.Int2Str(weimobapi.OrderStatusDelivering): model.OrderStatusDelivering,
|
||||||
weimobapi.OrderStatusFinished: model.OrderStatusFinished,
|
utils.Int2Str(weimobapi.OrderStatusFinished): model.OrderStatusFinished,
|
||||||
weimobapi.OrderStatusCanceled: model.OrderStatusCanceled,
|
utils.Int2Str(weimobapi.OrderStatusCanceled): model.OrderStatusCanceled,
|
||||||
|
|
||||||
|
weimobapi.MsgEventCreateRights: model.OrderStatusLocked,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
func (p *PurchaseHandler) onOrderMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResponse) {
|
func (p *PurchaseHandler) onOrderMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResponse) {
|
||||||
if weimobapi.MsgEventCreateOrder == msg.MsgEvent {
|
if weimobapi.MsgEventCreateOrder == msg.Event {
|
||||||
order, err := p.GetOrder(utils.Int64ToStr(msg.OrderNo))
|
order, err := p.GetOrder(utils.Int64ToStr(msg.OrderNo))
|
||||||
if err == nil {
|
if err == nil {
|
||||||
order.StatusTime = msg.StatusTime
|
order.StatusTime = msg.StatusTime
|
||||||
@@ -57,14 +59,17 @@ func (p *PurchaseHandler) onOrderMsg(msg *weimobapi.CallbackMsg) (response *weim
|
|||||||
|
|
||||||
func (p *PurchaseHandler) callbackMsg2Status(msg *weimobapi.CallbackMsg) (orderStatus *model.OrderStatus, err error) {
|
func (p *PurchaseHandler) callbackMsg2Status(msg *weimobapi.CallbackMsg) (orderStatus *model.OrderStatus, err error) {
|
||||||
orderID := utils.Int64ToStr(msg.OrderNo)
|
orderID := utils.Int64ToStr(msg.OrderNo)
|
||||||
var intStatus int
|
var vendorStatus string
|
||||||
if msg.IsFake {
|
if msg.IsFake {
|
||||||
intStatus = int(utils.Str2Int64(msg.MsgEvent))
|
vendorStatus = msg.Event
|
||||||
} else {
|
} else {
|
||||||
intStatus, err = p.getOrderStatus(msg.OrderNo)
|
if msg.Event == weimobapi.MsgEventCreateRights {
|
||||||
|
vendorStatus = msg.Event
|
||||||
|
} else {
|
||||||
|
vendorStatus, err = p.getOrderStatus(msg.OrderNo)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if err == nil {
|
if err == nil {
|
||||||
vendorStatus := utils.Int2Str(intStatus)
|
|
||||||
orderStatus = &model.OrderStatus{
|
orderStatus = &model.OrderStatus{
|
||||||
VendorOrderID: orderID,
|
VendorOrderID: orderID,
|
||||||
VendorID: model.VendorIDWSC,
|
VendorID: model.VendorIDWSC,
|
||||||
@@ -80,16 +85,16 @@ func (p *PurchaseHandler) callbackMsg2Status(msg *weimobapi.CallbackMsg) (orderS
|
|||||||
return orderStatus, err
|
return orderStatus, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) getOrderStatus(orderNo int64) (status int, err error) {
|
func (p *PurchaseHandler) getOrderStatus(orderNo int64) (status string, err error) {
|
||||||
result, err := api.WeimobAPI.QueryOrderDetail(orderNo, false)
|
result, err := api.WeimobAPI.QueryOrderDetail(orderNo, false)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return "", err
|
||||||
}
|
}
|
||||||
return int(utils.MustInterface2Int64(result["orderStatus"])), nil
|
return utils.Int64ToStr(utils.MustInterface2Int64(result["orderStatus"])), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int {
|
func (p *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int {
|
||||||
if status, ok := VendorStatus2StatusMap[int(utils.Str2Int64(vendorStatus))]; ok {
|
if status, ok := VendorStatus2StatusMap[vendorStatus]; ok {
|
||||||
return status
|
return status
|
||||||
}
|
}
|
||||||
return model.OrderStatusUnknown
|
return model.OrderStatusUnknown
|
||||||
@@ -217,10 +222,10 @@ func (p *PurchaseHandler) SelfDeliverDelievered(order *model.GoodsOrder, userNam
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) postFakeMsg(orderNo int64, fakeStatus int) {
|
func (p *PurchaseHandler) postFakeMsg(orderNo int64, fakeStatus string) {
|
||||||
msg := &weimobapi.CallbackMsg{
|
msg := &weimobapi.CallbackMsg{
|
||||||
IsFake: true,
|
IsFake: true,
|
||||||
MsgEvent: utils.Int2Str(fakeStatus),
|
Event: fakeStatus,
|
||||||
OrderNo: orderNo,
|
OrderNo: orderNo,
|
||||||
StatusTime: time.Now(),
|
StatusTime: time.Now(),
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user