- 对于微盟微商城,只有付款才会调用order manger的OnNewOder
- 将状态OrderStatusWait4Pay改为非重要状态
This commit is contained in:
@@ -49,6 +49,7 @@ var (
|
|||||||
}
|
}
|
||||||
|
|
||||||
OrderStatusName = map[int]string{
|
OrderStatusName = map[int]string{
|
||||||
|
OrderStatusWait4Pay: "待付款",
|
||||||
OrderStatusUnlocked: "解锁",
|
OrderStatusUnlocked: "解锁",
|
||||||
OrderStatusLocked: "锁定",
|
OrderStatusLocked: "锁定",
|
||||||
OrderStatusApplyUrgeOrder: "催单",
|
OrderStatusApplyUrgeOrder: "催单",
|
||||||
@@ -57,7 +58,6 @@ var (
|
|||||||
|
|
||||||
OrderStatusUnknown: "一般事件",
|
OrderStatusUnknown: "一般事件",
|
||||||
|
|
||||||
OrderStatusWait4Pay: "待付款",
|
|
||||||
OrderStatusNew: "新订单",
|
OrderStatusNew: "新订单",
|
||||||
OrderStatusAdjust: "调整单",
|
OrderStatusAdjust: "调整单",
|
||||||
OrderStatusAccepted: "已接单",
|
OrderStatusAccepted: "已接单",
|
||||||
@@ -116,6 +116,7 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
OrderStatusWait4Pay = -30 // 下单待支付,微盟在这个时间发新订单事件
|
||||||
OrderStatusUnlocked = -25
|
OrderStatusUnlocked = -25
|
||||||
OrderStatusLocked = -20
|
OrderStatusLocked = -20
|
||||||
OrderStatusApplyUrgeOrder = -15
|
OrderStatusApplyUrgeOrder = -15
|
||||||
@@ -124,7 +125,6 @@ const (
|
|||||||
|
|
||||||
OrderStatusUnknown = 0
|
OrderStatusUnknown = 0
|
||||||
|
|
||||||
OrderStatusWait4Pay = 3 // 下单待支付,微盟在这个时间发新订单事件
|
|
||||||
OrderStatusNew = 5 // 新订单
|
OrderStatusNew = 5 // 新订单
|
||||||
OrderStatusAdjust = 8 // 订单调整
|
OrderStatusAdjust = 8 // 订单调整
|
||||||
OrderStatusAccepted = 10 // 已经接单,也即待出库,待拣货
|
OrderStatusAccepted = 10 // 已经接单,也即待出库,待拣货
|
||||||
|
|||||||
@@ -41,24 +41,28 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (p *PurchaseHandler) onOrderMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResponse) {
|
func (p *PurchaseHandler) onOrderMsg(msg *weimobapi.CallbackMsg) (response *weimobapi.CallbackResponse) {
|
||||||
if weimobapi.MsgEventCreateOrder == msg.Event {
|
var (
|
||||||
order, err := p.GetOrder(utils.Int64ToStr(msg.OrderNo))
|
err error
|
||||||
|
status *model.OrderStatus
|
||||||
|
orderMapData map[string]interface{}
|
||||||
|
)
|
||||||
|
if weimobapi.MsgEventCreateOrder == msg.Event || weimobapi.MsgEventOrderStatusChange == msg.Event {
|
||||||
|
orderMapData, err = api.WeimobAPI.QueryOrderDetail(msg.OrderNo, false)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
order.StatusTime = msg.StatusTime
|
status = p.callbackMsg2Status(msg, orderMapData)
|
||||||
err = partner.CurOrderManager.OnOrderNew(order, order.VendorStatus)
|
if status.Status == model.OrderStatusNew {
|
||||||
|
order := p.Map2Order(orderMapData)
|
||||||
|
order.StatusTime = msg.StatusTime
|
||||||
|
err = partner.CurOrderManager.OnOrderNew(order, order.VendorStatus)
|
||||||
|
} else {
|
||||||
|
err = partner.CurOrderManager.OnOrderStatusChanged(status)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return weimobapi.Err2CallbackResponse(err, "")
|
|
||||||
} else {
|
|
||||||
status, err := p.callbackMsg2Status(msg)
|
|
||||||
if status != nil {
|
|
||||||
err = partner.CurOrderManager.OnOrderStatusChanged(status)
|
|
||||||
}
|
|
||||||
response = weimobapi.Err2CallbackResponse(err, "")
|
|
||||||
}
|
}
|
||||||
return response
|
return weimobapi.Err2CallbackResponse(err, "")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) callbackMsg2Status(msg *weimobapi.CallbackMsg) (orderStatus *model.OrderStatus, err error) {
|
func (p *PurchaseHandler) callbackMsg2Status(msg *weimobapi.CallbackMsg, orderMapData map[string]interface{}) (orderStatus *model.OrderStatus) {
|
||||||
orderID := utils.Int64ToStr(msg.OrderNo)
|
orderID := utils.Int64ToStr(msg.OrderNo)
|
||||||
var vendorStatus string
|
var vendorStatus string
|
||||||
if msg.IsFake {
|
if msg.IsFake {
|
||||||
@@ -67,31 +71,25 @@ func (p *PurchaseHandler) callbackMsg2Status(msg *weimobapi.CallbackMsg) (orderS
|
|||||||
if msg.Event == weimobapi.MsgEventCreateRights {
|
if msg.Event == weimobapi.MsgEventCreateRights {
|
||||||
vendorStatus = msg.Event
|
vendorStatus = msg.Event
|
||||||
} else {
|
} else {
|
||||||
vendorStatus, err = p.getOrderStatus(msg.OrderNo)
|
vendorStatus = p.getOrderStatus(orderMapData)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if err == nil {
|
orderStatus = &model.OrderStatus{
|
||||||
orderStatus = &model.OrderStatus{
|
VendorOrderID: orderID,
|
||||||
VendorOrderID: orderID,
|
VendorID: model.VendorIDWSC,
|
||||||
VendorID: model.VendorIDWSC,
|
OrderType: model.OrderTypeOrder,
|
||||||
OrderType: model.OrderTypeOrder,
|
RefVendorOrderID: orderID,
|
||||||
RefVendorOrderID: orderID,
|
RefVendorID: model.VendorIDWSC,
|
||||||
RefVendorID: model.VendorIDWSC,
|
VendorStatus: vendorStatus,
|
||||||
VendorStatus: vendorStatus,
|
Status: p.GetStatusFromVendorStatus(vendorStatus),
|
||||||
Status: p.GetStatusFromVendorStatus(vendorStatus),
|
StatusTime: msg.StatusTime,
|
||||||
StatusTime: msg.StatusTime,
|
Remark: "",
|
||||||
Remark: "",
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return orderStatus, err
|
return orderStatus
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) getOrderStatus(orderNo int64) (status string, err error) {
|
func (p *PurchaseHandler) getOrderStatus(orderMapData map[string]interface{}) (status string) {
|
||||||
result, err := api.WeimobAPI.QueryOrderDetail(orderNo, false)
|
return utils.Int64ToStr(utils.MustInterface2Int64(orderMapData["orderStatus"]))
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
return utils.Int64ToStr(utils.MustInterface2Int64(result["orderStatus"])), nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int {
|
func (p *PurchaseHandler) GetStatusFromVendorStatus(vendorStatus string) int {
|
||||||
|
|||||||
Reference in New Issue
Block a user