- wsc schedule.

This commit is contained in:
gazebo
2019-01-24 18:19:38 +08:00
parent ac291b287c
commit bd92371e84
3 changed files with 34 additions and 14 deletions

View File

@@ -516,13 +516,13 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
if _, err = s.CreateWaybill(vendorID, order, func(deliveryFee, addFee int64) error {
if savedOrderInfo.storeDeliveryType != scheduler.StoreDeliveryTypeByStore && addFee > maxAddFee {
db := orm.NewOrm()
globals.SugarLogger.Infof("CreateWaybill orderID:%s addFee exceeded too much, it's %d", order.VendorOrderID, addFee)
globals.SugarLogger.Infof("createWaybillOn3rdProviders CreateWaybill orderID:%s addFee exceeded too much deliveryFee:%d, addFee:%d", order.VendorOrderID, deliveryFee, addFee)
tmpLog := &legacymodel.TempLog{
VendorOrderID: order.VendorOrderID,
RefVendorOrderID: order.VendorOrderID,
IntValue1: addFee,
Msg: fmt.Sprintf("CreateWaybill orderID:%s addFee exceeded too much, it's %d", order.VendorOrderID, addFee),
Msg: fmt.Sprintf("createWaybillOn3rdProviders CreateWaybill orderID:%s addFee exceeded too much deliveryFee:%d, addFee:%d", order.VendorOrderID, deliveryFee, addFee),
}
db.Insert(tmpLog)
return ErrAddFeeExceeded

View File

@@ -30,19 +30,19 @@ var (
)
var (
curDeliveryHandler *DeliveryHandler
CurDeliveryHandler *DeliveryHandler
)
type DeliveryHandler struct {
}
func init() {
curDeliveryHandler = new(DeliveryHandler)
partner.RegisterDeliveryPlatform(curDeliveryHandler, true)
CurDeliveryHandler = new(DeliveryHandler)
partner.RegisterDeliveryPlatform(CurDeliveryHandler, true)
}
func OnWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaapi.CallbackResponse) {
return curDeliveryHandler.OnWaybillMsg(msg)
return CurDeliveryHandler.OnWaybillMsg(msg)
}
func (c *DeliveryHandler) GetVendorID() int {

View File

@@ -1,6 +1,7 @@
package wsc
import (
"errors"
"sort"
"time"
@@ -10,6 +11,7 @@ import (
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/model/dao"
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/business/partner/delivery/dada"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
)
@@ -19,6 +21,10 @@ const (
FakeOrderStatusFinishedPickup = 102
)
const (
maxAddFee = 300 // 最大增加费用,单位为分,超过不发三方配送了
)
var (
VendorStatus2StatusMap = map[int]int{
weimobapi.OrderStatusWait4Pay: model.OrderStatusUnknown,
@@ -148,14 +154,17 @@ func (p *PurchaseHandler) GetStatusActionTimeout(statusType, status int) time.Du
}
func (p *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptIt bool, userName string) (err error) {
if globals.EnableStoreWrite && globals.EnableWscStoreWrite {
if !isAcceptIt {
if !isAcceptIt {
if globals.EnableStoreWrite && globals.EnableWscStoreWrite {
err = api.WeimobAPI.CancelOrder(utils.Str2Int64(order.VendorOrderID), "")
}
} else {
if jxutils.GetSaleStoreIDFromOrder(order) != 0 {
// 微商城没有确认,只有取消,模拟接受
p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), FakeOrderStatusAccepted)
} else {
if jxutils.GetSaleStoreIDFromOrder(order) == 0 {
// 微商城没有确认,只有取消,模拟接受
p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), FakeOrderStatusAccepted)
} else {
globals.SugarLogger.Debugf("weimob AcceptOrRefuseOrder orderID:%s can not find sale store", order.VendorOrderID)
if globals.EnableStoreWrite && globals.EnableWscStoreWrite {
err = api.WeimobAPI.CancelOrder(utils.Str2Int64(order.VendorOrderID), "没有找到合适的配送店")
}
}
@@ -165,29 +174,40 @@ func (p *PurchaseHandler) AcceptOrRefuseOrder(order *model.GoodsOrder, isAcceptI
func (p *PurchaseHandler) PickupGoods(order *model.GoodsOrder, userName string) (err error) {
if globals.EnableStoreWrite && globals.EnableWscStoreWrite {
// 微商城没有拣货完成,模拟
p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), FakeOrderStatusFinishedPickup)
_, err = dada.CurDeliveryHandler.CreateWaybill(order, func(deliveryFee, addFee int64) error {
if addFee > maxAddFee {
globals.SugarLogger.Infof("PickupGoods CreateWaybill orderID:%s addFee exceeded too much deliveryFee:%d, addFee:%d", order.VendorOrderID, deliveryFee, addFee)
return errors.New("配送超过基准价太多")
}
return nil
})
}
// 微商城没有拣货完成,模拟
p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), FakeOrderStatusFinishedPickup)
return err
}
// 将订单从购物平台配送转为自送
func (p *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) {
// p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), weimobapi.OrderStatusDelivering)
return err
}
// 将订单从购物平台配送转为自送后又送达
func (p *PurchaseHandler) Swtich2SelfDelivered(order *model.GoodsOrder, userName string) (err error) {
// p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), weimobapi.OrderStatusFinished)
return err
}
// 完全自送的门店表示开始配送
func (p *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userName string) (err error) {
// p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), weimobapi.OrderStatusDelivering)
return err
}
// 完全自送的门店表示配送完成
func (p *PurchaseHandler) SelfDeliverDelievered(order *model.GoodsOrder, userName string) (err error) {
// p.postFakeMsg(utils.Str2Int64(order.VendorOrderID), weimobapi.OrderStatusFinished)
return err
}