diff --git a/business/jxcallback/orderman/waybill.go b/business/jxcallback/orderman/waybill.go index 3d5c89db8..75ae0fc93 100644 --- a/business/jxcallback/orderman/waybill.go +++ b/business/jxcallback/orderman/waybill.go @@ -194,7 +194,7 @@ func (w *OrderManager) OnWaybillStatusChanged(bill *model.Waybill) (err error) { Status: status, VendorStatus: bill.VendorStatus, StatusTime: bill.StatusTime, - Remark: bill.Remark, + Remark: bill.Remark + ",订单运费:" + fmt.Sprintf("%d", bill.DesiredFee), } w.OnOrderStatusChanged(bill.VendorOrgCode, fakeOrderStatus) } diff --git a/business/partner/delivery/mtps/waybill.go b/business/partner/delivery/mtps/waybill.go index 6f4cfa946..d108b368e 100644 --- a/business/partner/delivery/mtps/waybill.go +++ b/business/partner/delivery/mtps/waybill.go @@ -4,13 +4,6 @@ import ( "crypto/sha1" "errors" "fmt" - "math/rand" - "net/http" - "net/url" - "sort" - "strings" - "time" - "git.rosy.net.cn/baseapi/platformapi/mtpsapi" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxutils" @@ -23,6 +16,10 @@ import ( "git.rosy.net.cn/jx-callback/globals/api" "github.com/astaxie/beego/client/orm" beego "github.com/astaxie/beego/server/web" + "net/http" + "net/url" + "sort" + "strings" ) const ( @@ -208,8 +205,10 @@ func (c *DeliveryHandler) GetWaybillFee(order *model.GoodsOrder) (deliveryFeeInf } deliveryFeeInfo = &partner.WaybillFeeInfo{} + // 获取送货单id + deliveryID := c.getDeliveryID(order) deliveryFeeInfo.RefDeliveryFee, deliveryFeeInfo.RefAddFee, err = api.MtpsAPI.PreCreateByShop(&mtpsapi.PreCreateByShopParam{ - DeliveryID: time.Now().Unix()*100 + int64(rand.Intn(2)), + DeliveryID: deliveryID, OrderID: order.VendorOrderID, ShopID: utils.Int2Str(order.StoreID), DeliveryServiceCode: mtpsapi.DeliveryServiceCodeRapid, @@ -269,9 +268,7 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee } // 获取送货单id - if billParams.DeliveryID, err = c.getDeliveryID(order, db); err != nil { - return nil, err - } + billParams.DeliveryID = c.getDeliveryID(order) // 获取商铺id if billParams.ShopID, err = c.getMTPSShopID(order, db); err != nil { return nil, err @@ -327,24 +324,24 @@ func (c *DeliveryHandler) CreateWaybill(order *model.GoodsOrder, maxDeliveryFee } func (c *DeliveryHandler) CancelWaybill(bill *model.Waybill, cancelReasonID int, cancelReason string) (err error) { - // switch cancelReasonID { - // case partner.CancelWaybillReasonNotAcceptIntime: - // cancelReasonID = mtpsapi.CancelReasonRideerMtpsOther - // case partner.CancelWaybillReasonSwitch2SelfFailed: - // cancelReasonID = mtpsapi.CancelReasonMerchantOther - // default: - // cancelReasonID = mtpsapi.CancelReasonRideerOther - // } + // 查询delivery_id + order, err := partner.CurOrderManager.LoadOrder(bill.VendorOrderID, 0) + if err != nil { + return err + } + cancelReasonID = mtpsapi.CancelReasonMerchantOther - cancelReason = "" - _, err = api.MtpsAPI.CancelOrder(utils.Str2Int64(bill.VendorWaybillID2), bill.VendorWaybillID, cancelReasonID, cancelReason) - return nil + if cancelReason == "" { + cancelReason = "顾客主动取消" + } + _, err = api.MtpsAPI.CancelOrder(order.ID+1000000, bill.VendorWaybillID, cancelReasonID, cancelReason) + return err } -func (c *DeliveryHandler) getDeliveryID(order *model.GoodsOrder, db *dao.DaoDB) (retVal int64, err error) { +func (c *DeliveryHandler) getDeliveryID(order *model.GoodsOrder) (retVal int64) { // jxorder表当前已经有50多万条记录了,加100万避免冲突 // 508505 - return order.ID + 1000000, nil + return order.ID + 1000000 } func (c *DeliveryHandler) getMTPSShopID(order *model.GoodsOrder, db *dao.DaoDB) (retVal string, err error) {