This commit is contained in:
richboo111
2023-01-12 18:12:34 +08:00
parent da46891379
commit 68b6afe0df
8 changed files with 236 additions and 134 deletions

View File

@@ -112,7 +112,8 @@ func (p *PurchaseHandler) getOrder(vendorOrgCode, vendorOrderID, vendorStoreID s
} else {
order.OrderFinishedAt = utils.DefaultTimeValue
}
order.DeliveryType = model.OrderDeliveryTypeStoreSelf
//order.DeliveryType = model.OrderDeliveryTypeStoreSelf
order.DeliveryType = model.OrderDeliveryTypePlatform
order.Status = p.getStatusFromVendorStatus(result.OrderStatus)
if result.UserIdInfo != nil {
@@ -581,19 +582,47 @@ func (c *PurchaseHandler) CanSwitch2SelfDeliver(order *model.GoodsOrder) (isCan
// Swtich2SelfDeliver 抖音转自送的时候就是通知抖音发货了
func (c *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) {
api := getAPI(order.VendorOrgCode, jxutils.GetSaleStoreIDFromOrder(order), "")
err = api.OrderDelivering(&order_logisticsAdd_request.OrderLogisticsAddParam{
OrderId: order.VendorOrderID,
Company: "",
CompanyCode: "chengdouruoxi",
LogisticsCode: order.VendorOrderID,
IsRefundReject: false,
IsRejectRefund: false,
SerialNumberList: nil,
AddressId: 0,
StoreId: utils.Str2Int64(order.VendorStoreID),
})
api := getAPI(order.VendorOrgCode, 0, "")
if time.Now().Sub(order.CreatedAt) <= tiktokShop.AutoCallDelayTime15*60 { //自动运力呼叫期间不可取消
return errors.New("抖音配送自动呼叫运力期间不可转门店自配送/三方配送请下单成功15分钟后重试")
}
if remoteWaybill, err2 := c.GetDYPSRiderInfo(order.VendorOrderID); err2 == nil {
//remoteWaybill := &superm_getShipmentInfo_response.ShipmentInfo{ //测试数据
// AfterSaleID: 0,
// OccurredTime: "2022-12-28 15:55:51",
// RiderLatitude: "30.693528",
// RiderLongitude: "104.045337",
// RiderName: "赵乐均",
// RiderPhone: "15108474706",
// ShipmentError: 0,
// ShipmentStatus: 2,
// ShopID: 57939570,
// ShopOrderID: 5016940182798690015,
// TrackNo: "DYA36452999870015",
//}
if remoteWaybill.ShipmentStatus >= tiktokShop.ShipmentStatusArrived { //骑手取货后不可取消
return errors.New("抖音配送骑手已取货,不可转门店自配送/三方配送")
} else {
if localWaybill, err1 := dao.GetWaybills(dao.GetDB(), order.VendorOrderID); err1 == nil && len(localWaybill) > 0 {
if err = c.CancelWaybill(localWaybill[0], partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel); err != nil {
return fmt.Errorf("%s,不可转门店自配送/三方配送", err)
} else {
//转门店自送通知抖音发货
err = api.OrderDelivering(&order_logisticsAdd_request.OrderLogisticsAddParam{
OrderId: order.VendorOrderID,
Company: "",
CompanyCode: "chengdouruoxi",
LogisticsCode: order.VendorOrderID,
IsRefundReject: false,
IsRejectRefund: false,
SerialNumberList: nil,
AddressId: 0,
StoreId: utils.Str2Int64(order.VendorStoreID),
})
}
}
}
}
return err
}