diff --git a/business/jxstore/cms/system_store_sku.go b/business/jxstore/cms/system_store_sku.go index 1bec2eaee..8eb9eac84 100644 --- a/business/jxstore/cms/system_store_sku.go +++ b/business/jxstore/cms/system_store_sku.go @@ -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] //} diff --git a/business/partner/delivery/dada/waybill.go b/business/partner/delivery/dada/waybill.go index e9b22b19a..3667fbea7 100644 --- a/business/partner/delivery/dada/waybill.go +++ b/business/partner/delivery/dada/waybill.go @@ -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) { diff --git a/business/partner/delivery/fn/waybill.go b/business/partner/delivery/fn/waybill.go index eec4deacf..23404757f 100644 --- a/business/partner/delivery/fn/waybill.go +++ b/business/partner/delivery/fn/waybill.go @@ -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) } // 异常报备 diff --git a/business/partner/delivery/mtps/waybill.go b/business/partner/delivery/mtps/waybill.go index 2116dc3ef..581cac531 100644 --- a/business/partner/delivery/mtps/waybill.go +++ b/business/partner/delivery/mtps/waybill.go @@ -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) } } diff --git a/business/partner/delivery/rider.go b/business/partner/delivery/rider.go index 9d4d6a748..108ef69dd 100644 --- a/business/partner/delivery/rider.go +++ b/business/partner/delivery/rider.go @@ -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) diff --git a/business/partner/delivery/sfps/waybill.go b/business/partner/delivery/sfps/waybill.go index 7c6c581ff..7db36f0cf 100644 --- a/business/partner/delivery/sfps/waybill.go +++ b/business/partner/delivery/sfps/waybill.go @@ -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 异常报备 diff --git a/business/partner/delivery/uupt/waybill.go b/business/partner/delivery/uupt/waybill.go index d1c1d88be..6421bdadc 100644 --- a/business/partner/delivery/uupt/waybill.go +++ b/business/partner/delivery/uupt/waybill.go @@ -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) } //辅助函数 diff --git a/business/partner/purchase/tiktok_store/order.go b/business/partner/purchase/tiktok_store/order.go index 511692df7..88d623af8 100644 --- a/business/partner/purchase/tiktok_store/order.go +++ b/business/partner/purchase/tiktok_store/order.go @@ -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)) }