From f7e655ec6bf40d146afd18a0c968a5654c012455 Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 27 Aug 2018 14:31:11 +0800 Subject: [PATCH] - add refresh param for api GetStoreOrderInfo to get realtime CurrentConsigneeMobile. --- business/jxcallback/orderman/orderman_ext.go | 14 +++++++++++--- business/jxcallback/scheduler/basesch/basesch.go | 4 ++++ business/jxcallback/scheduler/defsch/defsch.go | 1 + business/model/api.go | 7 ++++--- controllers/jx_order.go | 16 +++++++++------- 5 files changed, 29 insertions(+), 13 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 0152217d1..73cb85eb0 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -3,9 +3,9 @@ package orderman import ( "time" + "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/globals" - "github.com/astaxie/beego/orm" ) @@ -121,7 +121,7 @@ func (c *OrderManager) GetOrderSkuInfo(vendorOrderID string, vendorID int) (skus return nil, err } -func (c *OrderManager) GetOrderInfo(vendorOrderID string, vendorID int) (order *model.GoodsOrderExt, err error) { +func (c *OrderManager) GetOrderInfo(vendorOrderID string, vendorID int, isRefresh bool) (order *model.GoodsOrderExt, err error) { globals.SugarLogger.Debugf("GetOrderInfo orderID:%s", vendorOrderID) db := orm.NewOrm() orders := []*model.GoodsOrderExt{} @@ -135,7 +135,15 @@ func (c *OrderManager) GetOrderInfo(vendorOrderID string, vendorID int) (order * `, vendorOrderID, vendorID).QueryRows(&orders) if err == nil && num > 0 { order = orders[0] - globals.SugarLogger.Debug(order) + if isRefresh && vendorID == model.VendorIDJD { + tmpOrder, err2 := basesch.FixedBaseScheduler.GetPurchasePlatformFromVendorID(vendorID).GetOrder(vendorOrderID) + if err = err2; err == nil { + order.CurrentConsigneeMobile = tmpOrder.ConsigneeMobile + } else { + order.CurrentConsigneeMobile = "Error" + globals.SugarLogger.Infof("GetOrderInfo GetOrder failed with error:%v", err2) + } + } return order, nil } if err == nil { diff --git a/business/jxcallback/scheduler/basesch/basesch.go b/business/jxcallback/scheduler/basesch/basesch.go index 87fb4263d..1a37ab528 100644 --- a/business/jxcallback/scheduler/basesch/basesch.go +++ b/business/jxcallback/scheduler/basesch/basesch.go @@ -10,6 +10,10 @@ import ( "git.rosy.net.cn/jx-callback/globals" ) +var ( + FixedBaseScheduler *BaseScheduler +) + type BaseScheduler struct { PurchasePlatformHandlers map[int]partner.IPurchasePlatformHandler DeliveryPlatformHandlers map[int]*scheduler.DeliveryPlatformHandlerInfo diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 7aa7306f7..1aed5dcdc 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -148,6 +148,7 @@ func (s *WatchOrderInfo) updateOrderStoreFeature(order *model.GoodsOrder) (err e func init() { sch := &DefScheduler{} + basesch.FixedBaseScheduler = &sch.BaseScheduler FixedScheduler = sch sch.IsReallyCallPlatformAPI = globals.ReallyCallPlatformAPI sch.Init() diff --git a/business/model/api.go b/business/model/api.go index 7d703af50..c80f0baca 100644 --- a/business/model/api.go +++ b/business/model/api.go @@ -8,9 +8,10 @@ type CallResult struct { type GoodsOrderExt struct { GoodsOrder - WaybillStatus int `json:"waybillStatus"` - CourierName string `orm:"size(32)" json:"courierName"` - CourierMobile string `orm:"size(32)" json:"courierMobile"` + WaybillStatus int `json:"waybillStatus"` + CourierName string `orm:"size(32)" json:"courierName"` + CourierMobile string `orm:"size(32)" json:"courierMobile"` + CurrentConsigneeMobile string `orm:"-" json:"currentConsigneeMobile"` } type OrderSkuExt struct { diff --git a/controllers/jx_order.go b/controllers/jx_order.go index 591f9249c..5e8051fbd 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -126,7 +126,7 @@ func (c *OrderController) CreateWaybillOnProviders() { // @Title 得到门店订单信息 // @Description 得到门店订单信息 -// @Param token header string true "认证toke" +// @Param token header string true "认证toke" // @Param storeID query string true "京西门店ID" // @Param lastHours query int false "最近多少小时的信息(缺省为两天)" // @Success 200 {object} business.model.CallResult @@ -168,7 +168,7 @@ func (c *OrderController) GetStoreOrderCountInfo() { // @Title 得到门店订单状态信息 // @Description 得到门店订单状态信息 -// @Param token header string true "认证toke" +// @Param token header string true "认证toke" // @Param storeID query string true "京西门店ID" // @Param lastHours query int false "最近多少小时的信息(缺省为两天)" // @Param fromStatus query int true "起始状态(包括)" @@ -219,12 +219,12 @@ func (c *OrderController) GetStoreOrderInfo() { // @Title 得到订单SKU信息 // @Description 得到订单SKU信息 -// @Param token header string true "认证toke" +// @Param token header string true "认证toke" // @Param vendorOrderID query string true "订单ID" // @Param vendorID query int true "订单所属的厂商ID" // @Success 200 {object} business.model.CallResult // @Failure 200 {object} business.model.CallResult -// @router /GetOrderSkuInfo [get] +// @router /GetOrderSkuInfo [get func (c *OrderController) GetOrderSkuInfo() { c.orderOperate(func(vendorOrderID string, vendorID int, userName string) (interface{}, error) { // globals.SugarLogger.Debugf("userName:%s", userName) @@ -234,22 +234,24 @@ func (c *OrderController) GetOrderSkuInfo() { // @Title 得到订单详情 // @Description 得到订单详情 -// @Param token header string true "认证toke" +// @Param token header string true "认证toke" // @Param vendorOrderID query string true "订单ID" // @Param vendorID query int true "订单所属的厂商ID" +// @Param refresh query bool false "是否从购物平台刷新数据" // @Success 200 {object} business.model.CallResult // @Failure 200 {object} business.model.CallResult // @router /GetOrderInfo [get] func (c *OrderController) GetOrderInfo() { c.orderOperate(func(vendorOrderID string, vendorID int, userName string) (interface{}, error) { + isRefresh, _ := c.GetBool("refresh", false) // globals.SugarLogger.Debugf("userName:%s", userName) - return orderman.FixedOrderManager.GetOrderInfo(vendorOrderID, vendorID) + return orderman.FixedOrderManager.GetOrderInfo(vendorOrderID, vendorID, isRefresh) }) } // @Title 得到订单运单信息 // @Description 得到订单运单信息 -// @Param token header string true "认证toke" +// @Param token header string true "认证toke" // @Param vendorOrderID query string true "订单ID" // @Param vendorID query int true "订单所属的厂商ID" // @Success 200 {object} business.model.CallResult