Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop

This commit is contained in:
richboo111
2022-11-01 09:56:57 +08:00
3 changed files with 51 additions and 22 deletions

View File

@@ -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

View File

@@ -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 {

View File

@@ -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 自配搜完成(暂无)