物料订单配送费重算,跳过拣货
This commit is contained in:
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user