This commit is contained in:
邹宗楠
2022-04-14 18:20:41 +08:00
parent a80506cb43
commit 2a62826b1a
7 changed files with 61 additions and 63 deletions

View File

@@ -2,7 +2,6 @@ package misc
import (
"fmt"
"git.rosy.net.cn/jx-callback/business/partner/delivery"
"sync"
"time"
@@ -389,7 +388,7 @@ func Init() {
})
// 每五分钟轮询一次推送骑手信息坐标给美团
ScheduleTimerFuncByInterval(func() {
delivery.GetOrderRiderInfoToPlatform("")
//delivery.GetOrderRiderInfoToPlatform("")
}, 10*time.Second, 5*time.Minute)
}
if configs, err := dao.QueryConfigs(dao.GetDB(), "ebaiStorePageCookie", model.ConfigTypeCookie, ""); err == nil {

View File

@@ -821,7 +821,7 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat
DISTINCT t1.*,
-- CAST(IF(t1.earning_price <> 0, t1.earning_price, IF(t1.shop_price <> 0 && t1.shop_price < t1.sale_price, t1.shop_price, t1.sale_price) * IF(t1.order_pay_percentage > 0, t1.order_pay_percentage, %d) / 100) AS SIGNED) earning_price,
t2.status waybill_status, t2.courier_name, t2.courier_mobile,
t2.actual_fee, t2.desired_fee, t2.waybill_created_at, t2.waybill_finished_at,t2.vendor_waybill_id2,
t2.actual_fee, t2.desired_fee, t2.waybill_created_at, t2.waybill_finished_at,
t5.pay_percentage, t5.old_pay_percentage, t5.market_man_phone, tu.name market_man_name,
t5.operator_phone, t5.operator_phone2, t5.operator_phone3, tu1.name operator_name, tu2.name operator_name2, tu3.name operator_name3,
t6.vendor_pay_percentage,

View File

@@ -136,7 +136,7 @@ type GoodsOrder struct {
VendorWaybillID string `orm:"column(vendor_waybill_id);size(48)" json:"vendorWaybillID"`
WaybillVendorID int `orm:"column(waybill_vendor_id)" json:"waybillVendorID"` // 表示当前承运商,-1表示还没有安排
VendorWaybillId2 string `orm:"column(vendor_waybill_id2)" json:"vendorWaybillId2"` // 美团标志id
//VendorWaybillId2 string `orm:"column(vendor_waybill_id2)" json:"vendorWaybillId2"` // 美团标志id
AdjustCount int8 `json:"adjustCount"` // 调整单(次数)
DeliveryFlag int8 `json:"deliveryFlag"` // 第1位为1表示禁止调度器调度三方配送
DuplicatedCount int `json:"-"` // 重复新订单消息数这个一般不是由于消息重发造成的消息重发由OrderStatus过滤一般是业务逻辑造成的

View File

@@ -84,7 +84,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
}
case dadaapi.OrderStatusDelivering:
order.Status = model.WaybillStatusDelivering
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID)
//delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID)
case dadaapi.OrderStatusFinished:
order.Status = model.WaybillStatusDelivered
case dadaapi.OrderStatusCanceled, dadaapi.OrderStatusExpired:

View File

@@ -2,7 +2,6 @@ package delivery
import (
"fmt"
"git.rosy.net.cn/baseapi/platformapi/mtpsapi"
"math"
"time"
@@ -164,58 +163,58 @@ func OnWaybillCreated(waybill *model.Waybill) {
//40-骑手已送达C端商品已送达B端骑手已送达
//100-配送单已取消C端商家已接单B端配送已取消
//注:若同步配送状态为“配送单已取消”,接口仍支持继续同步配送状态。 说明商家如未上传此信息则平台默认值为20现已要求必传
func GetOrderRiderInfoToPlatform(orderId string) {
params := make(map[string]interface{}, 0)
params["brandID"] = 0
params["statuss"] = 20
params["isDateFinish"] = false
params["isIncludeFake"] = true
params["mustInvoice"] = false
params["adjustCount"] = 0
params["waybillVendorIDs"] = `[101,102,103]`
if orderId != "" { // 订单id会忽略其他参数
params["keyword"] = orderId
}
//params["offset"] = 0
//params["pageSize"] = 10000
// 查询三天内一万条数据
orders, _, err := dao.GetOrders(dao.GetDB(), nil, false, true, time.Now().Add(-24*3*time.Hour).Format("2006-01-02"), time.Now().Format("2006-01-02"), false, nil, false, "", params, 0, 10000)
if err != nil {
globals.SugarLogger.Errorf("GetOrder err :%v", err)
return
}
for _, v := range orders {
var riderInfo *mtpsapi.RiderInfo
if handlerInfo := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID); handlerInfo != nil {
riderInfo, err = handlerInfo.Handler.GetRiderInfo(v.VendorOrderID, utils.Str2Int64(v.VendorWaybillId2), v.VendorWaybillID)
if err != nil {
globals.SugarLogger.Errorf("Get Order waybill rider info err :%v", err)
continue
}
}
// 目前只推送美团骑手信息
switch v.VendorID {
case model.VendorIDMTWM: // 美团发单
paramsMap := utils.Struct2Map(riderInfo, "", true)
if handler := partner.GetPurchaseOrderHandlerFromVendorID(v.VendorID); handler != nil {
if err := handler.GetOrderRider(v.VendorOrgCode, v.VendorOrderID, paramsMap); err != nil {
globals.SugarLogger.Errorf("Error pushing meituan rider information :%v", err)
}
}
case model.VendorIDELM: // 饿了么
case model.VendorIDEBAI: // 饿百发单
case model.VendorIDJD: // 京东发单
case model.VendorIDGD: // 美团发单
case model.VendorIDYB: // 银豹发单
case model.VendorIDJDShop: // 京东商城
case model.VendorIDWSC: // 微盟微商城
default:
globals.SugarLogger.Errorf("Order source error, non system order")
return
}
}
return
}
//func GetOrderRiderInfoToPlatform(orderId string) {
// params := make(map[string]interface{}, 0)
// params["brandID"] = 0
// params["statuss"] = 20
// params["isDateFinish"] = false
// params["isIncludeFake"] = true
// params["mustInvoice"] = false
// params["adjustCount"] = 0
// params["waybillVendorIDs"] = `[101,102,103]`
// if orderId != "" { // 订单id会忽略其他参数
// params["keyword"] = orderId
// }
// //params["offset"] = 0
// //params["pageSize"] = 10000
// // 查询三天内一万条数据
// orders, _, err := dao.GetOrders(dao.GetDB(), nil, false, true, time.Now().Add(-24*3*time.Hour).Format("2006-01-02"), time.Now().Format("2006-01-02"), false, nil, false, "", params, 0, 10000)
// if err != nil {
// globals.SugarLogger.Errorf("GetOrder err :%v", err)
// return
// }
//
// for _, v := range orders {
// var riderInfo *mtpsapi.RiderInfo
// if handlerInfo := partner.GetDeliveryPlatformFromVendorID(v.WaybillVendorID); handlerInfo != nil {
// riderInfo, err = handlerInfo.Handler.GetRiderInfo(v.VendorOrderID, utils.Str2Int64(v.VendorWaybillId2), v.VendorWaybillID)
// if err != nil {
// globals.SugarLogger.Errorf("Get Order waybill rider info err :%v", err)
// continue
// }
// }
//
// // 目前只推送美团骑手信息
// switch v.VendorID {
// case model.VendorIDMTWM: // 美团发单
// paramsMap := utils.Struct2Map(riderInfo, "", true)
// if handler := partner.GetPurchaseOrderHandlerFromVendorID(v.VendorID); handler != nil {
// if err := handler.GetOrderRider(v.VendorOrgCode, v.VendorOrderID, paramsMap); err != nil {
// globals.SugarLogger.Errorf("Error pushing meituan rider information :%v", err)
// }
// }
// case model.VendorIDELM: // 饿了么
// case model.VendorIDEBAI: // 饿百发单
//
// case model.VendorIDJD: // 京东发单
// case model.VendorIDGD: // 美团发单
// case model.VendorIDYB: // 银豹发单
// case model.VendorIDJDShop: // 京东商城
// case model.VendorIDWSC: // 微盟微商城
// default:
// globals.SugarLogger.Errorf("Order source error, non system order")
// return
// }
// }
// return
//}

View File

@@ -235,7 +235,7 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify) (resp *fnpsapi.CallbackRespon
order.Status = model.WaybillStatusCourierArrived
case fnpsapi.OrderStatusDelivering: // 2 配送中
order.Status = model.WaybillStatusDelivering
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID)
//delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID)
case fnpsapi.OrderStatusDelivered: // 3 已经送达
order.Status = model.WaybillStatusDelivered
case fnpsapi.OrderStatusAcceptCacle: // 4取消订单

View File

@@ -103,7 +103,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m
order.Remark = order.CourierName + "" + order.CourierMobile
case mtpsapi.OrderStatusPickedUp:
order.Status = model.WaybillStatusDelivering
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID)
///delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID)
case mtpsapi.OrderStatusDeliverred:
order.Status = model.WaybillStatusDelivered
case mtpsapi.OrderStatusCanceled: