物料订单配送费重算,跳过拣货

This commit is contained in:
苏尹岚
2020-03-16 10:56:25 +08:00
parent 4741416e45
commit ae7250970b
2 changed files with 17 additions and 21 deletions

View File

@@ -624,19 +624,19 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
} }
deliveryAddress.ConsigneeName = storeDetail2.Name deliveryAddress.ConsigneeName = storeDetail2.Name
outJxOrder.FromStoreID = fromStoreID outJxOrder.FromStoreID = fromStoreID
if outJxOrder.Weight > 5000 { // if outJxOrder.Weight > 5000 {
_, freightPrice, err := tryToSplitMatterOrder(outJxOrder) // _, freightPrice, err := tryToSplitMatterOrder(outJxOrder)
if err != nil { // if err != nil {
return nil, nil, err // return nil, nil, err
} // }
outJxOrder.FreightPrice = int64(freightPrice) // outJxOrder.FreightPrice = int64(freightPrice)
} else { // } else {
if outJxOrder.Weight <= 2000 { if outJxOrder.Weight <= 2000 {
outJxOrder.FreightPrice = 500 outJxOrder.FreightPrice = 500
} else { } else {
outJxOrder.FreightPrice = utils.Float64TwoInt64(500 + math.Ceil((utils.Int2Float64(outJxOrder.Weight)-2000)/1000)*200) outJxOrder.FreightPrice = utils.Float64TwoInt64(500 + math.Ceil((utils.Int2Float64(outJxOrder.Weight)-2000)/1000)*200)
} }
} // }
} else { } else {
if outJxOrder.FreightPrice > specialFreightPrice { if outJxOrder.FreightPrice > specialFreightPrice {
outJxOrder.FreightPrice = specialFreightPrice outJxOrder.FreightPrice = specialFreightPrice
@@ -761,7 +761,6 @@ func AdjustOrder(ctx *jxcontext.Context, order *model.GoodsOrder, removedSkuList
func PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) { func PickupGoods(order *model.GoodsOrder, isSelfDelivery bool, userName string) (err error) {
err = changeOrderStatus(order.VendorOrderID, model.OrderStatusFinishedPickup, "") err = changeOrderStatus(order.VendorOrderID, model.OrderStatusFinishedPickup, "")
err = orderSolutionForWuLiao(order)
return err return err
} }
@@ -770,6 +769,7 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
var ( var (
db = dao.GetDB() db = dao.GetDB()
) )
err = changeOrderStatus(order.VendorOrderID, model.OrderStatusDelivering, "")
goods, err := dao.QueryOrders(db, order.VendorOrderID, -1, []int{model.VendorIDJX}, -1, utils.ZeroTimeValue, utils.ZeroTimeValue) goods, err := dao.QueryOrders(db, order.VendorOrderID, -1, []int{model.VendorIDJX}, -1, utils.ZeroTimeValue, utils.ZeroTimeValue)
if err != nil || len(goods) == 0 { if err != nil || len(goods) == 0 {
return err return err
@@ -781,7 +781,6 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
prices []string prices []string
quantities []string quantities []string
) )
err = changeOrderStatus(order.VendorOrderID, model.OrderStatusDelivering, "")
for _, v := range orderSkus { for _, v := range orderSkus {
skus, err := dao.GetSkus(db, []int{v.SkuID}, nil, nil, nil, nil) skus, err := dao.GetSkus(db, []int{v.SkuID}, nil, nil, nil, nil)
if err != nil || len(skus) == 0 { if err != nil || len(skus) == 0 {
@@ -843,9 +842,6 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
if err != nil { if err != nil {
return err return err
} }
if outJxOrder.TotalPrice != v.TotalPrice {
return fmt.Errorf("商品或配送信息发生改变,请重新下单")
}
outJxOrder.OrderID = GenOrderNo(jxcontext.AdminCtx) outJxOrder.OrderID = GenOrderNo(jxcontext.AdminCtx)
order2, err2 := jxOrder2GoodsOrder(jxcontext.AdminCtx, outJxOrder, deliveryAddress) order2, err2 := jxOrder2GoodsOrder(jxcontext.AdminCtx, outJxOrder, deliveryAddress)
if err = err2; err == nil { if err = err2; err == nil {
@@ -1290,13 +1286,13 @@ func tryToSplitMatterOrder(jxOrder *JxOrderInfo) (outOrders []*JxOrderInfo, frei
break break
} }
} }
for _, v := range outOrders { // for _, v := range outOrders {
if v.Weight <= 2000 { // if v.Weight <= 2000 {
freightPrice += 500 // freightPrice += 500
} else { // } else {
freightPrice += int(utils.Float64TwoInt64(500 + math.Ceil((utils.Int2Float64(v.Weight)-2000)/1000)*200)) // freightPrice += int(utils.Float64TwoInt64(500 + math.Ceil((utils.Int2Float64(v.Weight)-2000)/1000)*200))
} // }
} // }
return outOrders, freightPrice, err return outOrders, freightPrice, err
} }

View File

@@ -111,7 +111,7 @@ func onTLpayFinished(call *tonglianpayapi.CallBackResult) (err error) {
} }
order, _ := partner.CurOrderManager.LoadOrder(call.CusorderID, model.VendorIDJX) order, _ := partner.CurOrderManager.LoadOrder(call.CusorderID, model.VendorIDJX)
if order.FromStoreID != 0 { if order.FromStoreID != 0 {
PickupGoods(order, false, "jxadmin") err = orderSolutionForWuLiao(order)
} }
} else { } else {
globals.SugarLogger.Debugf("onTLpayFinished msg:%s, err:%v", utils.Format4Output(call, true), err) globals.SugarLogger.Debugf("onTLpayFinished msg:%s, err:%v", utils.Format4Output(call, true), err)