/** * 待确认收款列表 - 供小程序调起 wx.requestMerchantTransfer 使用 * GET ?userId=xxx 返回当前用户 status=pending_confirm 且含 package_info 的提现记录,及 mch_id、app_id */ import { NextRequest, NextResponse } from 'next/server' import { prisma } from '@/lib/prisma' import { getTransferMchAndAppId } from '@/lib/wechat-transfer' export async function GET(request: NextRequest) { try { const userId = request.nextUrl.searchParams.get('userId') if (!userId) { return NextResponse.json({ success: false, message: '缺少 userId' }, { status: 400 }) } // 原始查询(数据库 ENUM 已包含 pending_confirm) const list = await prisma.$queryRaw< { id: string; amount: unknown; package_info: string | null; created_at: Date }[] >` SELECT id, amount, package_info, created_at FROM withdrawals WHERE user_id = ${userId} AND status = 'pending_confirm' AND package_info IS NOT NULL ORDER BY created_at DESC ` const { mchId, appId } = getTransferMchAndAppId() const items = list.map((w) => ({ id: w.id, amount: Number(w.amount), package: w.package_info ?? '', createdAt: w.created_at, })) return NextResponse.json({ success: true, data: { list: items, mchId, appId, }, }) } catch (e) { console.error('[Withdraw pending-confirm]', e) return NextResponse.json( { success: false, message: '获取待确认列表失败' }, { status: 500 } ) } }