From c157969744271768d5e399e1bb92cfaaf6b085ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 2 Nov 2022 18:02:02 +0800 Subject: [PATCH 1/2] 1 --- business/jxstore/misc/misc.go | 2 +- business/model/dao/dao_order.go | 4 ++-- business/partner/delivery/dada/waybill.go | 6 ++--- business/partner/delivery/fn/waybill.go | 5 ++++- business/partner/delivery/mtps/waybill.go | 7 ++++-- business/partner/delivery/rider.go | 7 +++++- business/partner/delivery/rider_test.go | 2 +- .../partner/purchase/tiktok_store/order.go | 22 +++++-------------- 8 files changed, 28 insertions(+), 27 deletions(-) diff --git a/business/jxstore/misc/misc.go b/business/jxstore/misc/misc.go index 28e289c0a..f3e30c97d 100644 --- a/business/jxstore/misc/misc.go +++ b/business/jxstore/misc/misc.go @@ -176,7 +176,7 @@ func Init() { // 每五分钟轮询一次推送骑手信息坐标给美团 ScheduleTimerFuncByInterval(func() { - delivery.GetOrderRiderInfoToPlatform("") + delivery.GetOrderRiderInfoToPlatform("", 0) }, 10*time.Second, 5*time.Minute) //每天晚上23:00更新抖店 审核状态 diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index d839942ff..11dee7496 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -1353,8 +1353,8 @@ func GetVendorOrderNumber(db *DaoDB, vendorId int64, vendorStoreId string) (coun utils.Time2Date(date), utils.Time2Date(date).Add(24 * time.Hour), } - - return count, GetRow(db, &count, sql, sqlParams...) + err = GetRow(db, &count, sql, sqlParams...) + return count, err } func GetOrdersForJxPay(db *DaoDB, finishTimeBegin, finishTimeEnd time.Time) (goods []*GoodsOrderPay, err error) { diff --git a/business/partner/delivery/dada/waybill.go b/business/partner/delivery/dada/waybill.go index 17fbe7a84..307532906 100644 --- a/business/partner/delivery/dada/waybill.go +++ b/business/partner/delivery/dada/waybill.go @@ -96,7 +96,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap order.Status = model.WaybillStatusUnknown } err := dadaapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), utils.Int2Str(order.Status)) - defer delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID) // 骑手位置更新 + defer delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新 return err } @@ -456,8 +456,8 @@ func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeiso } switch order.StatusCode { - case dadaapi.OrderStatusWaitingForAccept: // 待接单 - result.LogisticsStatus = model.WaybillStatusAccepted + case dadaapi.OrderStatusWaitingForAccept: // 待接单,召唤骑手 + result.LogisticsStatus = model.WaybillStatusAcceptCanceled result.LogisticsContext = model.RiderWaitRider case dadaapi.OrderStatusAccepted: // 待取货 result.LogisticsStatus = model.WaybillStatusCourierAssigned // 分配骑手 diff --git a/business/partner/delivery/fn/waybill.go b/business/partner/delivery/fn/waybill.go index 39ee3ae5c..a682bee22 100644 --- a/business/partner/delivery/fn/waybill.go +++ b/business/partner/delivery/fn/waybill.go @@ -255,7 +255,7 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify) (resp *fnpsapi.CallbackRespon if err := partner.CurOrderManager.OnWaybillStatusChanged(order); err != nil { return fnpsapi.Err2CallbackResponse(err, "") } - defer delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID) // 骑手位置更新 + defer delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新 return fnpsapi.Err2CallbackResponse(nil, "") } @@ -316,6 +316,9 @@ func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeiso } switch order.OrderStatus { + case 0: // 新订单 + result.LogisticsStatus = model.WaybillStatusNew + result.LogisticsContext = model.RiderWaitRider case 20: // 骑手接单 result.LogisticsStatus = model.WaybillStatusCourierAssigned result.LogisticsContext = model.RiderGetOrder diff --git a/business/partner/delivery/mtps/waybill.go b/business/partner/delivery/mtps/waybill.go index 0b9edf6ce..1c8de2544 100644 --- a/business/partner/delivery/mtps/waybill.go +++ b/business/partner/delivery/mtps/waybill.go @@ -88,7 +88,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m if msg.Status == mtpsapi.OrderStatusPickedUp { order.Status = model.WaybillStatusCourierArrived mtpsapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), order.VendorStatus) - delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID) // 推送假的到店 + defer delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新 msg.Status = mtpsapi.OrderStatusPickedUp } switch msg.Status { @@ -125,7 +125,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m } // 加入调度器 err := mtpsapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), order.VendorStatus) - defer delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID) // 骑手位置更新 + defer delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新 return err } @@ -415,6 +415,9 @@ func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeiso Longitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(lng)), } switch int(utils.MustInterface2Int64(order["status"])) { + case 0: + result.LogisticsStatus = model.WaybillStatusNew + result.LogisticsContext = model.RiderWaitRider case 20: //已接单 result.LogisticsStatus = model.WaybillStatusCourierAssigned result.LogisticsContext = model.RiderGetOrder diff --git a/business/partner/delivery/rider.go b/business/partner/delivery/rider.go index 46baa8d6f..1fb83fefd 100644 --- a/business/partner/delivery/rider.go +++ b/business/partner/delivery/rider.go @@ -26,7 +26,7 @@ import ( //40-骑手已送达(C端:商品已送达;B端:骑手已送达) //100-配送单已取消(C端:商家已接单;B端:配送已取消) //注:若同步配送状态为“配送单已取消”,接口仍支持继续同步配送状态。 说明:商家如未上传此信息,则平台默认值为20(现已要求必传)。 -func GetOrderRiderInfoToPlatform(orderId string) { +func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) { params := make(map[string]interface{}, 0) params["isDateFinish"] = false params["isIncludeFake"] = true @@ -85,6 +85,11 @@ func GetOrderRiderInfoToPlatform(orderId string) { riderInfo.ThirdCarrierOrderId = v.VendorWaybillID switch riderInfo.LogisticsStatus { + case 5: // 呼叫骑手 + riderInfo.LogisticsStatus = 0 + riderInfo.CourierName = "" + riderInfo.CourierPhone = "" + riderInfo.OpCode = tiktok_api.TiktokLogisticsStatusCALLRIDER case 12: // 骑手接单 riderInfo.LogisticsStatus = 12 riderInfo.OpCode = tiktok_api.TiktokLogisticsORDERRECEIVED diff --git a/business/partner/delivery/rider_test.go b/business/partner/delivery/rider_test.go index 70a4e1fc2..9a80b1e55 100644 --- a/business/partner/delivery/rider_test.go +++ b/business/partner/delivery/rider_test.go @@ -3,5 +3,5 @@ package delivery import "testing" func TestRider(t *testing.T) { - GetOrderRiderInfoToPlatform("144228632526740576") + GetOrderRiderInfoToPlatform("144228632526740576", 0) } diff --git a/business/partner/purchase/tiktok_store/order.go b/business/partner/purchase/tiktok_store/order.go index 291c3db4e..0addc913b 100644 --- a/business/partner/purchase/tiktok_store/order.go +++ b/business/partner/purchase/tiktok_store/order.go @@ -105,9 +105,6 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s InvoiceEmail: "", VendorOrgCode: vendorOrgCode, } - // 本地获取订单记录 - orderSeq, _ := dao.GetVendorOrderNumber(dao.GetDB(), model.VendorIDDD, order.VendorStoreID) - order.OrderSeq = orderSeq + 1 if result.FinishTime != 0 { order.OrderFinishedAt = getTimeFromTimestamp(result.FinishTime) @@ -213,6 +210,11 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s v.IsVendorAct = model.YES } } + + // 本地获取订单记录 + orderSeq, _ := dao.GetVendorOrderNumber(dao.GetDB(), model.VendorIDDD, order.VendorStoreID) + order.OrderSeq = orderSeq + 1 + jxutils.RefreshOrderSkuRelated(order) return order, orderMap, nil } @@ -594,12 +596,7 @@ func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName s if err != nil { return err } - // 呼叫骑手 - err = c.GetOrderRider(order.VendorOrgCode, order.VendorStoreID, map[string]interface{}{ - "third_carrier_order_id": order.VendorOrderID, - "opcode": tiktokShop.TiktokLogisticsStatusCALLRIDER, - "logistics_context": "商家呼叫骑手", - }) + return err } @@ -631,13 +628,6 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam return err } - // 呼叫骑手 - err = c.GetOrderRider(order.VendorOrgCode, order.VendorStoreID, map[string]interface{}{ - "third_carrier_order_id": order.VendorOrderID, - "opcode": tiktokShop.TiktokLogisticsStatusCALLRIDER, - "logistics_context": "商家呼叫骑手", - }) - return err } From 4363a424d84a409d11ff7e29e1baa8719286118f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 2 Nov 2022 18:23:21 +0800 Subject: [PATCH 2/2] 1 --- business/partner/delivery/dada/waybill.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/partner/delivery/dada/waybill.go b/business/partner/delivery/dada/waybill.go index 307532906..f1783363e 100644 --- a/business/partner/delivery/dada/waybill.go +++ b/business/partner/delivery/dada/waybill.go @@ -457,7 +457,7 @@ func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeiso switch order.StatusCode { case dadaapi.OrderStatusWaitingForAccept: // 待接单,召唤骑手 - result.LogisticsStatus = model.WaybillStatusAcceptCanceled + result.LogisticsStatus = model.WaybillStatusNew result.LogisticsContext = model.RiderWaitRider case dadaapi.OrderStatusAccepted: // 待取货 result.LogisticsStatus = model.WaybillStatusCourierAssigned // 分配骑手