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