升级商城逻辑
This commit is contained in:
@@ -821,8 +821,8 @@ router.get('/user/:userId', authenticateToken, async (req, res) => {
|
||||
LEFT JOIN users to_user ON t.to_user_id = to_user.id
|
||||
${whereClause}
|
||||
ORDER BY t.created_at DESC
|
||||
LIMIT ? OFFSET ?
|
||||
`, listParams);
|
||||
LIMIT ${limitNum} OFFSET ${offset}
|
||||
`, countParams);
|
||||
|
||||
const [countResult] = await db.execute(`
|
||||
SELECT COUNT(*) as total FROM transfers t ${whereClause}
|
||||
@@ -1556,10 +1556,11 @@ router.get('/daily-stats',
|
||||
u.balance,
|
||||
COALESCE(yesterday_out.amount, 0) as yesterday_out_amount,
|
||||
COALESCE(today_in.amount, 0) as today_in_amount,
|
||||
COALESCE(confirmed_from.confirmed_amount, 0) as confirmed_from_amount,
|
||||
CASE
|
||||
WHEN (COALESCE(yesterday_out.amount, 0) - COALESCE(today_in.amount, 0)) > ABS(u.balance)
|
||||
WHEN (COALESCE(u.balance, 0) +COALESCE(confirmed_from.confirmed_amount, 0) ) > ABS(u.balance)
|
||||
THEN ABS(u.balance)
|
||||
ELSE (COALESCE(yesterday_out.amount, 0) - COALESCE(today_in.amount, 0))
|
||||
ELSE (COALESCE(u.balance, 0)+ COALESCE(confirmed_from.confirmed_amount, 0) )
|
||||
END as balance_needed
|
||||
FROM users u
|
||||
LEFT JOIN (
|
||||
@@ -1580,13 +1581,29 @@ router.get('/daily-stats',
|
||||
AND status IN ('confirmed', 'received')
|
||||
GROUP BY to_user_id
|
||||
) today_in ON u.id = today_in.to_user_id
|
||||
left join (
|
||||
select
|
||||
from_user_id,
|
||||
sum(amount) as confirmed_amount
|
||||
from
|
||||
transfers
|
||||
where
|
||||
status = 'received'
|
||||
and created_at >= ?
|
||||
and created_at <= ?
|
||||
group by
|
||||
from_user_id
|
||||
) as confirmed_from on u.id = confirmed_from.from_user_id
|
||||
WHERE u.role != 'admin'
|
||||
AND u.is_system_account != 1
|
||||
AND yesterday_out.amount > 0
|
||||
AND u.balance < 0
|
||||
ORDER BY balance_needed DESC, yesterday_out_amount DESC
|
||||
`, [yesterdayStartStr, yesterdayEndStr, todayStartStr, todayEndStr]);
|
||||
userStats = userStats.filter(item=>item.balance_needed >= 100)
|
||||
`, [yesterdayStartStr, yesterdayEndStr, todayStartStr, todayEndStr, todayStartStr, todayEndStr]);
|
||||
// userStats = userStats.filter(item=>item.balance_needed >= 100)
|
||||
userStats.forEach(item=>{
|
||||
item.balance_needed = Math.abs(item.balance_needed)
|
||||
})
|
||||
res.json({
|
||||
success: true,
|
||||
data: {
|
||||
|
||||
Reference in New Issue
Block a user