Merge remote-tracking branch 'origin/jdshop' into jxact

This commit is contained in:
苏尹岚
2020-08-18 08:49:00 +08:00
19 changed files with 262 additions and 94 deletions

View File

@@ -215,7 +215,7 @@ func (c *OrderManager) OnOrderStatusChanged(vendorOrgCode string, orderStatus *m
// }
// } else {
if order.NewEarningPrice == 0 || order.NewEarningPrice != (order.TotalShopMoney-waybill.DesiredFee)*int64(100-store.PayPercentage/2)/int64(100) {
order.NewEarningPrice = (order.TotalShopMoney - waybill.DesiredFee) * int64(100-store.PayPercentage/2) / int64(100)
order.NewEarningPrice = order.TotalShopMoney*int64(100-store.PayPercentage/2)/int64(100) - waybill.DesiredFee
}
// }
}
@@ -361,12 +361,16 @@ func ModifyOrderSkusStock(db *dao.DaoDB, order *model.GoodsOrder, isAdd bool) (e
for _, sku := range skus {
storeSkus, _ := dao.GetStoresSkusInfo(db, []int{jxutils.GetSaleStoreIDFromOrder(order)}, []int{sku.SkuID})
if len(storeSkus) == 0 {
globals.SugarLogger.Warnf("此订单商品没得storsku%v,%v", order.VendorOrderID, sku.SkuID)
if !isAdd {
globals.SugarLogger.Warnf("此订单商品没得storsku%v,%v", order.VendorOrderID, sku.SkuID)
}
continue
}
storeSku, stock := storeSkus[0], 0
if storeSku.Stock == 0 {
globals.SugarLogger.Warnf("此订单商品库存为0%v,%v", order.VendorOrderID, sku.SkuID)
if !isAdd {
globals.SugarLogger.Warnf("此订单商品库存为0%v,%v", order.VendorOrderID, sku.SkuID)
}
continue
}
if isAdd {
@@ -1486,8 +1490,9 @@ func SendJdwlForJdsOrder(ctx *jxcontext.Context, vendorOrderID string) (err erro
waybill = v
}
}
handler := partner.DeliveryPlatformHandlers[waybill.WaybillVendorID]
err = handler.Handler.CancelWaybill(waybill, 0, "订单已发送其他物流")
if handler := partner.GetDeliveryPlatformFromVendorID(model.VendorIDJDWL); handler != nil {
err = handler.Handler.CancelWaybill(waybill, 0, "订单已发送其他物流")
}
if err != nil {
return err
}
@@ -1543,12 +1548,13 @@ func SendJdwlForJdsOrder(ctx *jxcontext.Context, vendorOrderID string) (err erro
dao.UpdateEntity(db, order, "EclpOutID")
vendorWaybillID = eclpSoNo
} else {
handler := partner.DeliveryPlatformHandlers[model.VendorIDJDWL]
waybill2, err := handler.Handler.CreateWaybill(order, 0)
if err != nil {
return err
if handler := partner.GetDeliveryPlatformFromVendorID(model.VendorIDJDWL); handler != nil {
waybill2, err := handler.Handler.CreateWaybill(order, 0)
if err != nil {
return err
}
vendorWaybillID = waybill2.VendorWaybillID
}
vendorWaybillID = waybill2.VendorWaybillID
}
jdshop.CurPurchaseHandler.OrderExport(ctx, vendorOrderID, vendorWaybillID, false)
return err

View File

@@ -736,8 +736,31 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
// if order.VendorID == model.VendorIDJX {
// excludeVendorIDs = append(excludeVendorIDs, model.VendorIDMTPS)
// }
if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, excludeVendorIDs, false, maxDeliveryFee); err == nil {
savedOrderInfo.retryCount++
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())
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 {
err = fmt.Errorf("不在门店营业时间范围内!")
}
}
}
}
}
if err == nil {
if _, err = s.CreateWaybillOnProviders4SavedOrder(jxcontext.AdminCtx, savedOrderInfo, nil, excludeVendorIDs, false, maxDeliveryFee); err == nil {
savedOrderInfo.retryCount++
}
}
} else {
errMsg := fmt.Sprintf("订单:%s已经自动创建过了%d次运单仍然无法配送请关注", order.VendorOrderID, savedOrderInfo.retryCount)

View File

@@ -87,28 +87,6 @@ func (s *DefScheduler) canOrderCreateWaybillNormally(order *model.GoodsOrder, sa
} else if model.IsOrderHaveWaybill(order) {
err = fmt.Errorf("当前订单%s已经有了有效的承运人%s了", order.VendorOrderID, jxutils.GetVendorName(order.WaybillVendorID))
}
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())
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 {
// globals.SugarLogger.Warnf("createWaybillOn3rdProviders return orderID: %s,不在门店营业时间范围内1", order.VendorOrderID)
err = fmt.Errorf("不在门店营业时间范围内!")
}
} else {
// globals.SugarLogger.Warnf("createWaybillOn3rdProviders return orderID: %s,不在门店营业时间范围内2", order.VendorOrderID)
err = fmt.Errorf("不在门店营业时间范围内!")
}
}
}
}
}
return err
}