From 72c9889d100e19b5fc970239b110f05b42675231 Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 24 Sep 2019 14:51:15 +0800 Subject: [PATCH] =?UTF-8?q?-=20GetOrders=E6=B7=BB=E5=8A=A0GetOrders?= =?UTF-8?q?=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/orderman_ext.go | 12 ++++++++---- controllers/jx_order.go | 6 +++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 3bd2926ad..63f69bf35 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -229,7 +229,7 @@ func (c *OrderManager) ExportMTWaybills(ctx *jxcontext.Context, fromDateStr, toD return nil, err } -func (c *OrderManager) getOrders(ctx *jxcontext.Context, isIncludeSku, isIncludeFake bool, fromDateStr, toDateStr string, isDateFinish bool, params map[string]interface{}, offset, pageSize int) (orders []*model.GoodsOrderExt, totalCount int, err error) { +func (c *OrderManager) getOrders(ctx *jxcontext.Context, isIncludeSku, isIncludeFake bool, fromDateStr, toDateStr string, isDateFinish bool, skuIDs []int, params map[string]interface{}, offset, pageSize int) (orders []*model.GoodsOrderExt, totalCount int, err error) { globals.SugarLogger.Debugf("getOrders from:%s to:%s", fromDateStr, toDateStr) pageSize = jxutils.FormalizePageSize(pageSize) @@ -373,6 +373,10 @@ func (c *OrderManager) getOrders(ctx *jxcontext.Context, isIncludeSku, isInclude sqlWhere += " AND (t1.flag & ?) = 0" sqlParams = append(sqlParams, model.OrderFlagMaskFake) } + if len(skuIDs) > 0 { + sqlWhere += " AND (SELECT COUNT(*) FROM order_sku t11 WHERE t11.vendor_order_id = t1.vendor_order_id AND t11.vendor_id = t1.vendor_id AND t11.jx_sku_id IN (" + dao.GenQuestionMarks(len(skuIDs)) + ")) > 0" + sqlParams = append(sqlParams, skuIDs) + } } if params["vendorIDs"] != nil { var vendorIDs []int @@ -412,9 +416,9 @@ func (c *OrderManager) getOrders(ctx *jxcontext.Context, isIncludeSku, isInclude return orders, totalCount, err } -func (c *OrderManager) GetOrders(ctx *jxcontext.Context, isIncludeFake bool, fromDateStr, toDateStr string, isDateFinish bool, params map[string]interface{}, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { +func (c *OrderManager) GetOrders(ctx *jxcontext.Context, isIncludeFake bool, fromDateStr, toDateStr string, isDateFinish bool, skuIDs []int, params map[string]interface{}, offset, pageSize int) (pagedInfo *model.PagedInfo, err error) { globals.SugarLogger.Debugf("GetOrders from:%s to:%s", fromDateStr, toDateStr) - orders, totalCount, err := c.getOrders(ctx, false, isIncludeFake, fromDateStr, toDateStr, isDateFinish, params, offset, pageSize) + orders, totalCount, err := c.getOrders(ctx, false, isIncludeFake, fromDateStr, toDateStr, isDateFinish, skuIDs, params, offset, pageSize) if err == nil { pagedInfo = &model.PagedInfo{ TotalCount: totalCount, @@ -436,7 +440,7 @@ func (c *OrderManager) ExportOrders(ctx *jxcontext.Context, fromDateStr, toDateS func(task *tasksch.SeqTask, step int, params ...interface{}) (result interface{}, err error) { switch step { case 0: - orders, _, err = c.getOrders(ctx, true, true, fromDateStr, toDateStr, true, mapParams, 0, -1) + orders, _, err = c.getOrders(ctx, true, true, fromDateStr, toDateStr, true, nil, mapParams, 0, -1) case 1: afsSkuMap, err = c.getAfsOrderSkuInfo4ExportOrders(ctx, fromDateStr, toDateStr) case 2: diff --git a/controllers/jx_order.go b/controllers/jx_order.go index 29bc19121..28d09b69d 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -276,6 +276,7 @@ func (c *OrderController) ExportMTWaybills() { // @Param lockStatuss query string false "订单锁定状态列表[1,2,3],缺省不限制" // @Param cities query string false "城市code列表[1,2,3],缺省不限制" // @Param isIncludeFake query bool false "是否包括假订单" +// @Param skuIDs query string false "包含的skuID列表,或的关系" // @Param offset query int false "结果起始序号(以0开始,缺省为0)" // @Param pageSize query int false "结果页大小(缺省为50,-1表示全部)" // @Success 200 {object} controllers.CallResult @@ -283,7 +284,10 @@ func (c *OrderController) ExportMTWaybills() { // @router /GetOrders [get] func (c *OrderController) GetOrders() { c.callGetOrders(func(params *tOrderGetOrdersParams) (retVal interface{}, errCode string, err error) { - retVal, err = orderman.FixedOrderManager.GetOrders(params.Ctx, params.IsIncludeFake, params.FromDate, params.ToDate, params.IsDateFinish, params.MapData, params.Offset, params.PageSize) + var skuIDs []int + if err = jxutils.Strings2Objs(params.SkuIDs, &skuIDs); err == nil { + retVal, err = orderman.FixedOrderManager.GetOrders(params.Ctx, params.IsIncludeFake, params.FromDate, params.ToDate, params.IsDateFinish, skuIDs, params.MapData, params.Offset, params.PageSize) + } return retVal, "", err }) }