统计订单接口修改

This commit is contained in:
苏尹岚
2019-10-31 13:33:38 +08:00
parent 5431abaddf
commit d066a13b65
2 changed files with 90 additions and 3 deletions

View File

@@ -10,13 +10,62 @@ import (
"git.rosy.net.cn/jx-callback/business/model/dao"
)
var (
storeIDsExist []int
storeIDsNotExist []int
StatisticsForOrdersExists *dao.StatisticsForOrdersExists
StatisticsForOrdersExistsStore *dao.StatisticsForOrdersExists
)
func GetStatisticsReportForOrders(ctx *jxcontext.Context, storeIDs []int, fromDate string, toDate string) (statisticsReportForOrdersList []*dao.StatisticsReportForOrdersList, err error) {
storeIDsExist = storeIDsExist[0:0]
storeIDsNotExist = storeIDsNotExist[0:0]
db := dao.GetDB()
fromDateParm := utils.Str2Time(fromDate)
toDateParm := utils.Str2Time(toDate)
//若时间间隔大于3个月则不允许查询
if math.Ceil(toDateParm.Sub(fromDateParm).Hours()/24) > 92 {
return nil, errors.New(fmt.Sprintf("查询间隔时间不允许大于3个月: 时间范围:[%v] 至 [%v]", fromDate, toDate))
}
statisticsReportForOrdersList, err = dao.GetStatisticsReportForOrders(db, storeIDs, fromDateParm, toDateParm)
//若入参中不存在的店则不显示存在的店但无订单的显示0
for _, id := range storeIDs {
StatisticsForOrdersExistsStore, err = dao.IsStoreExist(db, id)
if StatisticsForOrdersExistsStore == nil {
continue
}
StatisticsForOrdersExists, err = dao.GetStatisticsForOrdersExist(db, id)
//若该门店存在此查询条件范围内的订单
if StatisticsForOrdersExists != nil {
storeIDsExist = append(storeIDsExist, id)
} else {
storeIDsNotExist = append(storeIDsNotExist, id)
}
}
statisticsReportForOrdersList, err = dao.GetStatisticsReportForOrders(db, storeIDsExist, fromDateParm, toDateParm)
if storeIDsNotExist != nil {
for _, v := range storeIDsNotExist {
tempStruct1 := &dao.StatisticsForOrdersExists{
StoreID: v,
}
tempStruct2 := &dao.StatisticsReportForOrdersList{
StatisticsForOrdersExists: *tempStruct1,
OrderCounts: 0,
SalePrice: 0,
ActualPayPrice: 0,
ShopPrice: 0,
DiscountMoney: 0,
DesiredFee: 0,
DistanceFreightMoney: 0,
WaybillTipMoney: 0,
TotalShopMoney: 0,
PmSubsidyMoney: 0,
EarningPrice: 0,
TotalGrossProfit: 0,
ComGrossProfit: 0,
CityManagerGrossProfit: 0,
}
statisticsReportForOrdersList = append(statisticsReportForOrdersList, tempStruct2)
}
}
return statisticsReportForOrdersList, err
}