From 77ae01854fcc4e3ed9f5abb284d75842b4692fc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 31 Oct 2019 14:54:58 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E8=AE=A2=E5=8D=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/report/report.go | 2 +- business/model/dao/report.go | 39 ++++++++++++++++++------------- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/business/jxstore/report/report.go b/business/jxstore/report/report.go index 1258a6f21..78e13bd99 100644 --- a/business/jxstore/report/report.go +++ b/business/jxstore/report/report.go @@ -33,7 +33,7 @@ func GetStatisticsReportForOrders(ctx *jxcontext.Context, storeIDs []int, fromDa if StatisticsForOrdersExistsStore == nil { continue } - StatisticsForOrdersExists, err = dao.GetStatisticsForOrdersExist(db, id) + StatisticsForOrdersExists, err = dao.GetStatisticsForOrdersExist(db, id, fromDateParm, toDateParm) //若该门店存在此查询条件范围内的订单 if StatisticsForOrdersExists != nil { storeIDsExist = append(storeIDsExist, id) diff --git a/business/model/dao/report.go b/business/model/dao/report.go index 17617df38..b25e425ff 100644 --- a/business/model/dao/report.go +++ b/business/model/dao/report.go @@ -14,20 +14,20 @@ type StatisticsForOrdersExists struct { type StatisticsReportForOrdersList struct { StatisticsForOrdersExists - OrderCounts int `orm:"column(orderCounts)" json:"orderCounts"` //订单数 - SalePrice int `orm:"column(salePrice)" json:"salePrice"` //GMV(售卖价) - ActualPayPrice int `orm:"column(actualPayPrice)" json:"actualPayPrice"` //实付 - ShopPrice int `orm:"column(shopPrice)" json:"shopPrice"` //京西 - DiscountMoney int `orm:"column(discountMoney)" json:"discountMoney"` //优惠 - DesiredFee int `orm:"column(desiredFee)" json:"desiredFee"` //配送费 - DistanceFreightMoney int `orm:"column(distanceFreightMoney)" json:"distanceFreightMoney"` //远距离 - WaybillTipMoney int `orm:"column(waybillTipMoney)" json:"waybillTipMoney"` // - TotalShopMoney int `orm:"column(totalShopMoney)" json:"totalShopMoney"` - PmSubsidyMoney int `orm:"column(pmSubsidyMoney)" json:"pmSubsidyMoney"` - EarningPrice int `orm:"column(earningPrice)" json:"earningPrice"` - TotalGrossProfit int `orm:"column(totalGrossProfit)" json:"totalGrossProfit"` - ComGrossProfit float32 `orm:"column(comGrossProfit)" json:"comGrossProfit"` - CityManagerGrossProfit float32 `orm:"column(cityManagerGrossProfit)" json:"cityManagerGrossProfit"` + OrderCounts int `orm:"column(orderCounts)" json:"orderCounts"` //订单数 + SalePrice int `orm:"column(salePrice)" json:"salePrice"` //GMV(售卖价) + ActualPayPrice int `orm:"column(actualPayPrice)" json:"actualPayPrice"` //实付 + ShopPrice int `orm:"column(shopPrice)" json:"shopPrice"` //京西 + DiscountMoney int `orm:"column(discountMoney)" json:"discountMoney"` //优惠 + DesiredFee int `orm:"column(desiredFee)" json:"desiredFee"` //配送费 + DistanceFreightMoney int `orm:"column(distanceFreightMoney)" json:"distanceFreightMoney"` //远距离 + WaybillTipMoney int `orm:"column(waybillTipMoney)" json:"waybillTipMoney"` //小费 + TotalShopMoney int `orm:"column(totalShopMoney)" json:"totalShopMoney"` //平台结算 + PmSubsidyMoney int `orm:"column(pmSubsidyMoney)" json:"pmSubsidyMoney"` //平台补贴 + EarningPrice int `orm:"column(earningPrice)" json:"earningPrice"` //门店收益(预计收益) + TotalGrossProfit int `orm:"column(totalGrossProfit)" json:"totalGrossProfit"` //总毛利 + ComGrossProfit float32 `orm:"column(comGrossProfit)" json:"comGrossProfit"` //公司毛利 + CityManagerGrossProfit float32 `orm:"column(cityManagerGrossProfit)" json:"cityManagerGrossProfit"` //城市经理毛利 } //是否存在这个门店 @@ -47,15 +47,22 @@ func IsStoreExist(db *DaoDB, storeID int) (StatisticsForOrdersExists *Statistics } //查询条件内是否存在订单 -func GetStatisticsForOrdersExist(db *DaoDB, storeID int) (StatisticsForOrdersExists *StatisticsForOrdersExists, err error) { +func GetStatisticsForOrdersExist(db *DaoDB, storeID int, fromDate time.Time, toDate time.Time) (StatisticsForOrdersExists *StatisticsForOrdersExists, err error) { sql := ` SELECT store_id FROM goods_order a LEFT JOIN waybill b ON IF(a.waybill_vendor_id = -1,a.vendor_order_id,a.vendor_waybill_id) = b.vendor_waybill_id WHERE a.store_id = ? - GROUP BY a.store_id ` sqlParams := []interface{}{} sqlParams = append(sqlParams, storeID) + if !utils.IsTimeZero(fromDate) && !utils.IsTimeZero(toDate) { + sql += `AND a.order_created_at BETWEEN ? and ? + ` + sqlParams = append(sqlParams, fromDate, toDate) + } + sql += ` + GROUP BY a.store_id + ` if err = GetRow(db, &StatisticsForOrdersExists, sql, sqlParams...); err == nil { return StatisticsForOrdersExists, nil