From 78a2c4270a37bc10b06b2312e7af1235f36af14d Mon Sep 17 00:00:00 2001 From: gazebo Date: Tue, 8 Oct 2019 15:26:58 +0800 Subject: [PATCH] =?UTF-8?q?GetStoresOrderSaleInfo=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=9A=84=E6=97=B6=E9=97=B4=EF=BC=8C=E6=94=B9=E4=B8=BA=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4=EF=BC=8C=E5=94=AE?= =?UTF-8?q?=E5=90=8E=E5=8D=95=E8=BF=98=E6=98=AF=E4=BB=A5=E5=94=AE=E5=90=8E?= =?UTF-8?q?=E7=BB=93=E6=9D=9F=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxcallback/orderman/orderman_ext.go | 3 ++- business/model/dao/dao_order.go | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index 10fcb4f39..e4657da84 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -694,8 +694,9 @@ func (c *OrderManager) GetOrdersFinancial(ctx *jxcontext.Context, fromDateStr, t } toDate = toDate.Add(24 * time.Hour) + // order_finished_at sqlWhere = ` - WHERE t2.order_finished_at >= ? AND t2.order_finished_at < ? + WHERE t2.order_created_at >= ? AND t2.order_created_at < ? ` sqlParams = []interface{}{ fromDate, diff --git a/business/model/dao/dao_order.go b/business/model/dao/dao_order.go index bbb20e382..5585fcbc0 100644 --- a/business/model/dao/dao_order.go +++ b/business/model/dao/dao_order.go @@ -150,13 +150,14 @@ func GetStoresOrderSaleInfo(db *DaoDB, storeIDList []int, fromTime time.Time, to } // 用int64类型去取float型的数据库返回值,会取不到 + // order_finished_at sql := fmt.Sprintf(` SELECT IF(t1.jx_store_id > 0, t1.jx_store_id, t1.store_id) store_id, t1.vendor_id, IF(t1.status < ?, 0, t1.status) status, COUNT(*) count, SUM(t1.shop_price) shop_price, SUM(t1.vendor_price) vendor_price, SUM(t1.sale_price) sale_price, SUM(t1.actual_pay_price) actual_pay_price, CAST(SUM(IF(t1.earning_price <> 0, t1.earning_price, IF(t1.shop_price <> 0 && t1.shop_price < t1.sale_price, t1.shop_price, t1.sale_price) * IF(t5.pay_percentage > 0, t5.pay_percentage, %d) / 100)) AS SIGNED) earning_price FROM goods_order t1 LEFT JOIN store t5 ON t5.id = IF(t1.jx_store_id <> 0, t1.jx_store_id, t1.store_id) - WHERE t1.order_finished_at >= ? AND t1.order_finished_at <= ? + WHERE t1.order_created_at >= ? AND t1.order_created_at <= ? `, model.DefaultEarningPricePercentage) sqlParams := []interface{}{ model.OrderStatusEndBegin, @@ -228,6 +229,7 @@ func GetAfsOrderSkuInfo(db *DaoDB, vendorOrderID, afsOrderID string, vendorID in } func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAtEnd time.Time, statusList []int) (skuList []*OrderSkuWithActualPayPrice, err error) { + // order_finished_at sql := ` SELECT t1.*, t2.actual_pay_price, t2.status, IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) store_id, @@ -235,12 +237,15 @@ func GetStoreOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishedAt 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) - WHERE IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) IN (` + GenQuestionMarks(len(storeIDs)) + `) AND t2.order_finished_at >= ? AND t2.order_finished_at <= ?` + WHERE t2.order_created_at >= ? AND t2.order_created_at <= ?` sqlParams := []interface{}{ - storeIDs, finishedAtBegin, finishedAtEnd, } + if len(storeIDs) > 0 { + sql += " AND IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) IN (" + GenQuestionMarks(len(storeIDs)) + ")" + sqlParams = append(sqlParams, storeIDs) + } if len(statusList) > 0 { sql += " AND t2.status IN (" + GenQuestionMarks(len(statusList)) + ")" sqlParams = append(sqlParams, statusList) @@ -276,13 +281,15 @@ func GetStoreAfsOrderSkuList(db *DaoDB, storeIDs []int, finishedAtBegin, finishe 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 - WHERE t1.is_afs_order = 1 - AND IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) IN (` + GenQuestionMarks(len(storeIDs)) + `) AND t2.afs_finished_at >= ? AND t2.afs_finished_at <= ?` + WHERE t1.is_afs_order = 1 AND t2.afs_finished_at >= ? AND t2.afs_finished_at <= ?` sqlParams := []interface{}{ - storeIDs, finishedAtBegin, finishedAtEnd, } + if len(storeIDs) > 0 { + sql += " AND IF(t2.jx_store_id > 0, t2.jx_store_id, t2.store_id) IN (" + GenQuestionMarks(len(storeIDs)) + ")" + sqlParams = append(sqlParams, storeIDs) + } if len(statusList) > 0 { sql += " AND t2.status IN (" + GenQuestionMarks(len(statusList)) + ")" sqlParams = append(sqlParams, statusList)