Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop

This commit is contained in:
richboo111
2022-11-02 18:30:36 +08:00
8 changed files with 28 additions and 27 deletions

View File

@@ -176,7 +176,7 @@ func Init() {
// 每五分钟轮询一次推送骑手信息坐标给美团
ScheduleTimerFuncByInterval(func() {
delivery.GetOrderRiderInfoToPlatform("")
delivery.GetOrderRiderInfoToPlatform("", 0)
}, 10*time.Second, 5*time.Minute)
//每天晚上23:00更新抖店 审核状态

View File

@@ -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) {

View File

@@ -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.WaybillStatusNew
result.LogisticsContext = model.RiderWaitRider
case dadaapi.OrderStatusAccepted: // 待取货
result.LogisticsStatus = model.WaybillStatusCourierAssigned // 分配骑手

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -3,5 +3,5 @@ package delivery
import "testing"
func TestRider(t *testing.T) {
GetOrderRiderInfoToPlatform("144228632526740576")
GetOrderRiderInfoToPlatform("144228632526740576", 0)
}

View File

@@ -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
}