From ce3c0ab7019b3000bac7d2dafe95ed80b558b3f8 Mon Sep 17 00:00:00 2001 From: milky0217 Date: Fri, 5 Jun 2026 22:45:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20check-members.sh=E6=8E=92=E9=99=A4?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=91=98+=E5=BC=82=E5=B8=B8=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=98=BE=E7=A4=BA=E5=A4=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/check-members.sh | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/scripts/check-members.sh b/scripts/check-members.sh index d667b58..2388e17 100755 --- a/scripts/check-members.sh +++ b/scripts/check-members.sh @@ -192,11 +192,16 @@ SELECT u.id, COALESCE(u.nickname, CONCAT('用户 #', u.id)) AS name, COUNT(po.id) AS total_orders, - COUNT(po.id) FILTER (WHERE po.status = 'paid') AS paid_orders + COUNT(po.id) FILTER (WHERE po.status = 'paid') AS paid_orders, + CASE + WHEN u.id IN (2053, 5258) THEN '测试贡献发放' + ELSE '' + END AS note FROM users u LEFT JOIN payment_orders po ON po.user_id = u.id WHERE u.is_member = true -GROUP BY u.id, u.nickname + AND u.is_admin = false +GROUP BY u.id, u.nickname, u.is_admin HAVING COUNT(po.id) FILTER (WHERE po.status = 'paid') = 0 ORDER BY u.id; SQL @@ -300,9 +305,13 @@ echo -e "${CYAN}═════════════════════ if [ -n "$ORDER_ISSUES" ]; then echo -e "${BOLD}⚠️ 订单异常:有会员身份但无成功付款记录${NC}" echo " !用户可能通过手动操作获得了会员身份" - while IFS='|' read -r id name total_orders paid_orders; do + while IFS='|' read -r id name total_orders paid_orders note; do [ -z "$id" ] && continue - echo -e " ${YELLOW}⚠️ 用户 #${id}(${name}):共 ${total_orders} 条订单,${paid_orders} 条已支付${NC}" + msg="⚠️ 用户 #${id}(${name}):共 ${total_orders} 条订单,${paid_orders} 条已支付" + if [ -n "$note" ]; then + msg="${msg}(${note})" + fi + echo -e " ${YELLOW}${msg}${NC}" done <<< "$ORDER_ISSUES" echo "" fi