- refactor rename order to msg.

This commit is contained in:
gazebo
2018-06-29 12:26:21 +08:00
parent 494d4cb8cf
commit 340e0fbe63

View File

@@ -63,68 +63,68 @@ func orderMsgHandlerRoutine() {
}
}
func addOrderMsg(orderMsg *jdapi.CallbackOrderMsg) {
globals.SugarLogger.Debugf("addOrderMsg:%v", orderMsg)
orderMsgChan <- *orderMsg
func addOrderMsg(msg *jdapi.CallbackOrderMsg) {
globals.SugarLogger.Debugf("addOrderMsg:%v", msg)
orderMsgChan <- *msg
}
func handleOrderMsg(orderMsg *jdapi.CallbackOrderMsg) {
globals.SugarLogger.Debugf("handleOrderMsg:%v", orderMsg)
switch orderMsg.StatusID {
func handleOrderMsg(msg *jdapi.CallbackOrderMsg) {
globals.SugarLogger.Debugf("handleOrderMsg:%v", msg)
switch msg.StatusID {
case jdapi.OrderStatusNew:
newOrder(orderMsg)
newOrder(msg)
case jdapi.OrderStatusAdjust:
adjustOrder(orderMsg)
adjustOrder(msg)
default:
normalOrderStatus(orderMsg)
normalOrderStatus(msg)
}
}
// --------------
func (c *OrderController) OrderStatus(order *jdapi.CallbackOrderMsg) *jdapi.CallbackResponse {
if order.StatusID != jdapi.OrderStatusNew && order.StatusID != jdapi.OrderStatusAdjust {
err := normalOrderStatus(order)
func (c *OrderController) OrderStatus(msg *jdapi.CallbackOrderMsg) *jdapi.CallbackResponse {
if msg.StatusID != jdapi.OrderStatusNew && msg.StatusID != jdapi.OrderStatusAdjust {
err := normalOrderStatus(msg)
if err != nil {
return jdapi.Err2CallbackResponse(err, "")
}
} else {
db := orm.NewOrm()
jdorderid := utils.Str2Int64(order.BillID)
status := int(utils.Str2Int64(order.StatusID))
jdorderid := utils.Str2Int64(msg.BillID)
status := int(utils.Str2Int64(msg.StatusID))
rec := &models.Jdorder{
Code: MsgNotHandledCode,
JdOrderID: jdorderid,
OrderStatus: status,
OrderStatusTime: order.Timestamp,
OrderStatusTime: msg.Timestamp,
}
if created, _, err := db.ReadOrCreate(rec, "JdOrderID"); err == nil {
order.ID = rec.ID
msg.ID = rec.ID
if created {
if order.StatusID != jdapi.OrderStatusNew && order.StatusID != jdapi.OrderStatusAdjust {
globals.SugarLogger.Warnf("order:%v get before create", order)
oldStatusID := order.StatusID
order.StatusID = jdapi.OrderStatusNew
addOrderMsg(order)
order.StatusID = oldStatusID
if msg.StatusID != jdapi.OrderStatusNew && msg.StatusID != jdapi.OrderStatusAdjust {
globals.SugarLogger.Warnf("order:%v get before create", msg)
oldStatusID := msg.StatusID
msg.StatusID = jdapi.OrderStatusNew
addOrderMsg(msg)
msg.StatusID = oldStatusID
}
addOrderMsg(order)
addOrderMsg(msg)
} else {
if rec.OrderStatus != status {
if order.StatusID == jdapi.OrderStatusNew {
globals.SugarLogger.Warnf("order:%v get after some other message:%d", order, rec.OrderStatus)
if msg.StatusID == jdapi.OrderStatusNew {
globals.SugarLogger.Warnf("order:%v get after some other message:%d", msg, rec.OrderStatus)
} else {
rec.OrderStatus = status
rec.OrderStatusTime = order.Timestamp
rec.OrderStatusTime = msg.Timestamp
rec.Code = MsgNotHandledCode
utils.CallFuncLogError(func() error {
_, err := db.Update(rec, "OrderStatus", "OrderStatusTime", "Code")
return err
}, globals2.ErrStrAccessDB)
addOrderMsg(order)
addOrderMsg(msg)
}
} else {
globals.SugarLogger.Warnf("duplicated jd order msg %v", order)
globals.SugarLogger.Warnf("duplicated jd order msg %v", msg)
}
}
} else {
@@ -143,16 +143,16 @@ func (c *OrderController) OrderDeliveryStatus(jdOrderDeliveryStatusMsg *jdapi.Ca
}
//-----------
func acceptOrder(order *jdapi.CallbackOrderMsg) {
globals2.Jdapi.OrderAcceptOperate(order.BillID, true)
func acceptOrder(msg *jdapi.CallbackOrderMsg) {
globals2.Jdapi.OrderAcceptOperate(msg.BillID, true)
}
func newOrder(order *jdapi.CallbackOrderMsg) error {
result, err := globals2.Jdapi.LegacyQuerySingleOrder(order.BillID)
acceptOrder(order)
func newOrder(msg *jdapi.CallbackOrderMsg) error {
result, err := globals2.Jdapi.LegacyQuerySingleOrder(msg.BillID)
acceptOrder(msg)
if err == nil {
rec := &models.Jdorder{
ID: order.ID,
ID: msg.ID,
}
rec.Code, _ = result["code"].(string)
@@ -168,7 +168,7 @@ func newOrder(order *jdapi.CallbackOrderMsg) error {
if ok && len(resultList) == 1 {
resultList0 := resultList[0].(map[string]interface{})
orderStatus, _ := resultList0["orderStatus"].(json.Number).Int64()
rec.JdOrderID = utils.Str2Int64(order.BillID)
rec.JdOrderID = utils.Str2Int64(msg.BillID)
rec.OrderStatus = int(orderStatus)
rec.OrderStatusTime = resultList0["orderStatusTime"].(string)
@@ -181,17 +181,17 @@ func newOrder(order *jdapi.CallbackOrderMsg) error {
return err
}, globals2.ErrStrAccessDB)
err = utils.CallFuncLogError(func() error {
return globals2.FreshFoodAPI.NewJDOrder(rec, order.StatusID == jdapi.OrderStatusNew)
return globals2.FreshFoodAPI.NewJDOrder(rec, msg.StatusID == jdapi.OrderStatusNew)
}, globals2.ErrStrAccessDB)
} else {
globals.SugarLogger.Errorf("can not get jdorder info:%v", order.BillID)
globals.SugarLogger.Errorf("can not get jdorder info:%v", msg.BillID)
}
}
return err
}
func adjustOrder(order *jdapi.CallbackOrderMsg) error {
return newOrder(order)
func adjustOrder(msg *jdapi.CallbackOrderMsg) error {
return newOrder(msg)
}
func normalOrderStatus(msg *jdapi.CallbackOrderMsg) (err error) {