template name

This commit is contained in:
richboo111
2022-11-07 09:26:15 +08:00
7 changed files with 143 additions and 63 deletions

View File

@@ -97,7 +97,56 @@ func (c *DeliveryHandler) onWaybillMsg(msg *dadaapi.CallbackMsg) (retVal *dadaap
order.Status = model.WaybillStatusUnknown
}
err := dadaapi.Err2CallbackResponse(partner.CurOrderManager.OnWaybillStatusChanged(order), utils.Int2Str(order.Status))
defer delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
defer func(order *model.Waybill) {
delivery.GetOrderRiderInfoToPlatform(order.VendorOrderID, order.Status) // 骑手位置更新
}(order)
if order.OrderVendorID == model.VendorIDDD {
result := &mtpsapi.RiderInfo{
OrderId: order.VendorOrderID,
ThirdCarrierOrderId: order.VendorOrderID,
CourierName: order.CourierName,
CourierPhone: order.CourierMobile,
LogisticsProviderCode: "10002",
LogisticsStatus: order.Status,
OpCode: "",
}
switch order.Status {
case dadaapi.OrderStatusWaitingForAccept: // 待接单,召唤骑手
result.LogisticsStatus = model.WaybillStatusNew
result.LogisticsContext = model.RiderWaitRider
case dadaapi.OrderStatusAccepted: // 待取货
result.LogisticsStatus = model.WaybillStatusCourierAssigned // 分配骑手
result.LogisticsContext = model.RiderWaitGetGoods
case dadaapi.OrderStatusDelivering: // 配送中
result.LogisticsStatus = model.WaybillStatusDelivering
result.LogisticsContext = model.RiderGetOrderDelivering
case dadaapi.OrderStatusFinished: // 完成
result.LogisticsStatus = model.WaybillStatusDelivered
result.LogisticsContext = model.RiderGetOrderDelivered
case dadaapi.OrderStatusCanceled: // 取消
result.LogisticsStatus = model.WaybillStatusCanceled
result.LogisticsContext = model.RiderGetOrderCanceled
case 8: // 指派单,不处理
result.LogisticsStatus = 0
result.LogisticsContext = model.RiderGetOrderDeliverOther
case 9: // 配送异常返回值
result.LogisticsStatus = model.WaybillStatusDeliverFailed
result.LogisticsContext = model.RiderGetOrderDeliverFailed
case 10: // 妥投异常之物品返回完成 - 不处理
result.LogisticsStatus = 0
result.LogisticsContext = model.RiderGetOrderDeliverOther
case dadaapi.OrderStatusReturningInOrder: // 骑手到店
result.LogisticsStatus = model.WaybillStatusCourierArrived
result.LogisticsContext = model.RiderToStore
case dadaapi.OrderStatusAddOrderFailed: // 创建达达运单失败 - 不处理
result.LogisticsStatus = model.WaybillStatusFailed
result.LogisticsContext = model.RiderGetOrderDeliverOther
default:
result.LogisticsStatus = 0
result.LogisticsContext = model.RiderGetOrderDeliverOther
}
delivery.PullTiktokRiderInfo(result)
}
return err
}

View File

@@ -86,17 +86,6 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
riderInfo.CourierName = "石锋"
riderInfo.CourierPhone = "18048531223"
riderInfo.LogisticsProviderCode = "10017"
if wayBillStatus == model.WaybillStatusNew {
riderInfo.LogisticsStatus = model.WaybillStatusNew
riderInfo.LogisticsContext = "呼叫骑手,新建运单"
} else if wayBillStatus == model.WaybillStatusCanceled {
riderInfo.LogisticsStatus = model.WaybillStatusCanceled
riderInfo.LogisticsContext = "取消骑手"
} else {
riderInfo.LogisticsStatus = model.WaybillStatusDeliverFailed
riderInfo.LogisticsContext = "配送异常,等待恢复"
}
}
riderInfo.ThirdCarrierOrderId = v.VendorWaybillID
@@ -131,14 +120,6 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
continue
}
if v.VendorID == model.VendorIDDD && (riderInfo.LogisticsStatus == 100 || riderInfo.LogisticsStatus == 0 || riderInfo.LogisticsStatus == 20) {
riderInfo.CourierName = ""
riderInfo.CourierPhone = ""
}
if riderInfo.LogisticsStatus != 22 && riderInfo.LogisticsStatus != 120 && riderInfo.LogisticsStatus != 0 {
riderInfo.LogisticsContext += fmt.Sprintf("[%s:%s]", riderInfo.CourierName, riderInfo.CourierPhone)
}
if riderInfo.Longitude == "" {
riderInfo.Longitude = utils.Float64ToStr(utils.Int2Float64(v.ConsigneeLng) / 1000000)
}
@@ -162,15 +143,6 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
case model.VendorIDJDShop: // 京东商城
case model.VendorIDWSC: // 微盟微商城
case model.VendorIDDD: // 抖店小时达
// 呼叫骑手的时候推送发货
// 抖店由于发配送时运单id已经固定了,我们系统在重新发货,或者运单号发生改变时去推送信息时.抖店只识别第一个运单号所以在这儿修改成发单时的第一个运单号!
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 {
globals.SugarLogger.Errorf("Error pushing tiktok rider information :%s--%s--%v", riderInfo.OrderId, riderInfo.ThirdCarrierOrderId, err)
}
}
default:
globals.SugarLogger.Errorf("Order source error, non system order")
return
@@ -179,6 +151,57 @@ func GetOrderRiderInfoToPlatform(orderId string, wayBillStatus int) {
return
}
func PullTiktokRiderInfo(riderInfo *mtpsapi.RiderInfo) {
switch riderInfo.LogisticsStatus {
case 5: // 呼叫骑手
riderInfo.LogisticsStatus = 0
riderInfo.OpCode = tiktok_api.TiktokLogisticsStatusCALLRIDER
case 12: // 骑手接单
riderInfo.LogisticsStatus = 12
riderInfo.OpCode = tiktok_api.TiktokLogisticsORDERRECEIVED
case 15: // 到店
riderInfo.LogisticsStatus = 15
riderInfo.OpCode = tiktok_api.TiktokLogisticsRIDERARRIVED
case 20: //配送中
riderInfo.LogisticsStatus = 20
riderInfo.OpCode = tiktok_api.TiktokLogisticsRIDERPICKUP
case 110: // 完成
riderInfo.LogisticsStatus = 40
riderInfo.OpCode = tiktok_api.TiktokLogisticsDELIVERED
case 105: // 完成
riderInfo.LogisticsStatus = 40
riderInfo.OpCode = tiktok_api.TiktokLogisticsDELIVERED
case 115: // 取消
riderInfo.CourierName = ""
riderInfo.CourierPhone = ""
riderInfo.LogisticsStatus = 100
riderInfo.OpCode = tiktok_api.TiktokLogisticsCANCELDELIVERY
case 22, 0, 120: // 异常配送
riderInfo.LogisticsStatus = 22
riderInfo.OpCode = tiktok_api.TiktokLogisticsINDDELIVERYEXCEPTION
}
if riderInfo.CourierPhone == "" {
riderInfo.CourierPhone = "18981810000"
}
if riderInfo.CourierName == "" {
riderInfo.CourierName = "暂无"
}
if riderInfo.LogisticsStatus != 22 && riderInfo.LogisticsStatus != 120 && riderInfo.LogisticsStatus != 0 {
riderInfo.LogisticsContext += fmt.Sprintf("[%s:%s]", riderInfo.CourierName, riderInfo.CourierPhone)
}
// 呼叫骑手的时候推送发货
// 抖店由于发配送时运单id已经固定了,我们系统在重新发货,或者运单号发生改变时去推送信息时.抖店只识别第一个运单号所以在这儿修改成发单时的第一个运单号!
paramsMap := utils.Struct2Map(riderInfo, "", true)
if handler := partner.GetPurchaseOrderHandlerFromVendorID(model.VendorIDDD); handler != nil {
if err := handler.GetOrderRider("", "", paramsMap); err != nil {
globals.SugarLogger.Errorf("PullTiktokRiderInfo Err %s", err.Error())
}
}
}
//将以过期订单状态为配送中的订单修改为完成状态
func UpdateOrder2Complete() {
sql := `UPDATE goods_order g SET g.status=110 WHERE g.status=20 AND g.order_created_at < ?`
@@ -266,7 +289,10 @@ func UpdateFakeWayBillToTiktok() {
continue
}
riderInfo.LogisticsContext += fmt.Sprintf("[%s:%s]", riderInfo.CourierName, riderInfo.CourierPhone)
if riderInfo.LogisticsContext != model.RiderGetOrderDeliverFailed && riderInfo.LogisticsContext != model.RiderGetOrderDeliverOther && riderInfo.LogisticsContext != model.RiderWaitRider {
riderInfo.LogisticsContext = fmt.Sprintf(riderInfo.LogisticsContext, riderInfo.CourierName, riderInfo.CourierPhone)
}
// 推送骑手信息
paramsMap := utils.Struct2Map(riderInfo, "", true)
if handler := partner.GetPurchaseOrderHandlerFromVendorID(model.VendorIDDD); handler != nil {

View File

@@ -60,6 +60,7 @@ var (
)
func (c *PurchaseHandler) OnOrderMsg(a *jdapi.API, msg *jdapi.CallbackOrderMsg) (retVal *jdapi.CallbackResponse) {
globals.SugarLogger.Debug("===================京东订单 := %s", utils.Format4Output(msg, false))
primaryID := msg.BillID
primaryID += utils.Int64ToStr(time.Now().Unix())
jxutils.CallMsgHandler(func() {
@@ -203,8 +204,10 @@ func (c *PurchaseHandler) getOrder(a *jdapi.API, orderID string) (order *model.G
switch taskIndex {
case 0:
orderMap, err = a.QuerySingleOrder(orderID)
globals.SugarLogger.Debugf("===========================new order order Mao%s", utils.Format4Output(orderMap, false))
if err == nil {
order = c.Map2Order(orderMap)
globals.SugarLogger.Debugf("===========================new really order Mao%s", utils.Format4Output(order, false))
if configs, err := dao.QueryConfigs(dao.GetDB(), "jdStorePageCookie", model.ConfigTypeCookie, ""); err == nil {
//a.SetJdCookie(configs[0].Value)
a.SetCookieWithStr(configs[0].Value)

View File

@@ -453,8 +453,8 @@ func CreateFreightTemplate(storeCode int) (int64, error) {
}}
param.Columns = columns
} else {
param.Template.TemplateName += "固定运费模板"
param.Columns = nil
param.Template.TemplateName += "固定运费模板"
}
globals.SugarLogger.Debugf("param.Template.TemplateName===============%s", param.Template.TemplateName)
resp, err := getAPI(storeDetail.VendorOrgCode, storeCode, storeDetail.VendorStoreID).FreightTemplateCreate(param)

View File

@@ -133,7 +133,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
Weight: utils.Int2Float64(storeSku.Weight),
DeliveryDelayDay: tiktokShop.DeliveryDelayDayToDay,
PresellType: tiktokShop.SendGoodsTypeNow,
Supply7dayReturn: 0, // 是否支持7天无理由0不支持1支持2支持拆封后不支持
Supply7dayReturn: 2, // 是否支持7天无理由0不支持1支持2支持拆封后不支持
Mobile: storeDetail.Tel1,
Commit: true,
Specs: "重量|" + utils.Float64ToStr(float64(storeSku.SpecQuality)) + storeSku.SpecUnit,
@@ -392,7 +392,7 @@ func GetDeliveryTemp(api *tiktokShop.API, vendorStoreID string, storeDetail *dao
productProvince := utils.Str2Int64(utils.Int2Str(storeDetail.ProvinceCode)[0:2])
tempDetail := &freightTemplate_create_request.FreightTemplateCreateParam{
Template: &freightTemplate_create_request.Template{
TemplateName: storeDetail.Name + "_" + utils.Int64ToStr(rand.Int63n(int64(storeDetail.ID))) + "_",
TemplateName: storeDetail.Name + utils.Int64ToStr(rand.Int63n(int64(storeDetail.ID))),
ProductProvince: productProvince,
ProductCity: int64(storeDetail.CityCode),
CalculateType: 2,
@@ -445,6 +445,7 @@ func GetDeliveryTemp(api *tiktokShop.API, vendorStoreID string, storeDetail *dao
return 0, err
}
freightId = temp.TemplateId
dao.InsertIntoFreightTemplate(storeDetail.Store.ID, storeDetail.VendorStoreID, freightId, 0, 0, 0)
}
globals.SugarLogger.Debugf("freightId =last %d", freightId)
return freightId, nil