diff --git a/business/partner/delivery/dada/waybill.go b/business/partner/delivery/dada/waybill.go index 2ac1378d7..d744388c6 100644 --- a/business/partner/delivery/dada/waybill.go +++ b/business/partner/delivery/dada/waybill.go @@ -455,8 +455,9 @@ func (c *DeliveryHandler) GetRiderInfo(orderId string, deliveryId int64, mtPeiso } switch order.StatusCode { - //case 20: // 骑手接单 - // result.LogisticsStatus = model.WaybillStatusCourierAssigned + case 20: // 骑手接单 + result.LogisticsStatus = model.WaybillStatusCourierAssigned + result.LogisticsContext = model.RiderGetOrder case 100: // 骑手到店 result.LogisticsStatus = model.WaybillStatusCourierArrived result.LogisticsContext = model.RiderGetOrder diff --git a/business/partner/delivery/rider.go b/business/partner/delivery/rider.go index e87bc8cef..2f1c41358 100644 --- a/business/partner/delivery/rider.go +++ b/business/partner/delivery/rider.go @@ -2,6 +2,7 @@ package delivery import ( "git.rosy.net.cn/baseapi/platformapi/mtpsapi" + "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api" "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" @@ -77,19 +78,29 @@ func GetOrderRiderInfoToPlatform(orderId string) { switch riderInfo.LogisticsStatus { case 20: //配送中 riderInfo.LogisticsStatus = 20 - //riderInfo.LogisticsContext = `正在配送中` + riderInfo.OpCode = tiktok_api.TiktokLogisticsORDERRECEIVED case 110: // 完成 riderInfo.LogisticsStatus = 40 - //riderInfo.LogisticsContext = `配送完成` + riderInfo.OpCode = tiktok_api.TiktokLogisticsDELIVERED case 105: // 完成 riderInfo.LogisticsStatus = 40 - //riderInfo.LogisticsContext = `被取消` + riderInfo.OpCode = tiktok_api.TiktokLogisticsDELIVERED case 115: // 取消 riderInfo.LogisticsStatus = 100 - //riderInfo.LogisticsContext = `被取消` + riderInfo.OpCode = tiktok_api.TiktokLogisticsCANCELDELIVERY + case 15: // 到店 + riderInfo.LogisticsStatus = 15 + riderInfo.OpCode = tiktok_api.TiktokLogisticsRIDERARRIVED + case 22, 0: // 异常配送 + riderInfo.LogisticsStatus = 22 + riderInfo.OpCode = tiktok_api.TiktokLogisticsINDDELIVERYEXCEPTION + case 12: // 骑手接单 + riderInfo.LogisticsStatus = 12 + riderInfo.OpCode = tiktok_api.TiktokLogisticsORDERRECEIVED default: continue } + if riderInfo.Longitude == "" { riderInfo.Longitude = utils.Float64ToStr(utils.Int2Float64(v.ConsigneeLng) / 1000000) } @@ -107,7 +118,6 @@ func GetOrderRiderInfoToPlatform(orderId string) { } case model.VendorIDELM: // 饿了么 case model.VendorIDEBAI: // 饿百发单 - case model.VendorIDJD: // 京东发单 case model.VendorIDGD: // 美团发单 case model.VendorIDYB: // 银豹发单 @@ -116,12 +126,13 @@ func GetOrderRiderInfoToPlatform(orderId string) { case model.VendorIDDD: // 抖店小时达 globals.SugarLogger.Debugf("riderInfo Order========:%s", utils.Format4Output(riderInfo, false)) // 抖店由于发配送时运单id已经固定了,我们系统在重新发货,或者运单号发生改变时去推送信息时.抖店只识别第一个运单号所以在这儿修改成发单时的第一个运单号! - wayBillList, err := dao.GetWaybills(dao.GetDB(), riderInfo.OrderId) - if err != nil || len(wayBillList) == 0 { - globals.SugarLogger.Errorf("Get WayBill List err := %s", err) - continue - } - riderInfo.ThirdCarrierOrderId = wayBillList[0].VendorWaybillID + //wayBillList, err := dao.GetWaybills(dao.GetDB(), riderInfo.OrderId) + //if err != nil || len(wayBillList) == 0 { + // globals.SugarLogger.Errorf("Get WayBill List err := %s", err) + // continue + //} + //riderInfo.ThirdCarrierOrderId = wayBillList[0].VendorWaybillID + riderInfo.ThirdCarrierOrderId = riderInfo.OrderId paramsMap := utils.Struct2Map(riderInfo, "", true) if handler := partner.GetPurchaseOrderHandlerFromVendorID(v.VendorID); handler != nil { if err := handler.GetOrderRider(v.VendorOrgCode, v.VendorStoreID, paramsMap); err != nil { diff --git a/business/partner/purchase/tiktok_store/order.go b/business/partner/purchase/tiktok_store/order.go index d11839f2b..35ed96c17 100644 --- a/business/partner/purchase/tiktok_store/order.go +++ b/business/partner/purchase/tiktok_store/order.go @@ -183,13 +183,15 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s return nil, nil, err } // 订单不在门店营业时间来的订单, - openTime := localStore.OpenTime1 // 门店开始营业时间 - closeTime := localStore.CloseTime1 // 门店结束营业时间 - if localStore.CloseTime2 != 0 { - closeTime = localStore.CloseTime2 - } - h, m, _ := utils.Timestamp2Time(result.CreateTime).Clock() - if utils.Str2Int16(fmt.Sprintf("%d%d", h, m)) >= openTime && utils.Str2Int16(fmt.Sprintf("%d%d", h, m)) < closeTime && localStore.Status == model.StoreStatusOpened { + //openTime := localStore.OpenTime1 // 门店开始营业时间 + //closeTime := localStore.CloseTime1 // 门店结束营业时间 + //if localStore.CloseTime2 != 0 { + // closeTime = localStore.CloseTime2 + //} + + latestReceiptTime := utils.Timestamp2Time(result.LatestReceiptTime) + //h, m, _ := latestReceiptTime.Clock() + if latestReceiptTime.Day() != time.Now().Day() /*&& utils.Str2Int16(fmt.Sprintf("%d%d", h, m)) >= openTime && utils.Str2Int16(fmt.Sprintf("%d%d", h, m)) < closeTime && localStore.Status == model.StoreStatusOpened*/ { order.BusinessType = model.BusinessTypeImmediate } else { order.BusinessType = model.BusinessTypeDingshida @@ -577,7 +579,8 @@ func (c *PurchaseHandler) CanSwitch2SelfDeliver(order *model.GoodsOrder) (isCan // Swtich2SelfDeliver 抖音转自送的时候就是通知抖音发货了 func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) { - return getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderDelivering(&order_logisticsAdd_request.OrderLogisticsAddParam{ + api := getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "") + err = api.OrderDelivering(&order_logisticsAdd_request.OrderLogisticsAddParam{ OrderId: order.VendorOrderID, Company: "", CompanyCode: "chengdouruoxi", @@ -588,6 +591,16 @@ func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName s AddressId: 0, StoreId: utils.Str2Int64(order.VendorStoreID), }) + 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 } // Swtich2SelfDelivered 暂无自送完成 @@ -613,7 +626,11 @@ func (c *PurchaseHandler) SelfDeliverDelivering(order *model.GoodsOrder, userNam AddressId: 0, StoreId: utils.Str2Int64(order.VendorStoreID), } - return getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderDelivering(param) + err = getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "").OrderDelivering(param) + if err != nil { + return err + } + return err } // SelfDeliverDelivered 自配搜完成(暂无)