守价支付
This commit is contained in:
@@ -235,8 +235,9 @@ func CreateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64,
|
||||
}
|
||||
if createType == OrderCreateTypeNormal {
|
||||
if jxOrder.OrderType == model.OrderTypeDefendPrice {
|
||||
buildDefendPriceOrder(ctx, jxOrder, addressID)
|
||||
return
|
||||
vendorOrderID := buildDefendPriceOrder(ctx, jxOrder, addressID)
|
||||
outJxOrder.OrderID = utils.Str2Int64(vendorOrderID)
|
||||
return outJxOrder, err
|
||||
}
|
||||
if outJxOrder.TotalPrice != jxOrder.TotalPrice {
|
||||
return nil, fmt.Errorf("商品或配送信息发生改变,请重新下单")
|
||||
@@ -260,7 +261,7 @@ func CreateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64,
|
||||
return outJxOrder, err
|
||||
}
|
||||
|
||||
func buildDefendPriceOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64) {
|
||||
func buildDefendPriceOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64) (vendorOrderID string) {
|
||||
var (
|
||||
issue = 0
|
||||
db = dao.GetDB()
|
||||
@@ -278,8 +279,9 @@ func buildDefendPriceOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, address
|
||||
IsSuccess: model.NO, //默认是不成功
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(priceDefendOrder, ctx.GetUserName())
|
||||
priceDefendOrder.ActualPayPrice = int64(priceDefendOrder.Count) * priceDefendOrder.DefendPrice
|
||||
priceDefendOrder.ActualPayPrice = int64(priceDefendOrder.Count)*priceDefendOrder.DefendPrice + jxOrder.FreightPrice
|
||||
dao.CreateEntity(db, priceDefendOrder)
|
||||
return priceDefendOrder.VendorOrderID
|
||||
}
|
||||
|
||||
// 买家取消(或申请取消)订单
|
||||
@@ -301,6 +303,9 @@ func BuyerCancelOrder(ctx *jxcontext.Context, orderID int64, reason string) (can
|
||||
}
|
||||
|
||||
func Pay4Order(ctx *jxcontext.Context, orderID int64, payType int, vendorPayType string) (orderPay *model.OrderPay, err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
)
|
||||
order, err := partner.CurOrderManager.LoadOrder(utils.Int64ToStr(orderID), model.VendorIDJX)
|
||||
if err == nil {
|
||||
switch payType {
|
||||
@@ -317,6 +322,20 @@ func Pay4Order(ctx *jxcontext.Context, orderID int64, payType int, vendorPayType
|
||||
default:
|
||||
err = fmt.Errorf("支付方式:%d当前不支持", payType)
|
||||
}
|
||||
} else {
|
||||
priceDefendOrders, _ := dao.GetPriceDefendOrder(db, utils.Int64ToStr(orderID), nil, nil, []int{jxutils.GetDefendPriceIssue()}, 0, -1, -1, "", utils.ZeroTimeValue, utils.ZeroTimeValue, false)
|
||||
if len(priceDefendOrders) == 0 {
|
||||
err = fmt.Errorf("未查询到订单!order_id: %v", orderID)
|
||||
}
|
||||
order2 := &model.GoodsOrder{
|
||||
VendorOrderID: priceDefendOrders[0].VendorOrderID,
|
||||
ActualPayPrice: priceDefendOrders[0].ActualPayPrice,
|
||||
VendorID: model.VendorIDJX,
|
||||
}
|
||||
if orderPay, err = pay4OrderByTL(ctx, order2, vendorPayType); err == nil && orderPay != nil {
|
||||
dao.WrapAddIDCULDEntity(orderPay, ctx.GetUserName())
|
||||
err = dao.CreateEntity(dao.GetDB(), orderPay)
|
||||
}
|
||||
}
|
||||
return orderPay, err
|
||||
}
|
||||
@@ -428,7 +447,9 @@ func OnPayFinished(orderPay *model.OrderPay) (err error) {
|
||||
//如果是物料的订单,直接到拣货完成,配送中的状态
|
||||
if order.OrderType != model.OrderTypeNormal {
|
||||
// if order.FromStoreID != 0 {
|
||||
netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order)
|
||||
if order.OrderType != model.OrderTypeDefendPrice {
|
||||
netprinter.PrintOrderByOrder(jxcontext.AdminCtx, order)
|
||||
}
|
||||
PickupGoods(order, false, "jxadmin")
|
||||
// }
|
||||
}
|
||||
@@ -782,7 +803,7 @@ func generateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64
|
||||
outJxOrder.FreightPrice = 500
|
||||
// }
|
||||
//如果是守价的订单,需要查询本期中该用户是否已经守价过,如果守价过就只算一次运费
|
||||
priceDefendOrders, _ := dao.GetPriceDefendOrder(db, nil, nil, []int{jxutils.GetDefendPriceIssue()}, 0, -1, -1, deliveryAddress.UserID, utils.ZeroTimeValue, utils.ZeroTimeValue, false)
|
||||
priceDefendOrders, _ := dao.GetPriceDefendOrder(db, "", nil, nil, []int{jxutils.GetDefendPriceIssue()}, 0, -1, -1, deliveryAddress.UserID, utils.ZeroTimeValue, utils.ZeroTimeValue, false)
|
||||
if len(priceDefendOrders) > 0 {
|
||||
outJxOrder.FreightPrice = 0
|
||||
}
|
||||
@@ -1907,7 +1928,7 @@ func CreateOrderByPriceDefend(ctx *jxcontext.Context) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
)
|
||||
priceDefends, _ := dao.GetPriceDefendOrder(db, nil, nil, []int{jxutils.GetDefendPriceIssue()}, 0, -1, 1, "", utils.ZeroTimeValue, utils.ZeroTimeValue, false)
|
||||
priceDefends, _ := dao.GetPriceDefendOrder(db, "", nil, nil, []int{jxutils.GetDefendPriceIssue()}, 0, -1, 1, "", utils.ZeroTimeValue, utils.ZeroTimeValue, false)
|
||||
if len(priceDefends) == 0 {
|
||||
return
|
||||
}
|
||||
@@ -1958,6 +1979,6 @@ func GetMyPriceDefendOrders(ctx *jxcontext.Context, fromTime, toTime string) (pr
|
||||
db = dao.GetDB()
|
||||
userID = ctx.GetUserID()
|
||||
)
|
||||
priceDefendOrders, err = dao.GetPriceDefendOrder(db, nil, nil, nil, 0, -1, -1, userID, utils.Str2Time(fromTime), utils.Str2Time(toTime), true)
|
||||
priceDefendOrders, err = dao.GetPriceDefendOrder(db, "", nil, nil, nil, 0, -1, -1, userID, utils.Str2Time(fromTime), utils.Str2Time(toTime), true)
|
||||
return priceDefendOrders, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user