订单发三方

This commit is contained in:
苏尹岚
2020-11-19 09:22:53 +08:00
parent f1cb1cfd67
commit 6b91919789
2 changed files with 51 additions and 15 deletions

View File

@@ -808,31 +808,38 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
}
//2020-11-16 预计收益-配送费 > 0 再发
for _, vendorID := range waybillVendorIDs {
var fee int64
handler := partner.GetDeliveryPlatformFromVendorID(vendorID)
if deliveryFeeInfo, err := handler.Handler.GetWaybillFee(order); err == nil {
if income-deliveryFeeInfo.DeliveryFee <= 0 {
excludeVendorIDs = append(excludeVendorIDs, vendorID)
}
fee = deliveryFeeInfo.DeliveryFee
}
globals.SugarLogger.Debugf("count order income, vendorID: %v, income :%v , deliveryFee : %v", vendorID, income, fee)
}
if savedOrderInfo != nil {
//TODO 2020-07-21 发单时间要在门店的营业时间内
if savedOrderInfo.storeDetail != nil {
if savedOrderInfo.storeDetail.OpenTime1 != 0 && savedOrderInfo.storeDetail.CloseTime1 != 0 {
time1 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.OpenTime1, time.Now())
time2 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.CloseTime1, time.Now())
globals.SugarLogger.Debugf("三方运单不在门店营业时间范围 time1 %v ,time2 %v", time1, time2)
if time.Now().Sub(time1) < 0 || time.Now().Sub(time2) > 0 {
if savedOrderInfo.storeDetail.OpenTime2 != 0 && savedOrderInfo.storeDetail.CloseTime2 != 0 {
time3 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.OpenTime2, time.Now())
time4 := jxutils.JxOperationTime2TimeByDate(savedOrderInfo.storeDetail.CloseTime2, time.Now())
if time.Now().Sub(time3) < 0 || time.Now().Sub(time4) > 0 {
err = fmt.Errorf("不在门店营业时间范围内!")
}
} else {
//TODO 2020-07-21 发单时间要在门店的营业时间内
var storeDetail *dao.StoreDetail
if savedOrderInfo.storeDetail != nil {
storeDetail = savedOrderInfo.storeDetail
} else {
storeDetail, err = dao.GetStoreDetail(dao.GetDB(), jxutils.GetSaleStoreIDFromOrder(order), order.VendorID, "")
}
if storeDetail != nil {
globals.SugarLogger.Debugf("三方运单门店营业时间范围 time1 %v ,time2 %v", storeDetail.OpenTime1, storeDetail.CloseTime1)
if storeDetail.OpenTime1 != 0 && storeDetail.CloseTime1 != 0 {
time1 := jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime1, time.Now())
time2 := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime1, time.Now())
if time.Now().Sub(time1) < 0 || time.Now().Sub(time2) > 0 {
if storeDetail.OpenTime2 != 0 && storeDetail.CloseTime2 != 0 {
time3 := jxutils.JxOperationTime2TimeByDate(storeDetail.OpenTime2, time.Now())
time4 := jxutils.JxOperationTime2TimeByDate(storeDetail.CloseTime2, time.Now())
if time.Now().Sub(time3) < 0 || time.Now().Sub(time4) > 0 {
err = fmt.Errorf("不在门店营业时间范围内!")
}
} else {
err = fmt.Errorf("不在门店营业时间范围内!")
}
}
}