refactor: scripts确认信息优化-显示当前状态+目标数据库
This commit is contained in:
@@ -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(付费已过期)"
|
||||
|
||||
Reference in New Issue
Block a user