统计订单接口修改

This commit is contained in:
苏尹岚
2019-10-31 14:54:58 +08:00
parent e9607ac921
commit 77ae01854f
2 changed files with 24 additions and 17 deletions

View File

@@ -33,7 +33,7 @@ func GetStatisticsReportForOrders(ctx *jxcontext.Context, storeIDs []int, fromDa
if StatisticsForOrdersExistsStore == nil { if StatisticsForOrdersExistsStore == nil {
continue continue
} }
StatisticsForOrdersExists, err = dao.GetStatisticsForOrdersExist(db, id) StatisticsForOrdersExists, err = dao.GetStatisticsForOrdersExist(db, id, fromDateParm, toDateParm)
//若该门店存在此查询条件范围内的订单 //若该门店存在此查询条件范围内的订单
if StatisticsForOrdersExists != nil { if StatisticsForOrdersExists != nil {
storeIDsExist = append(storeIDsExist, id) storeIDsExist = append(storeIDsExist, id)

View File

@@ -14,20 +14,20 @@ type StatisticsForOrdersExists struct {
type StatisticsReportForOrdersList struct { type StatisticsReportForOrdersList struct {
StatisticsForOrdersExists StatisticsForOrdersExists
OrderCounts int `orm:"column(orderCounts)" json:"orderCounts"` //订单数 OrderCounts int `orm:"column(orderCounts)" json:"orderCounts"` //订单数
SalePrice int `orm:"column(salePrice)" json:"salePrice"` //GMV售卖价 SalePrice int `orm:"column(salePrice)" json:"salePrice"` //GMV售卖价
ActualPayPrice int `orm:"column(actualPayPrice)" json:"actualPayPrice"` //实付 ActualPayPrice int `orm:"column(actualPayPrice)" json:"actualPayPrice"` //实付
ShopPrice int `orm:"column(shopPrice)" json:"shopPrice"` //京西 ShopPrice int `orm:"column(shopPrice)" json:"shopPrice"` //京西
DiscountMoney int `orm:"column(discountMoney)" json:"discountMoney"` //优惠 DiscountMoney int `orm:"column(discountMoney)" json:"discountMoney"` //优惠
DesiredFee int `orm:"column(desiredFee)" json:"desiredFee"` //配送费 DesiredFee int `orm:"column(desiredFee)" json:"desiredFee"` //配送费
DistanceFreightMoney int `orm:"column(distanceFreightMoney)" json:"distanceFreightMoney"` //远距离 DistanceFreightMoney int `orm:"column(distanceFreightMoney)" json:"distanceFreightMoney"` //远距离
WaybillTipMoney int `orm:"column(waybillTipMoney)" json:"waybillTipMoney"` // WaybillTipMoney int `orm:"column(waybillTipMoney)" json:"waybillTipMoney"` //小费
TotalShopMoney int `orm:"column(totalShopMoney)" json:"totalShopMoney"` TotalShopMoney int `orm:"column(totalShopMoney)" json:"totalShopMoney"` //平台结算
PmSubsidyMoney int `orm:"column(pmSubsidyMoney)" json:"pmSubsidyMoney"` PmSubsidyMoney int `orm:"column(pmSubsidyMoney)" json:"pmSubsidyMoney"` //平台补贴
EarningPrice int `orm:"column(earningPrice)" json:"earningPrice"` EarningPrice int `orm:"column(earningPrice)" json:"earningPrice"` //门店收益(预计收益)
TotalGrossProfit int `orm:"column(totalGrossProfit)" json:"totalGrossProfit"` TotalGrossProfit int `orm:"column(totalGrossProfit)" json:"totalGrossProfit"` //总毛利
ComGrossProfit float32 `orm:"column(comGrossProfit)" json:"comGrossProfit"` ComGrossProfit float32 `orm:"column(comGrossProfit)" json:"comGrossProfit"` //公司毛利
CityManagerGrossProfit float32 `orm:"column(cityManagerGrossProfit)" json:"cityManagerGrossProfit"` 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 := ` sql := `
SELECT store_id 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 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 = ? WHERE a.store_id = ?
GROUP BY a.store_id
` `
sqlParams := []interface{}{} sqlParams := []interface{}{}
sqlParams = append(sqlParams, storeID) 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 { if err = GetRow(db, &StatisticsForOrdersExists, sql, sqlParams...); err == nil {
return StatisticsForOrdersExists, nil return StatisticsForOrdersExists, nil