fix: check-members.sh排除管理员+异常订单显示备注
This commit is contained in:
@@ -192,11 +192,16 @@ SELECT
|
|||||||
u.id,
|
u.id,
|
||||||
COALESCE(u.nickname, CONCAT('用户 #', u.id)) AS name,
|
COALESCE(u.nickname, CONCAT('用户 #', u.id)) AS name,
|
||||||
COUNT(po.id) AS total_orders,
|
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
|
FROM users u
|
||||||
LEFT JOIN payment_orders po ON po.user_id = u.id
|
LEFT JOIN payment_orders po ON po.user_id = u.id
|
||||||
WHERE u.is_member = true
|
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
|
HAVING COUNT(po.id) FILTER (WHERE po.status = 'paid') = 0
|
||||||
ORDER BY u.id;
|
ORDER BY u.id;
|
||||||
SQL
|
SQL
|
||||||
@@ -300,9 +305,13 @@ echo -e "${CYAN}═════════════════════
|
|||||||
if [ -n "$ORDER_ISSUES" ]; then
|
if [ -n "$ORDER_ISSUES" ]; then
|
||||||
echo -e "${BOLD}⚠️ 订单异常:有会员身份但无成功付款记录${NC}"
|
echo -e "${BOLD}⚠️ 订单异常:有会员身份但无成功付款记录${NC}"
|
||||||
echo " !用户可能通过手动操作获得了会员身份"
|
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
|
[ -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"
|
done <<< "$ORDER_ISSUES"
|
||||||
echo ""
|
echo ""
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user