This commit is contained in:
@@ -61,6 +61,11 @@ type customOrderLogicModel interface {
|
||||
IsUserEligibleForNewOrder(ctx context.Context, userID int64) (bool, error)
|
||||
QueryDailyOrdersList(ctx context.Context, date time.Time) ([]OrdersTotalWithDate, error)
|
||||
QueryMonthlyOrdersList(ctx context.Context, date time.Time) ([]OrdersTotalWithDate, error)
|
||||
// FindPendingIAPOrders 查询待对账的 Apple IAP 订单
|
||||
// minAge: 订单创建时间距今最短时长(避免扫到刚创建的)
|
||||
// maxAge: 订单创建时间距今最长时长(超出此范围由日终对账处理)
|
||||
// requireTradeNo: true=只查 trade_no 非空的(第二层),false=全部(第三层)
|
||||
FindPendingIAPOrders(ctx context.Context, minAge, maxAge time.Duration, requireTradeNo bool) ([]*Order, error)
|
||||
}
|
||||
|
||||
// UserCounts User counts for new and renewal users
|
||||
@@ -281,6 +286,24 @@ func (m *customOrderModel) QueryDailyOrdersList(ctx context.Context, date time.T
|
||||
return results, err
|
||||
}
|
||||
|
||||
// FindPendingIAPOrders 查询待对账的 Apple IAP 待支付订单
|
||||
func (m *customOrderModel) FindPendingIAPOrders(ctx context.Context, minAge, maxAge time.Duration, requireTradeNo bool) ([]*Order, error) {
|
||||
var list []*Order
|
||||
now := time.Now()
|
||||
err := m.QueryNoCacheCtx(ctx, &list, func(conn *gorm.DB, v interface{}) error {
|
||||
q := conn.Model(&Order{}).
|
||||
Where("method = ? AND status = ? AND created_at < ? AND created_at > ?",
|
||||
"apple_iap", 1, now.Add(-minAge), now.Add(-maxAge)).
|
||||
Order("created_at ASC").
|
||||
Limit(100)
|
||||
if requireTradeNo {
|
||||
q = q.Where("trade_no != '' AND trade_no IS NOT NULL")
|
||||
}
|
||||
return q.Find(&list).Error
|
||||
})
|
||||
return list, err
|
||||
}
|
||||
|
||||
// QueryMonthlyOrdersList 查询过去 6 个月订单统计(包含当前月)
|
||||
func (m *customOrderModel) QueryMonthlyOrdersList(ctx context.Context, date time.Time) ([]OrdersTotalWithDate, error) {
|
||||
var results []OrdersTotalWithDate
|
||||
|
||||
Reference in New Issue
Block a user