diff --git a/business/elm/controller/order.go b/business/elm/controller/order.go index b15aa53c2..ae4364a6d 100644 --- a/business/elm/controller/order.go +++ b/business/elm/controller/order.go @@ -78,6 +78,12 @@ func (o *OrderController) OrderStatusChanged(msg *elmapi.ELMCallbackMsg, orderId if err != nil { globals.SugarLogger.Warnf("internal error:%v", err) return errResponseInternal + } else { + rec.Type = msg.Type + utils.CallFuncLogError(func() error { + _, err := db.Update(rec, "Type") + return err + }, globals.ErrStrAccessDB) } } else { globals.SugarLogger.Infof("duplicate elm msg received:%v", msg) diff --git a/business/jd/controller/order.go b/business/jd/controller/order.go index 1eaa5d5af..058ecf200 100644 --- a/business/jd/controller/order.go +++ b/business/jd/controller/order.go @@ -116,7 +116,10 @@ func (c *OrderController) OrderStatus(order *jdapi.JDOrderMsg) *jdapi.JDCallback rec.OrderStatus = status rec.OrderStatusTime = order.Timestamp rec.Code = MsgNotHandledCode - db.Update(rec, "OrderStatus", "OrderStatusTime", "Code") + utils.CallFuncLogError(func() error { + _, err := db.Update(rec, "OrderStatus", "OrderStatusTime", "Code") + return err + }, globals.ErrStrAccessDB) addOrderMsg(order) } } else { @@ -183,10 +186,10 @@ func newOrder(order *jdapi.JDOrderMsg) error { err = globals.FreshFoodAPI.NewJDOrder(rec) if err == nil { db := orm.NewOrm() - _, err = db.Update(rec, "Data", "Code", "Msg", "Success", "CityName", "OrderStatus", "OrderStatusTime") - if err != nil { - globals.SugarLogger.Errorf("update order error:%v", err) - } + utils.CallFuncLogError(func() error { + _, err := db.Update(rec, "Data", "Code", "Msg", "Success", "CityName", "OrderStatus", "OrderStatusTime") + return err + }, globals.ErrStrAccessDB) } else { globals.SugarLogger.Errorf("Error when calling NewJDOrder error:%v", err) } @@ -227,10 +230,9 @@ func normalOrderStatus(order *jdapi.JDOrderMsg) error { } rec.Code = "0" - _, err = db.Update(rec, "OrderStatus", "OrderStatusTime", "Code") - if err != nil { - globals.SugarLogger.Warnf("error when accessing db:%v", err) - } - + utils.CallFuncLogError(func() error { + _, err := db.Update(rec, "OrderStatus", "OrderStatusTime", "Code") + return err + }, globals.ErrStrAccessDB) return err } diff --git a/globals/globals.go b/globals/globals.go index 0f02cd865..b48e26cad 100644 --- a/globals/globals.go +++ b/globals/globals.go @@ -50,6 +50,10 @@ const ( mtpsSecret = "b1M}9?:sTbsB[OF2gNORnN(|(iy9rB8(`7]|[wGLnbmt`evfM>E:A90DjHAW:UPE" ) +const ( + ErrStrAccessDB = "Error when access DB" +) + var ( SugarLogger *zap.SugaredLogger FreshFoodAPI *freshfood.FreshFoodAPI diff --git a/main.go b/main.go index 9fa1ae103..102c1181c 100644 --- a/main.go +++ b/main.go @@ -1,13 +1,17 @@ package main import ( + "git.rosy.net.cn/baseapi" "git.rosy.net.cn/jx-callback/business/jd/controller" + "git.rosy.net.cn/jx-callback/globals" _ "git.rosy.net.cn/jx-callback/routers" "github.com/astaxie/beego" ) func main() { + baseapi.Init(globals.SugarLogger) controller.InitOrder() + if beego.BConfig.RunMode == "dev" { beego.BConfig.WebConfig.DirectoryIndex = true beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"