From df19812e97ee2c3eb002873daa7ecbc1c02f4d98 Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 15 Oct 2018 16:20:06 +0800 Subject: [PATCH] - formalize pageSize. --- business/jxcallback/orderman/orderman_ext.go | 37 ++++++-------------- business/jxstore/cms/sku.go | 4 +-- business/jxstore/cms/store.go | 4 +-- business/jxstore/cms/store_sku.go | 7 +--- business/jxutils/jxutils_cms.go | 10 ++++++ business/model/api.go | 3 +- controllers/cms_sku.go | 2 +- controllers/cms_store.go | 2 +- controllers/cms_store_sku.go | 2 +- controllers/jx_order.go | 10 +++--- 10 files changed, 34 insertions(+), 47 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 74c763ee0..0a4dc7def 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -6,6 +6,7 @@ import ( "git.rosy.net.cn/baseapi/utils" "git.rosy.net.cn/jx-callback/business/jxcallback/scheduler/basesch" + "git.rosy.net.cn/jx-callback/business/jxutils" "git.rosy.net.cn/jx-callback/business/jxutils/excel" "git.rosy.net.cn/jx-callback/business/model" "git.rosy.net.cn/jx-callback/business/model/dao" @@ -16,7 +17,6 @@ import ( const ( maxLastHours = 7 * 24 // 最多只能查询7天内的订单数据 defLastHours = 2 * 24 // 缺省是两天内的订单 - defPageSize = 50 ) type tWaybillExt struct { @@ -38,9 +38,7 @@ func (c *OrderManager) GetStoreOrderInfo(storeID string, lastHours int, fromStat if offset < 0 { offset = 0 } - if pageSize == 0 { - pageSize = defPageSize - } + pageSize = jxutils.FormalizePageSize(pageSize) db := orm.NewOrm() _, err = db.Raw(` @@ -219,7 +217,7 @@ func (c *OrderManager) ExportMTWaybills(fromDateStr, toDateStr string) (excelCon return nil, err } -func (c *OrderManager) GetOrders(fromDateStr, toDateStr string, params map[string]interface{}) (pagedInfo *model.PagedInfo, err error) { +func (c *OrderManager) GetOrders(fromDateStr, toDateStr string, params map[string]interface{}, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { globals.SugarLogger.Debugf("GetOrders from:%s to:%s", fromDateStr, toDateStr) fromDate := utils.Str2Time(fromDateStr) @@ -227,16 +225,9 @@ func (c *OrderManager) GetOrders(fromDateStr, toDateStr string, params map[strin toDateStr = fromDateStr } toDate := utils.Str2Time(toDateStr).Add(24 * time.Hour) - pageSize := defPageSize - if params["pageSize"] != nil { - pageSize = params["pageSize"].(int) - if pageSize == 0 { - pageSize = 999999999 - } - } - offset := 0 - if params["offset"] != nil { - offset = params["offset"].(int) + pageSize = jxutils.FormalizePageSize(pageSize) + if offset < 0 { + offset = 0 } sql := ` @@ -347,7 +338,7 @@ func (c *OrderManager) GetOrders(fromDateStr, toDateStr string, params map[strin return pagedInfo, err } -func (c *OrderManager) GetWaybills(fromDateStr, toDateStr string, params map[string]interface{}) (pagedInfo *model.PagedInfo, err error) { +func (c *OrderManager) GetWaybills(fromDateStr, toDateStr string, params map[string]interface{}, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { globals.SugarLogger.Debugf("GetWaybills from:%s to:%s", fromDateStr, toDateStr) fromDate := utils.Str2Time(fromDateStr) @@ -355,17 +346,11 @@ func (c *OrderManager) GetWaybills(fromDateStr, toDateStr string, params map[str toDateStr = fromDateStr } toDate := utils.Str2Time(toDateStr).Add(24 * time.Hour) - pageSize := defPageSize - if params["pageSize"] != nil { - pageSize = params["pageSize"].(int) - if pageSize == 0 { - pageSize = 999999999 - } - } - offset := 0 - if params["offset"] != nil { - offset = params["offset"].(int) + pageSize = jxutils.FormalizePageSize(pageSize) + if offset < 0 { + offset = 0 } + sqlParams := []interface{}{ fromDate, toDate, diff --git a/business/jxstore/cms/sku.go b/business/jxstore/cms/sku.go index a944e4d8c..5620b542a 100644 --- a/business/jxstore/cms/sku.go +++ b/business/jxstore/cms/sku.go @@ -273,9 +273,7 @@ func GetSkuNames(keyword string, params map[string]interface{}, offset, pageSize ` + sql + ` ORDER BY t1.id LIMIT ? OFFSET ?` - if pageSize == 0 { - pageSize = model.DefPageSize - } + pageSize = jxutils.FormalizePageSize(pageSize) if offset < 0 { offset = 0 } diff --git a/business/jxstore/cms/store.go b/business/jxstore/cms/store.go index 115156d5a..375aef669 100644 --- a/business/jxstore/cms/store.go +++ b/business/jxstore/cms/store.go @@ -133,9 +133,7 @@ func GetStores(keyword string, params map[string]interface{}, offset, pageSize i sqlFrom + sqlWhere + ` ORDER BY t1.id LIMIT ? OFFSET ?` - if pageSize == 0 { - pageSize = model.DefPageSize - } + pageSize = jxutils.FormalizePageSize(pageSize) if offset < 0 { offset = 0 } diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 8cce4ddc0..7c1772b27 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -190,12 +190,7 @@ func GetStoreSkus(storeID int, isFocus bool, keyword string, params map[string]i ` + sql + ` ORDER BY t1.id LIMIT ? OFFSET ?` - if pageSize == 0 { - pageSize = model.DefPageSize - } - if offset < 0 { - offset = 0 - } + pageSize = jxutils.FormalizePageSize(pageSize) sqlParams = append(sqlParams, pageSize, offset) skuNamesInfo = &StoreSkuNamesInfo{} // globals.SugarLogger.Debug(sqlData) diff --git a/business/jxutils/jxutils_cms.go b/business/jxutils/jxutils_cms.go index 8aae01379..5c88309a3 100644 --- a/business/jxutils/jxutils_cms.go +++ b/business/jxutils/jxutils_cms.go @@ -8,6 +8,7 @@ import ( "time" "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/business/model" ) // 合并得到最终的门店状态 @@ -148,3 +149,12 @@ func IsFakeID(id int64) bool { multiple := id / genFakeID1() return multiple == 2 || multiple == 3 } + +func FormalizePageSize(pageSize int) int { + if pageSize == 0 { + return model.DefPageSize + } else if pageSize < 0 { + return model.UnlimitedPageSize + } + return pageSize +} diff --git a/business/model/api.go b/business/model/api.go index 5334c8e6b..a9fc53d8c 100644 --- a/business/model/api.go +++ b/business/model/api.go @@ -1,7 +1,8 @@ package model const ( - DefPageSize = 50 + DefPageSize = 50 + UnlimitedPageSize = 999999999 ) type GoodsOrderExt struct { diff --git a/controllers/cms_sku.go b/controllers/cms_sku.go index 8dcfa5a99..0f3cd5e83 100644 --- a/controllers/cms_sku.go +++ b/controllers/cms_sku.go @@ -128,7 +128,7 @@ func (c *SkuController) DeleteCategory() { // @Param fromStatus query int false "查询起始状态(0:下架,1:正常)" // @Param toStatus query int false "查询起始状态(0:下架,1:正常)" // @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" -// @Param pageSize query int false "门店列表页大小(缺省为50)" +// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetSkuNames [get] diff --git a/controllers/cms_store.go b/controllers/cms_store.go index 98c9fa462..d48906966 100644 --- a/controllers/cms_store.go +++ b/controllers/cms_store.go @@ -28,7 +28,7 @@ type StoreController struct { // @Param elmCond query int false "饿了么关联条件,-1:没有关联,0:不限定,1:有关联,缺省为0" // @Param ebaiCond query int false "饿百关联条件,-1:没有关联,0:不限定,1:有关联,缺省为0" // @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" -// @Param pageSize query int false "门店列表页大小(缺省为50)" +// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetStores [get] diff --git a/controllers/cms_store_sku.go b/controllers/cms_store_sku.go index 2249009a2..f1a4fbd2a 100644 --- a/controllers/cms_store_sku.go +++ b/controllers/cms_store_sku.go @@ -27,7 +27,7 @@ type StoreSkuController struct { // @Param fromStatus query int false "查询起始状态(0:不可售,1:可售)" // @Param toStatus query int false "查询结束状态(0:不可售,1:可售)" // @Param offset query int false "门店列表起始序号(以0开始,缺省为0)" -// @Param pageSize query int false "门店列表页大小(缺省为50)" +// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetStoreSkus [get] diff --git a/controllers/jx_order.go b/controllers/jx_order.go index e9d0687aa..ce0e707d2 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -118,7 +118,7 @@ func (c *OrderController) GetStoreOrderCountInfo() { // @Param fromStatus query int true "起始状态(包括)" // @Param toStatus query int false "结束状态(包括)" // @Param offset query int false "订单列表起始序号(以0开始,缺省为0)" -// @Param pageSize query int false "订单列表页大小(缺省为50)" +// @Param pageSize query int false "订单列表页大小(缺省为50,-1表示全部)" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetStoreOrderInfo [get] @@ -216,13 +216,13 @@ func (c *OrderController) ExportMTWaybills() { // @Param statuss query string false "订单状态列表[1,2,3],缺省不限制" // @Param cities query string false "城市code列表[1,2,3],缺省不限制" // @Param offset query int false "结果起始序号(以0开始,缺省为0)" -// @Param pageSize query int false "结果页大小(缺省为50,0表示不限制)" +// @Param pageSize query int false "结果页大小(缺省为50,-1表示全部)" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetOrders [get] func (c *OrderController) GetOrders() { c.callGetOrders(func(params *tOrderGetOrdersParams) (retVal interface{}, errCode string, err error) { - retVal, err = orderman.FixedOrderManager.GetOrders(params.FromDate, params.ToDate, params.MapData) + retVal, err = orderman.FixedOrderManager.GetOrders(params.FromDate, params.ToDate, params.MapData, params.Offset, params.PageSize) return retVal, "", err }) } @@ -236,13 +236,13 @@ func (c *OrderController) GetOrders() { // @Param waybillVendorIDs query string false "承运人所属厂商列表[1,2,3],缺省不限制" // @Param statuss query string false "运单状态列表[1,2,3],缺省不限制" // @Param offset query int false "结果起始序号(以0开始,缺省为0)" -// @Param pageSize query int false "结果页大小(缺省为50,0表示不限制)" +// @Param pageSize query int false "结果页大小(缺省为50,-1表示全部)" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /GetWaybills [get] func (c *OrderController) GetWaybills() { c.callGetWaybills(func(params *tOrderGetWaybillsParams) (retVal interface{}, errCode string, err error) { - retVal, err = orderman.FixedOrderManager.GetWaybills(params.FromDate, params.ToDate, params.MapData) + retVal, err = orderman.FixedOrderManager.GetWaybills(params.FromDate, params.ToDate, params.MapData, params.Offset, params.PageSize) return retVal, "", err }) }