京西商城订单状态改改用异步
This commit is contained in:
@@ -153,7 +153,7 @@ func CreateOrder(ctx *jxcontext.Context, jxOrder *JxOrderInfo, addressID int64,
|
|||||||
order, err2 := jxOrder2GoodsOrder(ctx, outJxOrder, deliveryAddress)
|
order, err2 := jxOrder2GoodsOrder(ctx, outJxOrder, deliveryAddress)
|
||||||
if err = err2; err == nil {
|
if err = err2; err == nil {
|
||||||
order.Status = model.OrderStatusCreated
|
order.Status = model.OrderStatusCreated
|
||||||
partner.CurOrderManager.OnOrderNew(order, model.Order2Status(order))
|
callNewOrder(order)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return outJxOrder, err
|
return outJxOrder, err
|
||||||
@@ -232,8 +232,9 @@ func OnPayFinished(orderPay *model.OrderPay) (err error) {
|
|||||||
db := dao.GetDB()
|
db := dao.GetDB()
|
||||||
dao.UpdateEntity(db, orderPay)
|
dao.UpdateEntity(db, orderPay)
|
||||||
order.Status = model.OrderStatusNew
|
order.Status = model.OrderStatusNew
|
||||||
|
order.VendorStatus = utils.Int2Str(model.OrderStatusNew)
|
||||||
order.StatusTime = *orderPay.PayFinishedAt
|
order.StatusTime = *orderPay.PayFinishedAt
|
||||||
err = partner.CurOrderManager.OnOrderNew(order, model.Order2Status(order))
|
err = callNewOrder(order)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -534,6 +535,14 @@ func CancelOrder(ctx *jxcontext.Context, order *model.GoodsOrder, reason string)
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// todo 消息用异步可能导致丢失,单同步又有重入相关的问题
|
||||||
|
func callNewOrder(order *model.GoodsOrder) (err error) {
|
||||||
|
jxutils.CallMsgHandlerAsync(func() {
|
||||||
|
err = partner.CurOrderManager.OnOrderNew(order, model.Order2Status(order))
|
||||||
|
}, jxutils.ComposeUniversalOrderID(order.VendorOrderID, model.VendorIDJX))
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func changeOrderStatus(vendorOrderID string, status int, remark string) (err error) {
|
func changeOrderStatus(vendorOrderID string, status int, remark string) (err error) {
|
||||||
orderStatus := &model.OrderStatus{
|
orderStatus := &model.OrderStatus{
|
||||||
VendorOrderID: vendorOrderID,
|
VendorOrderID: vendorOrderID,
|
||||||
@@ -546,7 +555,10 @@ func changeOrderStatus(vendorOrderID string, status int, remark string) (err err
|
|||||||
StatusTime: time.Now(),
|
StatusTime: time.Now(),
|
||||||
Remark: remark,
|
Remark: remark,
|
||||||
}
|
}
|
||||||
return partner.CurOrderManager.OnOrderStatusChanged(orderStatus)
|
jxutils.CallMsgHandlerAsync(func() {
|
||||||
|
err = partner.CurOrderManager.OnOrderStatusChanged(orderStatus)
|
||||||
|
}, jxutils.ComposeUniversalOrderID(vendorOrderID, model.VendorIDJX))
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetOrderPay(ctx *jxcontext.Context, vendorOrderID string) (payList []*model.OrderPay, err error) {
|
func GetOrderPay(ctx *jxcontext.Context, vendorOrderID string) (payList []*model.OrderPay, err error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user