- mtps added.
- refactor.
This commit is contained in:
@@ -23,7 +23,7 @@ var (
|
||||
type OrderController struct {
|
||||
}
|
||||
|
||||
func initOrder() {
|
||||
func InitOrder() {
|
||||
errChecker = new(corm.MysqlErrorChecker)
|
||||
|
||||
orderMsgChan = make(chan *jdapi.JDOrderMsg, 128)
|
||||
@@ -39,7 +39,7 @@ func handlePendingOrderMsg() {
|
||||
db := orm.NewOrm()
|
||||
_, err := db.Raw("SELECT * FROM jdorder WHERE code = ?", MsgNotHandledCode).QueryRows(&ordersInfo)
|
||||
if err != nil {
|
||||
sugarLogger.Errorf("can not get jdorder from db, error:%v", err)
|
||||
globals.SugarLogger.Errorf("can not get jdorder from db, error:%v", err)
|
||||
} else {
|
||||
for _, jdOrderInfo := range ordersInfo {
|
||||
orderMsg := &jdapi.JDOrderMsg{
|
||||
@@ -57,18 +57,18 @@ func handlePendingOrderMsg() {
|
||||
func orderMsgHandlerRoutinue() {
|
||||
for {
|
||||
msg := <-orderMsgChan
|
||||
sugarLogger.Debugf("OrderMsgHandlerRoutinue:%v", msg)
|
||||
globals.SugarLogger.Debugf("OrderMsgHandlerRoutinue:%v", msg)
|
||||
go handleOrderMsg(msg)
|
||||
}
|
||||
}
|
||||
|
||||
func addOrderMsg(orderMsg *jdapi.JDOrderMsg) {
|
||||
sugarLogger.Debugf("addOrderMsg:%v", orderMsg)
|
||||
globals.SugarLogger.Debugf("addOrderMsg:%v", orderMsg)
|
||||
orderMsgChan <- orderMsg
|
||||
}
|
||||
|
||||
func handleOrderMsg(orderMsg *jdapi.JDOrderMsg) {
|
||||
sugarLogger.Debugf("handleOrderMsg:%v", orderMsg)
|
||||
globals.SugarLogger.Debugf("handleOrderMsg:%v", orderMsg)
|
||||
switch orderMsg.StatusId {
|
||||
case jdapi.JdOrderStatusNew:
|
||||
newOrder(orderMsg)
|
||||
@@ -80,12 +80,12 @@ func handleOrderMsg(orderMsg *jdapi.JDOrderMsg) {
|
||||
}
|
||||
|
||||
// --------------
|
||||
func (c *OrderController) OrderStatus(order *jdapi.JDOrderMsg) *jdapi.JDOrderMsgResponse {
|
||||
func (c *OrderController) OrderStatus(order *jdapi.JDOrderMsg) *jdapi.JDCallbackResponse {
|
||||
if order.StatusId != jdapi.JdOrderStatusNew && order.StatusId != jdapi.JdOrderStatusAdjust {
|
||||
err := normalOrderStatus(order)
|
||||
if err != nil {
|
||||
sugarLogger.Warnf("error in OrderStatus, error:%v", err)
|
||||
return &jdapi.JDOrderMsgResponse{jdapi.JDerrorCodeAccessFailed, err.Error(), ""}
|
||||
globals.SugarLogger.Warnf("error in OrderStatus, error:%v", err)
|
||||
return &jdapi.JDCallbackResponse{jdapi.JDerrorCodeAccessFailed, err.Error(), ""}
|
||||
}
|
||||
} else {
|
||||
db := orm.NewOrm()
|
||||
@@ -104,7 +104,7 @@ func (c *OrderController) OrderStatus(order *jdapi.JDOrderMsg) *jdapi.JDOrderMsg
|
||||
isStatusSame := order.StatusId == jdapi.JdOrderStatusNew
|
||||
if !isStatusSame {
|
||||
order.StatusId = jdapi.JdOrderStatusNew
|
||||
sugarLogger.Warnf("order:%s get %s before create", order.BillId, order.StatusId)
|
||||
globals.SugarLogger.Warnf("order:%s get %s before create", order.BillId, order.StatusId)
|
||||
}
|
||||
addOrderMsg(order)
|
||||
|
||||
@@ -120,40 +120,40 @@ func (c *OrderController) OrderStatus(order *jdapi.JDOrderMsg) *jdapi.JDOrderMsg
|
||||
|
||||
addOrderMsg(order)
|
||||
} else {
|
||||
sugarLogger.Warnf("duplicated jd orderid:%s", order.BillId)
|
||||
sugarLogger.Debug(rec)
|
||||
globals.SugarLogger.Warnf("duplicated jd orderid:%s", order.BillId)
|
||||
globals.SugarLogger.Debug(rec)
|
||||
}
|
||||
} else {
|
||||
sugarLogger.Errorf("error when calling ReadOrCreate:%v", err)
|
||||
return &jdapi.JDOrderMsgResponse{jdapi.JDerrorCodeAccessFailed, err.Error(), ""}
|
||||
globals.SugarLogger.Errorf("error when calling ReadOrCreate:%v", err)
|
||||
return &jdapi.JDCallbackResponse{jdapi.JDerrorCodeAccessFailed, err.Error(), ""}
|
||||
}
|
||||
}
|
||||
return jdSuccessResponse
|
||||
return jdapi.SuccessResponse
|
||||
}
|
||||
|
||||
func (c *OrderController) OrderDeliveryStatus(jdOrderDeliveryStatusMsg *jdapi.JDDeliveryStatusMsg) *jdapi.JDOrderMsgResponse {
|
||||
func (c *OrderController) OrderDeliveryStatus(jdOrderDeliveryStatusMsg *jdapi.JDDeliveryStatusMsg) *jdapi.JDCallbackResponse {
|
||||
err := globals.FreshFoodAPI.JDOrderDeliveryStatus(jdOrderDeliveryStatusMsg)
|
||||
|
||||
if err != nil {
|
||||
sugarLogger.Errorf("Error when calling JDOrderDeliveryStatus, error:%v", err)
|
||||
return &jdapi.JDOrderMsgResponse{jdapi.JDerrorCodeAccessFailed, err.Error(), ""}
|
||||
globals.SugarLogger.Errorf("Error when calling JDOrderDeliveryStatus, error:%v", err)
|
||||
return &jdapi.JDCallbackResponse{jdapi.JDerrorCodeAccessFailed, err.Error(), ""}
|
||||
}
|
||||
|
||||
return jdSuccessResponse
|
||||
return jdapi.SuccessResponse
|
||||
}
|
||||
|
||||
//-----------
|
||||
func acceptOrder(order *jdapi.JDOrderMsg) {
|
||||
gJdapi.OrderAcceptOperate(order.BillId, true)
|
||||
globals.Jdapi.OrderAcceptOperate(order.BillId, true)
|
||||
}
|
||||
|
||||
func newOrder(order *jdapi.JDOrderMsg) error {
|
||||
sugarLogger.Debug("NewOrder2")
|
||||
globals.SugarLogger.Debug("NewOrder2")
|
||||
|
||||
result, err := gJdapi.LegacyQuerySingleOrder(order.BillId)
|
||||
result, err := globals.Jdapi.LegacyQuerySingleOrder(order.BillId)
|
||||
acceptOrder(order)
|
||||
if err != nil {
|
||||
sugarLogger.Errorf("error when query jd order:%s, error:%v", order.BillId, err)
|
||||
globals.SugarLogger.Errorf("error when query jd order:%s, error:%v", order.BillId, err)
|
||||
} else {
|
||||
rec := &models.Jdorder{
|
||||
Id: order.Id,
|
||||
@@ -187,13 +187,13 @@ func newOrder(order *jdapi.JDOrderMsg) error {
|
||||
db := orm.NewOrm()
|
||||
_, err = db.Update(rec, "Data", "Code", "Msg", "Success", "CityName", "OrderStatus", "OrderStatusTime")
|
||||
if err != nil {
|
||||
sugarLogger.Errorf("update order error:%v", err)
|
||||
globals.SugarLogger.Errorf("update order error:%v", err)
|
||||
}
|
||||
} else {
|
||||
sugarLogger.Errorf("Error when calling NewJDOrder error:%v", err)
|
||||
globals.SugarLogger.Errorf("Error when calling NewJDOrder error:%v", err)
|
||||
}
|
||||
} else {
|
||||
sugarLogger.Warnf("can not get jdorder info:%v", order.BillId)
|
||||
globals.SugarLogger.Warnf("can not get jdorder info:%v", order.BillId)
|
||||
}
|
||||
}
|
||||
return err
|
||||
@@ -211,12 +211,12 @@ func normalOrderStatus(order *jdapi.JDOrderMsg) error {
|
||||
|
||||
err := db.Read(rec, "JdOrderId")
|
||||
if err != nil {
|
||||
sugarLogger.Warnf("error when accessing db:%v", err)
|
||||
globals.SugarLogger.Warnf("error when accessing db:%v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
if rec.OrderStatus == utils.Str2Int(order.StatusId) {
|
||||
sugarLogger.Infof("Duplicate message order:%v", order)
|
||||
globals.SugarLogger.Infof("Duplicate message order:%v", order)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -224,14 +224,14 @@ func normalOrderStatus(order *jdapi.JDOrderMsg) error {
|
||||
rec.OrderStatusTime = order.Timestamp
|
||||
err = globals.FreshFoodAPI.JDOrderStatus(rec)
|
||||
if err != nil {
|
||||
sugarLogger.Warnf("access freshfood failed, error:%v", err)
|
||||
globals.SugarLogger.Warnf("access freshfood failed, error:%v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
rec.Code = "0"
|
||||
_, err = db.Update(rec, "OrderStatus", "OrderStatusTime", "Code")
|
||||
if err != nil {
|
||||
sugarLogger.Warnf("error when accessing db:%v", err)
|
||||
globals.SugarLogger.Warnf("error when accessing db:%v", err)
|
||||
}
|
||||
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user