139 lines
3.8 KiB
Go
139 lines
3.8 KiB
Go
package rechorder
|
|
|
|
import (
|
|
"time"
|
|
|
|
"91porn-server/common/timeutil/timerange"
|
|
"91porn-server/models/s/statordermod"
|
|
"91porn-server/models/v/rchgordmod"
|
|
)
|
|
|
|
type RechargeOrderStateDoc = statordermod.RechargeOrderStateDoc
|
|
type RecOrderStateMap = statordermod.RecOrderStateMap
|
|
|
|
func fillRecOrderStatDocMap(sumDate time.Time, timeRange timerange.TimeRange, docMap *RecOrderStateMap) error {
|
|
//订单数 OrderCount
|
|
if err := fillRecOrderCount(timeRange, docMap); err != nil {
|
|
return err
|
|
}
|
|
//完成订单数 CompleteOrderCount
|
|
if err := fillRecCompleteOrderCount(timeRange, docMap); err != nil {
|
|
return err
|
|
}
|
|
//订单金额 OrderAmount
|
|
if err := fillRecOrderAmount(timeRange, docMap); err != nil {
|
|
return err
|
|
}
|
|
if err := fillRecCompleteOrderPayMoney(timeRange, docMap); err != nil {
|
|
return err
|
|
}
|
|
//用户已支付订单数
|
|
if err := fillRecPaidOrderCount(timeRange, docMap); err != nil {
|
|
return err
|
|
}
|
|
//用户已支付金额
|
|
return fillRecPaidMoney(timeRange, docMap)
|
|
}
|
|
|
|
// fillRecOrderCount fillRecOrderCount
|
|
func fillRecOrderCount(timeRange timerange.TimeRange, docMap *RecOrderStateMap) error {
|
|
orderCountMap, err := rchgordmod.ChannelOrderCountMap(timeRange.Head, timeRange.Tail)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
docM := *docMap
|
|
for channel, v := range orderCountMap {
|
|
if _, existed := docM[channel]; !existed {
|
|
docM[channel] = &RechargeOrderStateDoc{}
|
|
}
|
|
val := v
|
|
docM[channel].OrderCount = &val
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// fillRecCompleteOrderCount fillRecCompleteOrderCount}
|
|
func fillRecCompleteOrderCount(timeRange timerange.TimeRange, docMap *RecOrderStateMap) error {
|
|
completeOrderCountMap, err := rchgordmod.ChannelCompleteOrderCountMap(timeRange.Head, timeRange.Tail)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
docM := *docMap
|
|
for channel, v := range completeOrderCountMap {
|
|
if _, existed := docM[channel]; !existed {
|
|
docM[channel] = &RechargeOrderStateDoc{}
|
|
}
|
|
val := v
|
|
docM[channel].CompleteOrderCount = &val
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// fillRecOrderAmount fillRecOrderAmount
|
|
func fillRecOrderAmount(timeRange timerange.TimeRange, docMap *RecOrderStateMap) error {
|
|
orderAmountMap, err := rchgordmod.ChannelOrderMoneyMap(timeRange.Head, timeRange.Tail)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
docM := *docMap
|
|
for channel, v := range orderAmountMap {
|
|
if _, existed := docM[channel]; !existed {
|
|
docM[channel] = &RechargeOrderStateDoc{}
|
|
}
|
|
val := v
|
|
docM[channel].OrderAmount = &val
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// fillRecCompleteOrderPayMoney fillRecCompleteOrderPayMoney
|
|
func fillRecCompleteOrderPayMoney(timeRange timerange.TimeRange, docMap *RecOrderStateMap) error {
|
|
payMoneyMap, err := rchgordmod.ChannelCompleteOrderPayMoneyMap(timeRange.Head, timeRange.Tail)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
docM := *docMap
|
|
for channel, v := range payMoneyMap {
|
|
if _, existed := docM[channel]; !existed {
|
|
docM[channel] = &RechargeOrderStateDoc{}
|
|
}
|
|
val := v
|
|
docM[channel].CompleteOrderAmount = &val
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// fillRecPaidOrderCount fillRecPaidOrderCount
|
|
func fillRecPaidOrderCount(timeRange timerange.TimeRange, docMap *RecOrderStateMap) error {
|
|
paiedOrderCountMap, err := rchgordmod.ChannelPaymentOrderCountMap(timeRange.Head, timeRange.Tail)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
docM := *docMap
|
|
for channel, v := range paiedOrderCountMap {
|
|
if _, existed := docM[channel]; !existed {
|
|
docM[channel] = &RechargeOrderStateDoc{}
|
|
}
|
|
val := v
|
|
docM[channel].PaidOrderCount = &val
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// fillRecPaidMoney fillRecPaidMoney
|
|
func fillRecPaidMoney(timeRange timerange.TimeRange, docMap *RecOrderStateMap) error {
|
|
paiedMoneyMap, err := rchgordmod.ChannelPaymentMoneyMap(timeRange.Head, timeRange.Tail)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
docM := *docMap
|
|
for channel, v := range paiedMoneyMap {
|
|
if _, existed := docM[channel]; !existed {
|
|
docM[channel] = &RechargeOrderStateDoc{}
|
|
}
|
|
val := v
|
|
docM[channel].PaidAmount = &val
|
|
}
|
|
return nil
|
|
}
|