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