diff --git a/globals/globals.go b/globals/globals.go index 1d3846753..72f1a5e2a 100644 --- a/globals/globals.go +++ b/globals/globals.go @@ -32,6 +32,7 @@ func initDB() { // set default database orm.RegisterDataBase("default", "mysql", beego.AppConfig.String("dbConnectStr"), 30) models.RegisterModels() + // orm.RegisterModel(new(model.Order)) // create table orm.RunSyncdb("default", false, true) } diff --git a/legacy/elm/controller/order.go b/legacy/elm/controller/order.go index accb51483..17774692f 100644 --- a/legacy/elm/controller/order.go +++ b/legacy/elm/controller/order.go @@ -44,7 +44,9 @@ func (o *OrderController) OrderMessage(msg *elmapi.CallbackMsg) (retVal *elmapi. } retVal = o.NewOrder(msg, orderID, userMobile) } else if msg.Type >= elmapi.MsgTypeMerchantValid && msg.Type <= elmapi.MsgTypeOrderFinished { - retVal = o.OrderStatusChanged(msg, orderID) + retVal = o.OrderStatusChanged(msg, orderID, innerMsg) + } else { + retVal = o.OrderOtherMsg(msg, orderID, innerMsg) } }, orderID) @@ -105,7 +107,7 @@ func (o *OrderController) NewOrder(msg *elmapi.CallbackMsg, orderId string, user return retVal } -func (o *OrderController) OrderStatusChanged(msg *elmapi.CallbackMsg, orderId string) *elmapi.CallbackResponse { +func (o *OrderController) OrderStatusChanged(msg *elmapi.CallbackMsg, orderId string, innerMsg map[string]interface{}) *elmapi.CallbackResponse { db := orm.NewOrm() rec := &models.ELMOrder{ OrderId: orderId, @@ -133,3 +135,15 @@ func (o *OrderController) OrderStatusChanged(msg *elmapi.CallbackMsg, orderId st } return elmapi.SuccessResponse } + +func (o *OrderController) OrderOtherMsg(msg *elmapi.CallbackMsg, orderId string, innerMsg map[string]interface{}) *elmapi.CallbackResponse { + var err error + if msg.Type == elmapi.MsgTypeClientUrgeOrder { + err = freshfood.FreshFoodAPI.ELMClientUrgeOrder(orderId) + } + + if err != nil { + return errResponseInternal + } + return elmapi.SuccessResponse +} diff --git a/legacy/freshfood/freshfood.go b/legacy/freshfood/freshfood.go index f89c4baa9..d15755dd9 100644 --- a/legacy/freshfood/freshfood.go +++ b/legacy/freshfood/freshfood.go @@ -25,8 +25,9 @@ const ( URL_FRESHFOOD_DELIVERY_STATUS = "delivery/status" URL_FRESHFOOD_ORDER_MODIFY = "order/modify" - URL_FRESHFOOD_ELEME_TOKENUPDATE = "eleme/token/update" - URL_FRESHFOOD_ORDER_CREATE_ELEME = "order/eleme" + URL_FRESHFOOD_ELEME_TOKENUPDATE = "eleme/token/update" + URL_FRESHFOOD_ORDER_CREATE_ELEME = "order/eleme" + URL_FRESHFOOD_ELEME_USER_URGE_ORDER = "reminders/pushElmSmsReminders " URL_FRESHFOOD_MTPS_DELIVERYSTATUS = "mtps/status" URL_FRESHFOOD_MTPS_EXCEPTION = "mtps/except" @@ -212,6 +213,14 @@ func (f *API) ELMOrderStatus(orderId string, status int, statusTime string) erro return f.AccessFreshFood(URL_FRESHFOOD_ORDER_STATUS, params) } +func (f *API) ELMClientUrgeOrder(orderId string) error { + params := make(url.Values) + params.Set(URL_FRESHFOOD_PARA_VENDERID, utils.Int2Str(controllers.ELM_VENDERID)) + params.Set(URL_FRESHFOOD_PARA_ORDERID, orderId) + + return f.AccessFreshFood(URL_FRESHFOOD_ELEME_USER_URGE_ORDER, params) +} + // mtps api func (f *API) MtpsOrderStatusChanged(order *mtpsapi.CallbackOrderMsg) error { params := make(url.Values) diff --git a/main.go b/main.go index 6be8b5286..2abb73bc8 100644 --- a/main.go +++ b/main.go @@ -8,12 +8,13 @@ import ( ) func main() { - controller.InitOrder() - if true { //beego.BConfig.RunMode == "prod" { - tasks.RefreshWeixinToken() - tasks.RefreshElmToken() + if beego.BConfig.RunMode == "prod" { + controller.InitOrder() } + tasks.RefreshWeixinToken() + tasks.RefreshElmToken() + if beego.BConfig.RunMode == "dev" { beego.BConfig.WebConfig.DirectoryIndex = true beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"