From b26842caf81247d7d4b65935fe4f958bf3837dbc Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Sat, 14 Aug 2021 13:58:09 +0800 Subject: [PATCH] aa --- business/jxcallback/orderman/orderman_ext.go | 21 +++++++++---- business/model/dao/dao_order.go | 33 ++++++++++++++++++++ controllers/act.go | 10 ++++-- 3 files changed, 55 insertions(+), 9 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 866fbb651..bc7347d41 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -821,18 +821,27 @@ func (c *OrderManager) GetStoresOrderSaleInfoNew(ctx *jxcontext.Context, storeID if toTime.Sub(fromTime).Hours() > 24 { isLongTime = true } + orderIDMap := make(map[string]struct{}) + var vendorOrderIDs []string orderSkuList, err := dao.GetStoreOrderSkuList(db, storeIDList, fromTime, toTime, statusList, true) if err != nil { return nil, err } - afsSkuList, err := dao.GetStoreAfsOrderSkuList(db, storeIDList, fromTime, toTime, []int{model.AfsOrderStatusFinished}, true) - if err != nil { - return nil, err + for _, v := range orderSkuList { + orderIDMap[v.VendorOrderID] = struct{}{} } - orderSkuList4Afs, err := dao.GetStoreOrderSkuList4Afs(db, storeIDList, fromTime, toTime, true) - if err != nil { - return nil, err + for k, _ := range orderIDMap { + vendorOrderIDs = append(vendorOrderIDs, k) } + afsSkuList, err := dao.GetStoreAfsOrderSkuList2(db, vendorOrderIDs) + //afsSkuList, err := dao.GetStoreAfsOrderSkuList(db, storeIDList, fromTime, toTime, []int{model.AfsOrderStatusFinished}, true) + //if err != nil { + // return nil, err + //} + orderSkuList4Afs, err := dao.GetStoreOrderSkuList4Afs2(db, vendorOrderIDs) + //if err != nil { + // return nil, err + //} orderSkuHandler := func(skuList []*dao.OrderSkuWithActualPayPrice) (orderMap map[string]*model.GoodsOrder, orderSkuMap map[string]*dao.OrderSkuWithActualPayPrice, saleInfoMap map[int64]*dao.StoresOrderSaleInfo) { orderMap = make(map[string]*model.GoodsOrder) orderSkuMap = make(map[string]*dao.OrderSkuWithActualPayPrice) diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index ab7e73c3c..ef46db790 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -431,6 +431,23 @@ func GetStoreOrderSkuList4Afs(db *DaoDB, storeIDs []int, finishedAtBegin, finish return skuList, err } +func GetStoreOrderSkuList4Afs2(db *DaoDB, vendorOrderIDs []string) (skuList []*OrderSkuWithActualPayPrice, err error) { + sql := ` + SELECT t1.*, + t2.actual_pay_price, t2.status, IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) store_id, t2.new_earning_price, + t3.pay_percentage + FROM order_sku t1 + JOIN goods_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id + LEFT JOIN store t3 ON t3.id = IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) + JOIN ( + SELECT t12.* + FROM afs_order t12 + WHERE t12.vendor_order_id IN (` + GenQuestionMarks(len(vendorOrderIDs)) + sql += ") t4 ON t4.vendor_order_id = t2.vendor_order_id AND t4.vendor_id = t2.vendor_id" + err = GetRows(db, &skuList, sql) + return skuList, err +} + func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int, isFinish bool) (afsSkuList []*model.OrderSkuFinancial, err error) { sql := ` SELECT t1.* @@ -459,6 +476,22 @@ func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishe return afsSkuList, err } +func GetStoreAfsOrderSkuList2(db *DaoDB, vendorOrderIDs []string) (afsSkuList []*model.OrderSkuFinancial, err error) { + sql := ` + SELECT t1.* + FROM order_sku_financial t1 + JOIN afs_order t2 ON t2.vendor_order_id = t1.vendor_order_id AND t2.vendor_id = t1.vendor_id AND t2.afs_order_id = t1.afs_order_id + WHERE t1.is_afs_order = 1 AND t2.status = ? + ` + sqlParams := []interface{}{model.AfsOrderStatusFinished} + if len(vendorOrderIDs) > 0 { + sql += " AND t2.vendor_order_id IN (" + GenQuestionMarks(len(vendorOrderIDs)) + ")" + sqlParams = append(sqlParams, vendorOrderIDs) + } + err = GetRows(db, &afsSkuList, sql, sqlParams...) + return afsSkuList, err +} + func GetDailyFinishOrderList(db *DaoDB, storeID int, dateTime time.Time) (orderList []*model.OrderPickupTime, err error) { sql := ` SELECT t2.status_time, t1.pick_deadline diff --git a/controllers/act.go b/controllers/act.go index 82d3609bf..d07aa416b 100644 --- a/controllers/act.go +++ b/controllers/act.go @@ -498,13 +498,15 @@ func (c *ActController) GetActMtwmVendorSku() { // @Failure 200 {object} controllers.CallResult // @router /GetActEbaiVendor [get] func (c *ActController) GetActEbaiVendor() { - + c.callGetActEbaiVendor(func(params *tActGetActEbaiVendorParams) (retVal interface{}, errCode string, err error) { + return retVal, "", err + }) } // @Title 查询饿百平台活动sku // @Description 查询饿百平台活动sku // @Param token header string true "认证token" -// @Param storeID query int true "门店ID" +// @Param actID query int true "活动ID" // @Param keyword query string false "关键字" // @Param actType query int false "折扣或者秒杀" // @Param offset query int false "起始序号(以0开始,缺省为0)" @@ -513,5 +515,7 @@ func (c *ActController) GetActEbaiVendor() { // @Failure 200 {object} controllers.CallResult // @router /GetActEbaiVendorSku [get] func (c *ActController) GetActEbaiVendorSku() { - + c.callGetActEbaiVendorSku(func(params *tActGetActEbaiVendorSkuParams) (retVal interface{}, errCode string, err error) { + return retVal, "", err + }) }