1
This commit is contained in:
@@ -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]
|
||||
//}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
// 异常报备
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 异常报备
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
//辅助函数
|
||||
|
||||
@@ -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))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user