- write important error msg to db.

This commit is contained in:
gazebo
2018-08-02 09:24:18 +08:00
parent f0ea5f1186
commit 0d759218c1
4 changed files with 37 additions and 2 deletions

View File

@@ -10,6 +10,7 @@ import (
"git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/controller" "git.rosy.net.cn/jx-callback/business/controller"
"git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils"
"git.rosy.net.cn/jx-callback/business/legacymodel"
"git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/scheduler" "git.rosy.net.cn/jx-callback/business/scheduler"
"git.rosy.net.cn/jx-callback/globals" "git.rosy.net.cn/jx-callback/globals"
@@ -212,7 +213,14 @@ func (c *WaybillController) CreateWaybill(order *model.GoodsOrder) (err error) {
} }
} else { } else {
err = ErrAddFeeExceeded err = ErrAddFeeExceeded
globals.SugarLogger.Infof("CreateWaybill addFee exceeded too much, it's %d", addFee) globals.SugarLogger.Infof("CreateWaybill orderID:%s addFee exceeded too much, it's %d", order.VendorOrderID, addFee)
tmpLog := &legacymodel.TempLog{
VendorOrderID: order.VendorOrderID,
RefVendorOrderID: order.VendorOrderID,
Msg: fmt.Sprintf("CreateWaybill orderID:%s addFee exceeded too much, it's %d", order.VendorOrderID, addFee),
}
db.Insert(tmpLog)
} }
} }
return err return err

View File

@@ -0,0 +1,8 @@
package legacymodel
type TempLog struct {
ID int64 `orm:"column(id)"`
VendorOrderID string `orm:"column(vendor_order_id);size(48);index"`
RefVendorOrderID string `orm:"column(ref_vendor_order_id);size(48);index"`
Msg string `orm:"type(text)"`
}

View File

@@ -1,6 +1,7 @@
package defsch package defsch
import ( import (
"fmt"
"time" "time"
"math/rand" "math/rand"
@@ -365,6 +366,14 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
} }
} else { } else {
globals.SugarLogger.Warnf("createWaybillOn3rdProviders, orderID:%s failed %d times, stop schedule", order.VendorOrderID, savedOrderInfo.retryCount-1) globals.SugarLogger.Warnf("createWaybillOn3rdProviders, orderID:%s failed %d times, stop schedule", order.VendorOrderID, savedOrderInfo.retryCount-1)
tmpLog := &legacymodel.TempLog{
VendorOrderID: order.VendorOrderID,
RefVendorOrderID: order.VendorOrderID,
Msg: fmt.Sprintf("createWaybillOn3rdProviders, orderID:%s failed %d times, stop schedule", order.VendorOrderID, savedOrderInfo.retryCount-1),
}
db := orm.NewOrm()
db.Insert(tmpLog)
} }
} else { } else {
globals.SugarLogger.Debugf("createWaybillOn3rdProviders, orderID:%s, store:%d dont't support 3rd delivery platform", order.VendorOrderID, jxutils.GetJxStoreIDFromOrder(order)) globals.SugarLogger.Debugf("createWaybillOn3rdProviders, orderID:%s, store:%d dont't support 3rd delivery platform", order.VendorOrderID, jxutils.GetJxStoreIDFromOrder(order))
@@ -396,7 +405,16 @@ func (s *DefScheduler) swtich2SelfDeliverWithRetry(order *model.GoodsOrder, bill
}, order.VendorOrderID) }, order.VendorOrderID)
}) })
} else { } else {
globals.SugarLogger.Warnf("swtich2SelfDeliverWithRetry finally failed, cancel bill:%v, err:%v", bill, err) globals.SugarLogger.Infof("swtich2SelfDeliverWithRetry finally failed, orderID:%s bill:%v, err:%v", order.VendorOrderID, bill, err)
tmpLog := &legacymodel.TempLog{
VendorOrderID: bill.VendorWaybillID,
RefVendorOrderID: order.VendorOrderID,
Msg: fmt.Sprintf("swtich2SelfDeliverWithRetry finally failed, orderID:%s bill:%v, err:%v", order.VendorOrderID, bill, err),
}
db := orm.NewOrm()
db.Insert(tmpLog)
if s.CancelWaybill(bill) == nil { if s.CancelWaybill(bill) == nil {
// 转自送失败的取消,要将订单中的运单状态更新 // 转自送失败的取消,要将订单中的运单状态更新
if s.isBillCandidate(order, bill) { if s.isBillCandidate(order, bill) {

View File

@@ -26,6 +26,7 @@ func Init() {
orm.RegisterModel(new(model.Jxstorefeature)) orm.RegisterModel(new(model.Jxstorefeature))
orm.RegisterModel(new(legacymodel.TempLog))
orm.RegisterModel(new(legacymodel.Jxorder2)) orm.RegisterModel(new(legacymodel.Jxorder2))
orm.RegisterModel(new(legacymodel.Jxordersku2)) orm.RegisterModel(new(legacymodel.Jxordersku2))
// orm.RegisterModel(new(legacymodel.Elemeorder2)) // orm.RegisterModel(new(legacymodel.Elemeorder2))