From 541ea7245be95dc3f9ce3e9a836ef210e541cf08 Mon Sep 17 00:00:00 2001 From: milky0217 Date: Tue, 26 May 2026 10:24:20 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20scripts=E7=A1=AE=E8=AE=A4=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E4=BC=98=E5=8C=96-=E6=98=BE=E7=A4=BA=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E7=8A=B6=E6=80=81+=E7=9B=AE=E6=A0=87=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/expire-paid-user.sh | 44 +++++++++++++++---------------------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/scripts/expire-paid-user.sh b/scripts/expire-paid-user.sh index 303ffb4..a93e88d 100755 --- a/scripts/expire-paid-user.sh +++ b/scripts/expire-paid-user.sh @@ -49,39 +49,31 @@ SSH_HOST=$(get_ssh_host) DB_CONTAINER="1Panel-postgresql-FtMo" DB_USER="milkydata" - -# ---------- 设置过期日期 ---------- -if [ -z "$EXPIRES_DATE" ]; then - EXPIRES_DATE=$(date -d "yesterday" +%Y-%m-%d) - echo "未指定日期,默认设为昨天: ${EXPIRES_DATE}" -fi - -echo "═══════════════════════════════════════" -echo "用户 ${USER_ID} 会员过期操作" -echo "到期日期: ${EXPIRES_DATE}" -echo "═══════════════════════════════════════" - echo "" - -echo "⚠️ 即将执行以下操作:" -echo " 将用户 ${USER_ID} 的 membership_expires_at 设到 ${EXPIRES_DATE}" -echo " is_member 保持 true(用户仍标记为曾付费)" -echo " 用户的 is_active_member 会变为 false(付费已过期)" +echo "═══════════════════════════════════════" +echo " 操作: 用户 ${USER_ID} 会员过期" +echo " 到期日: ${EXPIRES_DATE}" +echo " 数据库: ${DB_NAME}(${SSH_HOST})" +echo "═══════════════════════════════════════" +echo "" +echo "当前状态:" +CURRENT_SQL="SELECT id, name, is_member, membership_expires_at FROM users WHERE id = ${USER_ID};" +ssh "$SSH_HOST" "docker exec ${DB_CONTAINER} psql -U ${DB_USER} -d ${DB_NAME} -c \"${CURRENT_SQL}\"" +echo "" +echo "将要执行:" +echo " UPDATE users SET is_member = true, membership_expires_at = '"'"'${EXPIRES_DATE}'"'"'::date WHERE id = ${USER_ID};" +echo " → is_member 保持 true, is_active_member 变为 false" echo "" read -p "确认执行? [y/N] " -n 1 -r; echo [[ ! $REPLY =~ ^[Yy]$ ]] && { echo "已取消"; exit 0; } -# ---------- 执行 SQL ---------- -SQL="UPDATE users SET is_member = true, membership_expires_at = '${EXPIRES_DATE}'::date WHERE id = ${USER_ID};" - -echo "执行 SQL: ${SQL}" +echo "" +echo "执行中..." +SQL="UPDATE users SET is_member = true, membership_expires_at = '"'"'${EXPIRES_DATE}'"'"'::date WHERE id = ${USER_ID};" ssh "$SSH_HOST" "docker exec ${DB_CONTAINER} psql -U ${DB_USER} -d ${DB_NAME} -c \"${SQL}\"" && echo "✅ 操作成功" || echo "❌ 操作失败" -# 查询验证 -QUERY_SQL="SELECT id, name, phone, type, is_member, is_admin, membership_expires_at FROM users WHERE id = ${USER_ID};" echo "" echo "验证结果:" -ssh "$SSH_HOST" "docker exec ${DB_CONTAINER} psql -U ${DB_USER} -d ${DB_NAME} -c \"${QUERY_SQL}\"" - +VERIFY_SQL="SELECT id, name, phone, type, is_member, is_admin, membership_expires_at FROM users WHERE id = ${USER_ID};" +ssh "$SSH_HOST" "docker exec ${DB_CONTAINER} psql -U ${DB_USER} -d ${DB_NAME} -c \"${VERIFY_SQL}\"" echo "" -echo "提示: is_member 保持 true,is_active_member 会变为 false(付费已过期)"