- order manager added.
This commit is contained in:
@@ -91,7 +91,7 @@ func (c *DeliveryHandler) callbackMsg2Waybill(msg *dadaapi.CallbackMsg) (retVal
|
||||
}
|
||||
|
||||
// IDeliveryPlatformHandler
|
||||
func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder) (err error) {
|
||||
func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, policy func(deliveryFee, addFee int64) error) (bill *model.Waybill, err error) {
|
||||
billParams := &dadaapi.OperateOrderRequiredParams{
|
||||
ShopNo: utils.Int2Str(order.StoreID), // 当前达达的门店号与京西是一样的
|
||||
OriginID: jxutils.ComposeUniversalOrderID(order.VendorOrderID, order.VendorID),
|
||||
@@ -111,6 +111,9 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder) (err error) {
|
||||
"info": order.BuyerComment,
|
||||
// "origin_mark": model.VendorNames[order.VendorID],
|
||||
"origin_mark_no": fmt.Sprintf("%d", order.OrderSeq),
|
||||
"cargo_type": 13,
|
||||
"cargo_weight": float64(order.Weight) / 1000.0,
|
||||
"cargo_num": order.GoodsCount,
|
||||
}
|
||||
|
||||
// 达达要求第二次创建运单,调用函数不同。所以查找两天内有无相同订单号的运单
|
||||
@@ -122,17 +125,27 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder) (err error) {
|
||||
AND vendor_order_id = ?
|
||||
AND waybill_vendor_id = ?
|
||||
`, jxutils.ComposeUniversalOrderID(order.VendorOrderID, order.VendorID), model.VendorIDDada).ValuesList(&lists)
|
||||
var result *dadaapi.CreateOrderResponse
|
||||
if err2 == nil && num > 0 {
|
||||
globals.SugarLogger.Debugf("CreateWaybill orderID:%s num=%d use ReaddOrder", order.VendorOrderID, num)
|
||||
_, err = api.DadaAPI.ReaddOrder(billParams, addParams)
|
||||
result, err = api.DadaAPI.ReaddOrder(billParams, addParams)
|
||||
} else {
|
||||
if err2 != nil {
|
||||
globals.SugarLogger.Warnf("CreateWaybill orderID:%s error:%v", order.VendorOrderID, err2)
|
||||
}
|
||||
_, err = api.DadaAPI.AddOrder(billParams, addParams)
|
||||
result, err = api.DadaAPI.AddOrder(billParams, addParams)
|
||||
}
|
||||
if err == nil && result != nil {
|
||||
bill = &model.Waybill{
|
||||
VendorOrderID: order.VendorOrderID,
|
||||
OrderVendorID: order.VendorID,
|
||||
WaybillVendorID: model.VendorIDDada,
|
||||
DesiredFee: jxutils.StandardPrice2Int(result.DeliverFee),
|
||||
ActualFee: jxutils.StandardPrice2Int(result.Fee),
|
||||
}
|
||||
}
|
||||
}
|
||||
return err
|
||||
return bill, err
|
||||
}
|
||||
|
||||
func (c *DeliveryHandler) CancelWaybill(bill *model.Waybill) (err error) {
|
||||
|
||||
Reference in New Issue
Block a user