This commit is contained in:
邹宗楠
2023-12-01 17:21:41 +08:00
parent aa14619c36
commit 472dc08685
8 changed files with 37 additions and 40 deletions

View File

@@ -45,7 +45,7 @@ func CopyOnStoreSkuToOther(ctx *jxcontext.Context, fromVendorStoreId, toStoreId
switch step {
case 1:
// 1.加载门店商品,删除商品.当分类下没有商品时.删除分类
//errs := LoadingStoreSkuList(ctx, toApi, toStore.VendorStoreID)
// errs := LoadingStoreSkuList(ctx, toApi, toStore.VendorStoreID)
//if errs != nil && len(errs) > 0 {
// return nil, errs[0]
//}

View File

@@ -117,7 +117,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
switch order.OrderVendorID {
case model.VendorIDDD:
Lng, Lat, _ := partner.GetRidderPositionGetter(order.WaybillVendorID).GetRidderPosition(nil, order.VendorOrderID, order.VendorOrderID, order.VendorWaybillID, order.VendorWaybillID2)
tiktokStatusPush(order, msg.OrderStatus, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat))
tiktokStatusPush(order, msg.OrderStatus, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat), goodsOrder.VendorOrgCode)
case model.VendorIDMTWM, model.VendorIDTaoVegetable:
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
if goodsOrder.VendorID == model.VendorIDTaoVegetable && msg.OrderStatus == dadaapi.OrderStatusAccepted {
@@ -129,7 +129,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
}
// 抖音订单状态回传
func tiktokStatusPush(order *model.Waybill, status int, lng, lat string) {
func tiktokStatusPush(order *model.Waybill, status int, lng, lat, vendorOrgCode string) {
result := &utils.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
@@ -177,7 +177,7 @@ func tiktokStatusPush(order *model.Waybill, status int, lng, lat string) {
result.LogisticsStatus = 0
result.LogisticsContext = model.RiderGetOrderDeliverOther
}
delivery.PullTiktokRiderInfo(result)
delivery.PullTiktokRiderInfo(result, vendorOrgCode)
}
func (c *DeliveryHandler) callbackMsg2Waybill(msg *dadaapi.CallbackMsg) (retVal *model.Waybill, goods *model.GoodsOrder) {

View File

@@ -311,7 +311,7 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify, resultParam *fnpsapi.ShortSta
switch order.OrderVendorID {
case model.VendorIDDD:
Lng, Lat, _ := partner.GetRidderPositionGetter(order.WaybillVendorID).GetRidderPosition(nil, order.VendorOrderID, order.VendorOrderID, order.VendorWaybillID, order.VendorWaybillID2)
tiktokStatusPush(order, orderStatus, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat))
tiktokStatusPush(order, orderStatus, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat), order.VendorOrgCode)
case model.VendorIDMTWM, model.VendorIDTaoVegetable:
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
if good.VendorID == model.VendorIDTaoVegetable && cc.OrderStatus == fnpsapi.OrderStatusAssigned {
@@ -322,7 +322,7 @@ func OnWaybillMsg(msg *fnpsapi.OrderStatusNottify, resultParam *fnpsapi.ShortSta
}
// 抖音订单状态回传
func tiktokStatusPush(order *model.Waybill, orderStatus int64, lng, lat string) {
func tiktokStatusPush(order *model.Waybill, orderStatus int64, lng, lat, vendorOrgCode string) {
result := &utils.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
@@ -361,7 +361,7 @@ func tiktokStatusPush(order *model.Waybill, orderStatus int64, lng, lat string)
result.LogisticsStatus = 0
result.LogisticsContext = model.RiderGetOrderDeliverOther
}
delivery.PullTiktokRiderInfo(result)
delivery.PullTiktokRiderInfo(result, vendorOrgCode)
}
// 异常报备

View File

@@ -142,7 +142,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m
switch order.OrderVendorID {
case model.VendorIDDD:
Lng, Lat, _ := partner.GetRidderPositionGetter(order.WaybillVendorID).GetRidderPosition(nil, order.VendorOrderID, order.VendorOrderID, order.VendorWaybillID, order.VendorWaybillID2)
pushMTPSToTiktok(msg.Status, order, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat))
pushMTPSToTiktok(msg.Status, order, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat), goodsOrder.VendorOrgCode)
case model.VendorIDMTWM, model.VendorIDTaoVegetable:
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
if goodsOrder.VendorID == model.VendorIDTaoVegetable && msg.Status == mtpsapi.OrderStatusAccepted {
@@ -153,7 +153,7 @@ func (c *DeliveryHandler) onWaybillMsg(msg *mtpsapi.CallbackOrderMsg) (retVal *m
return err
}
func pushMTPSToTiktok(msgStatus int, order *model.Waybill, lng, lat string) {
func pushMTPSToTiktok(msgStatus int, order *model.Waybill, lng, lat, vendorOrgCode string) {
result := &utils.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
@@ -186,11 +186,12 @@ func pushMTPSToTiktok(msgStatus int, order *model.Waybill, lng, lat string) {
result.LogisticsStatus = 0
result.LogisticsContext = model.RiderGetOrderDeliverOther
}
delivery.PullTiktokRiderInfo(result)
if result.LogisticsStatus == model.WaybillStatusCourierArrived {
result.LogisticsStatus = model.WaybillStatusDelivering
result.LogisticsContext = model.RiderGetOrderDelivering
delivery.PullTiktokRiderInfo(result)
delivery.PullTiktokRiderInfo(result, vendorOrgCode)
} else {
delivery.PullTiktokRiderInfo(result, vendorOrgCode)
}
}

View File

@@ -230,7 +230,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
case model.VendorIDWSC: // 微盟微商城
continue
case model.VendorIDDD: // 抖店小时达
riderInfo.LogisticsProviderCode = utils.JxVendorId2TiktokCode(v.WaybillVendorID)
riderInfo.LogisticsProviderCode = tiktok_api.JxVendorId2TiktokCode(v.WaybillVendorID)
riderInfo.ThirdCarrierOrderId = v.VendorOrderID
if handler := partner.GetPurchaseOrderHandlerFromVendorID(v.VendorID); handler != nil {
if err := handler.GetOrderRider(v.VendorOrgCode, v.VendorStoreID, utils.Struct2Map(riderInfo, "", true)); err != nil {
@@ -261,7 +261,7 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
return
}
func PullTiktokRiderInfo(riderInfo *utils.RiderInfo) {
func PullTiktokRiderInfo(riderInfo *utils.RiderInfo, vendorOrgCode string) {
switch riderInfo.LogisticsStatus {
case 5: // 呼叫骑手
riderInfo.LogisticsStatus = 0
@@ -304,7 +304,7 @@ func PullTiktokRiderInfo(riderInfo *utils.RiderInfo) {
// 抖店由于发配送时运单id已经固定了,我们系统在重新发货,或者运单号发生改变时去推送信息时.抖店只识别第一个运单号所以在这儿修改成发单时的第一个运单号!
paramsMap := utils.Struct2Map(riderInfo, "", true)
if handler := partner.GetPurchaseOrderHandlerFromVendorID(model.VendorIDDD); handler != nil {
if err := handler.GetOrderRider("", "", paramsMap); err != nil {
if err := handler.GetOrderRider(vendorOrgCode, "", paramsMap); err != nil {
globals.SugarLogger.Errorf("PullTiktokRiderInfo Err %s", err.Error())
}
}
@@ -439,7 +439,7 @@ func UpdateFakeWayBillToTiktok() {
if riderInfo.LogisticsContext != model.RiderGetOrderDeliverFailed && riderInfo.LogisticsContext != model.RiderGetOrderDeliverOther && riderInfo.LogisticsContext != model.RiderWaitRider {
riderInfo.LogisticsContext = fmt.Sprintf(riderInfo.LogisticsContext, riderInfo.CourierName, riderInfo.CourierPhone)
}
riderInfo.LogisticsProviderCode = utils.JxVendorId2TiktokCode(fakeWayBill[i].WaybillVendorID)
riderInfo.LogisticsProviderCode = tiktok_api.JxVendorId2TiktokCode(fakeWayBill[i].WaybillVendorID)
// 推送骑手信息
paramsMap := utils.Struct2Map(riderInfo, "", true)

View File

@@ -441,7 +441,7 @@ func OnWaybillMsg(urlIndex string, msg interface{}) (resp *sfps2.CallbackRespons
switch order.OrderVendorID {
case model.VendorIDDD:
Lng, Lat, _ := partner.GetRidderPositionGetter(order.WaybillVendorID).GetRidderPosition(nil, order.VendorOrderID, order.VendorOrderID, order.VendorWaybillID, order.VendorWaybillID2)
tiktokStatusPush(order, orderStatus, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat))
tiktokStatusPush(order, orderStatus, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat), good.VendorOrgCode)
case model.VendorIDTaoVegetable, model.VendorIDMTWM:
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
if good.VendorID == model.VendorIDTaoVegetable && orderStatus == sfps2.OrderStatusTakeOrder {
@@ -451,7 +451,7 @@ func OnWaybillMsg(urlIndex string, msg interface{}) (resp *sfps2.CallbackRespons
return sfps2.Err2CallbackResponse(nil)
}
func tiktokStatusPush(order *model.Waybill, orderStatus int64, lng, lat string) {
func tiktokStatusPush(order *model.Waybill, orderStatus int64, lng, lat, vendorOrgCode string) {
result := &utils.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
@@ -489,7 +489,7 @@ func tiktokStatusPush(order *model.Waybill, orderStatus int64, lng, lat string)
result.LogisticsStatus = 0
result.LogisticsContext = model.RiderGetOrderDeliverOther
}
delivery.PullTiktokRiderInfo(result)
delivery.PullTiktokRiderInfo(result, vendorOrgCode)
}
// OnWaybillExceptSF 异常报备

View File

@@ -416,7 +416,7 @@ func OnWaybillMsg(req *uuptapi.WaybillCallbackParam) (resp *uuptapi.CallbackResp
switch param.OrderVendorID {
case model.VendorIDDD:
Lng, Lat, _ := partner.GetRidderPositionGetter(param.WaybillVendorID).GetRidderPosition(nil, param.VendorOrderID, param.VendorOrderID, param.VendorWaybillID, param.VendorWaybillID2)
tiktokStatusPush(param, req.State, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat))
tiktokStatusPush(param, req.State, utils.Float64ToStr(Lng), utils.Float64ToStr(Lat), good.VendorOrgCode)
case model.VendorIDMTWM, model.VendorIDTaoVegetable:
delivery.GetOrderRiderInfoToPlatform(param.VendorOrderID, param.Status) // 骑手位置更新
if good.VendorID == model.VendorIDTaoVegetable && req.State == uuptapi.StateRMGrabsOrder {
@@ -426,7 +426,7 @@ func OnWaybillMsg(req *uuptapi.WaybillCallbackParam) (resp *uuptapi.CallbackResp
return uuptapi.Err2CallbackResponse(nil)
}
func tiktokStatusPush(param *model.Waybill, orderStatus string, lng, lat string) {
func tiktokStatusPush(param *model.Waybill, orderStatus string, lng, lat, vendorOrgCode string) {
result := &utils.RiderInfo{
OrderId: param.VendorOrderID,
ThirdCarrierOrderId: param.VendorOrderID,
@@ -464,7 +464,7 @@ func tiktokStatusPush(param *model.Waybill, orderStatus string, lng, lat string)
result.LogisticsStatus = 0
result.LogisticsContext = model.RiderGetOrderDeliverOther
}
delivery.PullTiktokRiderInfo(result)
delivery.PullTiktokRiderInfo(result, vendorOrgCode)
}
//辅助函数

View File

@@ -3,7 +3,9 @@ package tiktok_store
import (
"errors"
"fmt"
"git.rosy.net.cn/baseapi/platformapi/autonavi"
"git.rosy.net.cn/baseapi/platformapi/tiktok_shop/ascription_place"
"git.rosy.net.cn/jx-callback/globals/api"
"regexp"
"strings"
"time"
@@ -245,6 +247,15 @@ func (p *PurchaseHandler) GetOrderRider(vendorOrgCode, vendorStoreID string, par
//appKey := `7152420904331429407` // 暂时定死
//appSecret := `cc7ba367-2394-4cbb-81c6-26f0e929d1c6` //暂时定死
//return tiktokShop.NewExpress(appKey, appSecret, "").OrderStatusAndPsInfoNew(param)
//api.AutonaviAPI.
if param["latitude"].(string) != "" && param["longitude"].(string) != "" {
if len(param["latitude"].(string)) > len("39.978573") && len(param["longitude"].(string)) > len("116.5031060") { // 是否为百度坐标
lng, lat, _ := api.AutonaviAPI.CoordinateConvert(param["latitude"].(float64), param["longitude"].(float64), autonavi.CoordSysBaidu)
param["latitude"] = utils.Float64ToStr(lat)
param["longitude"] = utils.Float64ToStr(lng)
}
}
return getAPI(vendorOrgCode, 0, vendorStoreID).OrderStatusAndPsInfoNew(param)
}
@@ -598,22 +609,7 @@ func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName s
AddressId: 0,
StoreId: utils.Str2Int64(order.VendorStoreID),
}
switch order.WaybillVendorID {
case model.VendorIDDada:
logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeDaDa
case model.VendorIDMTPS:
logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeMeiTuan
case model.VendorIDFengNiao:
logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeFengNiao
case model.VendorIDSFPS:
logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeSF
case model.VendorIDUUPT:
logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeUU
case model.VendorJXFakeWL, -1:
logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeMerchant
default:
logisticsAdd.CompanyCode = tiktokShop.TiktokDeliveryTypeMerchant
}
logisticsAdd.CompanyCode = tiktokShop.JxVendorId2TiktokCode(order.WaybillVendorID)
//转门店自送通知抖音发货
return api.OrderDelivering(logisticsAdd)
}
@@ -641,7 +637,7 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam
AddressId: 0,
StoreId: utils.Str2Int64(order.VendorStoreID),
}
param.CompanyCode = utils.JxVendorId2TiktokCode(order.WaybillVendorID)
param.CompanyCode = tiktokShop.JxVendorId2TiktokCode(order.WaybillVendorID)
err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderDelivering(param)
if err != nil {
return err
@@ -677,7 +673,7 @@ func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName
Longitude: utils.Float64ToStr(jxutils.IntCoordinate2Standard(order.ConsigneeLng)),
OpCode: tiktokShop.TiktokLogisticsDELIVERED,
}
riderInfo.LogisticsProviderCode = utils.JxVendorId2TiktokCode(order.WaybillVendorID)
riderInfo.LogisticsProviderCode = tiktokShop.JxVendorId2TiktokCode(order.WaybillVendorID)
bills, _ := dao.GetWaybills(dao.GetDB(), order.VendorOrderID, nil)
for _, v := range bills {
if v.Status == model.OrderStatusCanceled {
@@ -686,7 +682,7 @@ func (c *PurchaseHandler) SelfDeliverDelivered(order *model.GoodsOrder, userName
riderInfo.CourierName = v.CourierName
riderInfo.CourierPhone = v.CourierMobile
}
riderInfo.LogisticsProviderCode = utils.JxVendorId2TiktokCode(order.WaybillVendorID)
riderInfo.LogisticsProviderCode = tiktokShop.JxVendorId2TiktokCode(order.WaybillVendorID)
return c.GetOrderRider("", "", utils.Struct2MapByJson(riderInfo))
}