- fix bug write elm data to db.
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user