1
This commit is contained in:
@@ -194,13 +194,15 @@ router.get('/merchants/:agent_id', async (req, res) => {
|
||||
|
||||
// 首先获取代理的注册时间
|
||||
const [agentInfo] = await getDB().execute(
|
||||
`SELECT ra.created_at as agent_created_at, ra.region_id
|
||||
`SELECT ra.created_at as agent_created_at, ra.region_id, ra.user_id
|
||||
FROM regional_agents ra
|
||||
WHERE ra.id = ?`,
|
||||
[parseInt(agent_id)]
|
||||
);
|
||||
const regionId = agentInfo[0].region_id;
|
||||
|
||||
const userId = agentInfo[0].user_id;
|
||||
|
||||
if (!agentInfo || agentInfo.length === 0) {
|
||||
return res.status(404).json({success: false, message: '代理不存在'});
|
||||
}
|
||||
@@ -215,7 +217,7 @@ router.get('/merchants/:agent_id', async (req, res) => {
|
||||
u.real_name,
|
||||
u.created_at,
|
||||
u.audit_status,
|
||||
IFNULL(am.created_at, '未关联') as joined_at,
|
||||
IFNULL(u.created_at, '未关联') as joined_at,
|
||||
CASE
|
||||
WHEN u.created_at < ? AND u.district_id = ? THEN 1
|
||||
ELSE 0
|
||||
@@ -227,25 +229,20 @@ router.get('/merchants/:agent_id', async (req, res) => {
|
||||
(SELECT COUNT(*)
|
||||
FROM matching_orders
|
||||
WHERE initiator_id = u.id
|
||||
AND status = 'completed') as completed_matches,
|
||||
(SELECT COUNT(*)
|
||||
FROM agent_commission_records
|
||||
WHERE merchant_id = u.id
|
||||
AND agent_id = ?) as commission_count
|
||||
AND status = 'completed') as completed_matches
|
||||
|
||||
FROM users u
|
||||
LEFT JOIN agent_merchants am ON u.id = am.merchant_id AND am.agent_id = ?
|
||||
WHERE (am.agent_id = ? OR (u.created_at < ? AND u.district_id = ? AND u.role = 'user'))
|
||||
WHERE (u.inviter = ? OR (u.created_at < ? AND u.district_id = ? AND u.role = 'user'))
|
||||
ORDER BY u.created_at DESC
|
||||
LIMIT ${parseInt(limit)} OFFSET ${parseInt(offset)}`,
|
||||
[agentCreatedAt, parseInt(regionId), agentCreatedAt, parseInt(regionId), parseInt(agent_id), parseInt(agent_id), parseInt(agent_id), agentCreatedAt, parseInt(regionId)]
|
||||
[agentCreatedAt, parseInt(regionId), agentCreatedAt, parseInt(regionId), parseInt(userId), parseInt(agent_id), parseInt(agent_id), agentCreatedAt, parseInt(regionId)]
|
||||
);
|
||||
|
||||
// 获取总数(包括代理关联的商户和符合条件的早期商户)
|
||||
const [countResult] = await getDB().execute(
|
||||
`SELECT COUNT(*) as total
|
||||
FROM users u
|
||||
LEFT JOIN agent_merchants am ON u.id = am.merchant_id AND am.agent_id = ?
|
||||
WHERE (am.agent_id = ? OR (u.created_at < ? AND u.district_id = ? AND u.role = 'user'))`,
|
||||
WHERE (u.inviter = ? OR (u.created_at < ? AND u.district_id = ? AND u.role = 'user'))`,
|
||||
[parseInt(agent_id), parseInt(agent_id), agentCreatedAt, parseInt(regionId)]
|
||||
);
|
||||
|
||||
@@ -264,8 +261,7 @@ router.get('/merchants/:agent_id', async (req, res) => {
|
||||
const [normalMerchantStats] = await getDB().execute(
|
||||
`SELECT COUNT(*) as normal_merchant_count
|
||||
FROM users u
|
||||
LEFT JOIN agent_merchants am ON u.id = am.merchant_id AND am.agent_id = ?
|
||||
WHERE (am.agent_id = ? AND (u.created_at >= ? OR u.district_id != ?))`,
|
||||
WHERE (u.inviter = ? AND (u.created_at >= ? OR u.district_id != ?))`,
|
||||
[parseInt(agent_id), parseInt(agent_id), agentCreatedAt, parseInt(regionId)]
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user