ipa
Build docker and publish / build (20.15.1) (push) Successful in 7m47s

This commit is contained in:
2026-03-08 05:12:28 -07:00
parent 94f5d0c07d
commit 7a3a53f1a9
14 changed files with 1193 additions and 4 deletions
+23
View File
@@ -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