- 设置美团外卖的自动拣货时间为4分钟

This commit is contained in:
gazebo
2019-03-25 12:04:46 +08:00
parent 8789c158f4
commit c173caaf6f
6 changed files with 40 additions and 19 deletions

View File

@@ -277,11 +277,13 @@ func (c *PurchaseHandler) callbackMsg2Status(msg *ebaiapi.CallbackMsg) (orderSta
return orderStatus
}
func (c *PurchaseHandler) GetStatusActionTimeout(statusType, status int) time.Duration {
func (c *PurchaseHandler) GetStatusActionTimeout(statusType, status int) (params *partner.StatusActionParams) {
if statusType == scheduler.TimerStatusTypeOrder && status == model.OrderStatusNew {
return acceptOrderDelay // 饿百开了专送店的订单没有拣货状态,接单后就为拣货完成,所以要延迟接单,否则门店来不及备货
params = &partner.StatusActionParams{ // 饿百开了专送店的订单没有拣货状态,接单后就为拣货完成,所以要延迟接单,否则门店来不及备货
Timeout: acceptOrderDelay,
}
}
return 0
return params
}
func (c *PurchaseHandler) getOrderStoreDeliveryType(order *model.GoodsOrder) (deliveryType int) {

View File

@@ -317,11 +317,13 @@ func (c *PurchaseHandler) SelfDeliverDelievered(order *model.GoodsOrder, userNam
return err
}
func (c *PurchaseHandler) GetStatusActionTimeout(statusType, status int) time.Duration {
func (c *PurchaseHandler) GetStatusActionTimeout(statusType, status int) (params *partner.StatusActionParams) {
if statusType == scheduler.TimerStatusTypeOrder && status == model.OrderStatusNew {
return acceptOrderDelay // 饿了么开了专送店的订单没有拣货状态,接单后就为拣货完成,所以要延迟接单,否则门店来不及备货
params = &partner.StatusActionParams{ // 饿了么开了专送店的订单没有拣货状态,接单后就为拣货完成,所以要延迟接单,否则门店来不及备货
Timeout: acceptOrderDelay,
}
}
return 0
return params
}
func (c *PurchaseHandler) RefreshRealMobile(ctx *jxcontext.Context, fromTime, toTime time.Time, isAsync, isContinueWhenError bool) (hint string, err error) {

View File

@@ -7,6 +7,7 @@ import (
"git.rosy.net.cn/baseapi/platformapi/mtwmapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
"git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/jxutils/jxcontext"
"git.rosy.net.cn/jx-callback/business/model"
@@ -20,6 +21,11 @@ const (
FakeMsgTypeOrderDelivering = "orderDelivering"
)
const (
pickupOrderDelay = 4 * time.Minute
pickupOrderGap = 20
)
var (
VendorStatus2StatusMap = map[string]int{
mtwmapi.OrderStatusUserCommitted: model.OrderStatusUnknown,
@@ -259,3 +265,13 @@ func getTimeFromTimestamp(timeStamp int64) time.Time {
func (c *PurchaseHandler) RefreshRealMobile(ctx *jxcontext.Context, fromTime, toTime time.Time, isAsync, isContinueWhenError bool) (hint string, err error) {
return hint, err
}
func (c *PurchaseHandler) GetStatusActionTimeout(statusType, status int) (params *partner.StatusActionParams) {
if statusType == scheduler.TimerStatusTypeOrder && status == model.OrderStatusAccepted {
params = &partner.StatusActionParams{ // 美团外卖要求在5分钟内拣货不然订单会被取消
Timeout: pickupOrderDelay,
TimeoutGap: pickupOrderGap,
}
}
return params
}

View File

@@ -168,10 +168,6 @@ func (p *PurchaseHandler) Map2Order(orderData map[string]interface{}) (order *mo
return order
}
func (p *PurchaseHandler) GetStatusActionTimeout(statusType, status int) time.Duration {
return 0
}
func (p *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) {
if !isAcceptIt {
if globals.EnableStoreWrite && globals.EnableWscStoreWrite {