fix: 添加后台定时重试 + 管理员强制确认 + 审计日志 + mock守卫
This commit is contained in:
@@ -590,13 +590,16 @@ pub async fn web_login_confirm(
|
||||
// 查询付费状态
|
||||
let (is_paid_active, paid_expires_at): (bool, Option<String>) =
|
||||
match sqlx::query_as::<_, (bool, Option<chrono::DateTime<chrono::Utc>>)>(
|
||||
"SELECT is_paid_active($1)",
|
||||
"SELECT is_paid, paid_expires_at FROM users WHERE id = $1",
|
||||
)
|
||||
.bind(user_id)
|
||||
.fetch_optional(pool.get_ref())
|
||||
.await
|
||||
{
|
||||
Ok(Some((active, expires))) => (active, expires.map(|e| e.to_rfc3339())),
|
||||
Ok(Some((is_paid, expires))) => {
|
||||
let active = is_paid && expires.map_or(true, |e| e > Utc::now());
|
||||
(active, expires.map(|e| e.to_rfc3339()))
|
||||
}
|
||||
_ => (false, None),
|
||||
};
|
||||
|
||||
@@ -642,7 +645,9 @@ pub async fn web_login_auto_confirm(
|
||||
) -> impl Responder {
|
||||
let code = req.code.clone();
|
||||
|
||||
let openid = if code.starts_with("mock_") || code == "test_mock" {
|
||||
let openid = if (code.starts_with("mock_") || code == "test_mock")
|
||||
&& std::env::var("MOCK_LOGIN_ENABLED").ok() == Some("true".to_string())
|
||||
{
|
||||
format!("mock_openid_{}", Utc::now().timestamp_millis())
|
||||
} else {
|
||||
let url = format!(
|
||||
|
||||
Reference in New Issue
Block a user