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