refactor: scripts确认信息优化-显示当前状态+目标数据库

This commit is contained in:
2026-05-26 10:24:20 +08:00
parent 2d8ea052f7
commit 541ea7245b

View File

@@ -49,39 +49,31 @@ SSH_HOST=$(get_ssh_host)
DB_CONTAINER="1Panel-postgresql-FtMo" DB_CONTAINER="1Panel-postgresql-FtMo"
DB_USER="milkydata" 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 "═══════════════════════════════════════"
echo "⚠️ 即将执行以下操作:" echo " 操作: 用户 ${USER_ID} 会员过期"
echo " 将用户 ${USER_ID} 的 membership_expires_at 设${EXPIRES_DATE}" echo "期日: ${EXPIRES_DATE}"
echo " is_member 保持 true用户仍标记为曾付费" echo " 数据库: ${DB_NAME}${SSH_HOST}"
echo " 用户的 is_active_member 会变为 false付费已过期" 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 "" echo ""
read -p "确认执行? [y/N] " -n 1 -r; echo read -p "确认执行? [y/N] " -n 1 -r; echo
[[ ! $REPLY =~ ^[Yy]$ ]] && { echo "已取消"; exit 0; } [[ ! $REPLY =~ ^[Yy]$ ]] && { echo "已取消"; exit 0; }
# ---------- 执行 SQL ---------- echo ""
SQL="UPDATE users SET is_member = true, membership_expires_at = '${EXPIRES_DATE}'::date WHERE id = ${USER_ID};" echo "执行中..."
SQL="UPDATE users SET is_member = true, membership_expires_at = '"'"'${EXPIRES_DATE}'"'"'::date WHERE id = ${USER_ID};"
echo "执行 SQL: ${SQL}"
ssh "$SSH_HOST" "docker exec ${DB_CONTAINER} psql -U ${DB_USER} -d ${DB_NAME} -c \"${SQL}\"" && echo "✅ 操作成功" || echo "❌ 操作失败" 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 ""
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 ""
echo "提示: is_member 保持 trueis_active_member 会变为 false付费已过期"