fix: get_user_quota 返回 was_paid 字段
This commit is contained in:
@@ -682,12 +682,12 @@ pub async fn refund_payment_order(
|
|||||||
pub async fn get_user_quota(
|
pub async fn get_user_quota(
|
||||||
pool: &PgPool,
|
pool: &PgPool,
|
||||||
user_id: i32,
|
user_id: i32,
|
||||||
) -> Result<(i64, bool, Option<chrono::DateTime<chrono::Utc>>), AppError> {
|
) -> Result<(i64, bool, Option<chrono::DateTime<chrono::Utc>>, bool), AppError> {
|
||||||
let user = get_user_by_id(pool, user_id).await?;
|
let user = get_user_by_id(pool, user_id).await?;
|
||||||
let is_paid_active = user.is_paid
|
let is_paid_active = user.is_paid
|
||||||
&& user.paid_expires_at.map_or(true, |expires| expires > chrono::Utc::now());
|
&& user.paid_expires_at.map_or(true, |expires| expires > chrono::Utc::now());
|
||||||
let used = count_user_weather_data(pool, user_id).await?;
|
let used = count_user_weather_data(pool, user_id).await?;
|
||||||
Ok((used, is_paid_active, user.paid_expires_at))
|
Ok((used, is_paid_active, user.paid_expires_at, user.is_paid))
|
||||||
}
|
}
|
||||||
|
|
||||||
// ===== 收藏功能 DB 函数 =====
|
// ===== 收藏功能 DB 函数 =====
|
||||||
|
|||||||
@@ -1071,7 +1071,7 @@ pub async fn get_user_quota(
|
|||||||
|
|
||||||
let is_maintenance = std::env::var("PAYMENT_MAINTENANCE_MODE").ok() == Some("true".to_string());
|
let is_maintenance = std::env::var("PAYMENT_MAINTENANCE_MODE").ok() == Some("true".to_string());
|
||||||
|
|
||||||
let (used, is_paid_active, paid_expires_at) =
|
let (used, is_paid_active, paid_expires_at, was_paid) =
|
||||||
db::get_user_quota(pool.get_ref(), user_id).await?;
|
db::get_user_quota(pool.get_ref(), user_id).await?;
|
||||||
|
|
||||||
// 维护模式使用更高的临时限额,但非会员仍然有限制防止滥用
|
// 维护模式使用更高的临时限额,但非会员仍然有限制防止滥用
|
||||||
@@ -1097,6 +1097,7 @@ pub async fn get_user_quota(
|
|||||||
"unlimited": unlimited,
|
"unlimited": unlimited,
|
||||||
"is_paid_active": active,
|
"is_paid_active": active,
|
||||||
"paid_expires_at": paid_expires_at,
|
"paid_expires_at": paid_expires_at,
|
||||||
|
"was_paid": was_paid,
|
||||||
"maintenance_mode": is_maintenance,
|
"maintenance_mode": is_maintenance,
|
||||||
}
|
}
|
||||||
})))
|
})))
|
||||||
|
|||||||
Reference in New Issue
Block a user