- fix bug write elm data to db.

This commit is contained in:
gazebo
2018-07-03 10:41:10 +08:00
parent 8a75fb9beb
commit 339da74d44

View File

@@ -71,20 +71,28 @@ func (o *OrderController) NewOrder(msg *elmapi.CallbackMsg, orderId string, user
retVal = errResponseDBError
} else {
if created || rec.Type != msg.Type {
// todo 回调消息里已经有详情,这里是否有必要再取一次?
result, err := globals2.ElmAPI.GetOrder(orderId)
if err != nil {
retVal = errResponseCallELMAPIError
} else {
err = globals2.FreshFoodAPI.NewELMOrder(result)
if err != nil {
retVal = errResponseInternal
rec.Data = string(utils.MustMarshal(result))
num, err := db.Update(rec, "Data")
if err != nil || num != 1 {
globals.SugarLogger.Warnf("error in updating order data:%v, error:%v, num:%d", msg, err, num)
retVal = errResponseDataError
} else {
err = globals2.FreshFoodAPI.NewELMOrder(result)
if err != nil {
retVal = errResponseInternal
}
}
}
OnNewOrder(orderId, userMobile)
} else {
globals.SugarLogger.Infof("duplicate elm msg received:%v", msg)
}
}
OnNewOrder(orderId, userMobile)
return retVal
}