- 如果不同意用户取消订单成功后,把上解锁订单
This commit is contained in:
@@ -497,6 +497,15 @@ func (c *OrderManager) UpdateOrderStatusAndFlag(order *model.GoodsOrder) (err er
|
||||
return err
|
||||
}
|
||||
|
||||
func (c *OrderManager) UpdateOrderFields(order *model.GoodsOrder, fieldList []string) (err error) {
|
||||
db := orm.NewOrm()
|
||||
utils.CallFuncLogError(func() error {
|
||||
_, err = db.Update(order, fieldList...)
|
||||
return err
|
||||
}, "UpdateOrderFields orderID:%s failed with error:%v", order.VendorOrderID, err)
|
||||
return err
|
||||
}
|
||||
|
||||
//Waybill
|
||||
func (c *OrderManager) UpdateWaybillVendorID(bill *model.Waybill, revertStatus bool) (err error) {
|
||||
globals.SugarLogger.Debugf("UpdateWaybillVendorID bill:%v", bill)
|
||||
|
||||
@@ -290,7 +290,7 @@ func (s *DefScheduler) OnOrderStatusChanged(order *model.GoodsOrder, status *mod
|
||||
status.Status == model.OrderStatusApplyFailedGetGoods ||
|
||||
status.Status == model.OrderStatusAgreeFailedGetGoods ||
|
||||
status.Status == model.OrderStatusDeliverFailed {
|
||||
if isPending {
|
||||
if !isPending {
|
||||
if status.Status == model.OrderStatusApplyCancel {
|
||||
utils.CallFuncAsync(func() {
|
||||
weixinmsg.NotifyUserApplyCancel(savedOrderInfo.order, status.Remark)
|
||||
|
||||
@@ -115,6 +115,7 @@ type IOrderManager interface {
|
||||
|
||||
UpdateWaybillVendorID(bill *model.Waybill, revertStatus bool) (err error)
|
||||
UpdateOrderStatusAndFlag(order *model.GoodsOrder) (err error)
|
||||
UpdateOrderFields(order *model.GoodsOrder, fieldList []string) (err error)
|
||||
|
||||
LoadWaybill(vendorWaybillID string, waybillVendorID int) (bill *model.Waybill, err error)
|
||||
OnOrderComments(orderCommentList []*model.OrderComment) (err error)
|
||||
|
||||
@@ -489,7 +489,10 @@ func (c *OrderController) AgreeOrRefuseCancel() {
|
||||
c.callAgreeOrRefuseCancel(func(params *tOrderAgreeOrRefuseCancelParams) (retVal interface{}, errCode string, err error) {
|
||||
order, err := partner.CurOrderManager.LoadOrder(params.VendorOrderID, params.VendorID)
|
||||
if err == nil {
|
||||
err = defsch.FixedScheduler.AgreeOrRefuseCancel(params.Ctx, order, params.AcceptIt, params.Reason)
|
||||
if err = defsch.FixedScheduler.AgreeOrRefuseCancel(params.Ctx, order, params.AcceptIt, params.Reason); err == nil && params.AcceptIt {
|
||||
order.LockStatus = model.OrderStatusUnknown
|
||||
err = partner.CurOrderManager.UpdateOrderFields(order, []string{"LockStatus"})
|
||||
}
|
||||
}
|
||||
return retVal, "", err
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user