更新提现和订单管理逻辑,新增用户佣金信息展示,优化提现审批流程以防止超额提现风险。同时,调整提现页面显示用户佣金详情,提升用户体验。重构API以支持新字段,确保数据一致性和准确性。
This commit is contained in:
@@ -17,7 +17,7 @@ function rowToOrder(row: Record<string, unknown>) {
|
||||
openId: row.open_id,
|
||||
productType: row.product_type,
|
||||
productId: row.product_id,
|
||||
amount: row.amount,
|
||||
amount: parseFloat(row.amount as string) || 0, // 确保是数字类型
|
||||
description: row.description,
|
||||
status: row.status,
|
||||
transactionId: row.transaction_id,
|
||||
@@ -29,6 +29,10 @@ function rowToOrder(row: Record<string, unknown>) {
|
||||
// 新增:购买者信息
|
||||
userNickname: row.user_nickname ?? null,
|
||||
userAvatar: row.user_avatar ?? null,
|
||||
// 新增:章节信息
|
||||
bookName: '《底层逻辑》', // 书名(固定)
|
||||
chapterTitle: row.chapter_title ?? null, // 章标题
|
||||
sectionTitle: row.section_title ?? null, // 节标题
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,21 +44,33 @@ export async function GET(request: NextRequest) {
|
||||
let rows: Record<string, unknown>[] = []
|
||||
try {
|
||||
if (userId) {
|
||||
// 按用户查询订单(JOIN users 表获取用户信息)
|
||||
// 按用户查询订单(JOIN users 表获取用户信息 + chapters 表获取章节信息)
|
||||
rows = (await query(
|
||||
`SELECT o.*, u.nickname as user_nickname, u.avatar as user_avatar
|
||||
`SELECT
|
||||
o.*,
|
||||
u.nickname as user_nickname,
|
||||
u.avatar as user_avatar,
|
||||
c.chapter_title,
|
||||
c.section_title
|
||||
FROM orders o
|
||||
LEFT JOIN users u ON o.user_id = u.id
|
||||
LEFT JOIN chapters c ON o.product_id = c.id AND o.product_type = 'section'
|
||||
WHERE o.user_id = ?
|
||||
ORDER BY o.created_at DESC`,
|
||||
[userId]
|
||||
)) as Record<string, unknown>[]
|
||||
} else {
|
||||
// 管理后台:无 userId 时返回全部订单(JOIN users 表获取购买者昵称)
|
||||
// 管理后台:无 userId 时返回全部订单(JOIN users + chapters 表)
|
||||
rows = (await query(
|
||||
`SELECT o.*, u.nickname as user_nickname, u.avatar as user_avatar
|
||||
`SELECT
|
||||
o.*,
|
||||
u.nickname as user_nickname,
|
||||
u.avatar as user_avatar,
|
||||
c.chapter_title,
|
||||
c.section_title
|
||||
FROM orders o
|
||||
LEFT JOIN users u ON o.user_id = u.id
|
||||
LEFT JOIN chapters c ON o.product_id = c.id AND o.product_type = 'section'
|
||||
ORDER BY o.created_at DESC`
|
||||
)) as Record<string, unknown>[]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user