修复卡轮训的问题
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 10m14s

This commit is contained in:
2026-04-26 12:41:16 +08:00
parent 7efcea2b54
commit a887f91686
5 changed files with 34 additions and 8 deletions

View File

@@ -226,10 +226,13 @@ func buildActivationStatusExpr(fields map[string]any) any {
return gorm.Expr(`
CASE
WHEN COALESCE(?, network_status) = ?
AND (COALESCE(?, card_category) = ? OR COALESCE(?, real_name_status) = ?)
THEN ?
ELSE ?
WHEN COALESCE(CAST(? AS integer), network_status) = CAST(? AS integer)
AND (
COALESCE(CAST(? AS text), card_category) = CAST(? AS text)
OR COALESCE(CAST(? AS integer), real_name_status) = CAST(? AS integer)
)
THEN CAST(? AS integer)
ELSE CAST(? AS integer)
END`,
networkStatus,
constants.NetworkStatusOnline,
@@ -261,10 +264,13 @@ func buildActivatedAtExpr(fields map[string]any, now time.Time) any {
return gorm.Expr(`
CASE
WHEN activation_status = ?
AND COALESCE(?, network_status) = ?
AND (COALESCE(?, card_category) = ? OR COALESCE(?, real_name_status) = ?)
THEN COALESCE(activated_at, ?)
WHEN activation_status = CAST(? AS integer)
AND COALESCE(CAST(? AS integer), network_status) = CAST(? AS integer)
AND (
COALESCE(CAST(? AS text), card_category) = CAST(? AS text)
OR COALESCE(CAST(? AS integer), real_name_status) = CAST(? AS integer)
)
THEN COALESCE(activated_at, CAST(? AS timestamptz))
ELSE activated_at
END`,
constants.ActivationStatusInactive,