- refactor rename order to msg.
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user