Files
services/controllers/subscribe.js
T

38 lines
1.1 KiB
JavaScript
Raw Normal View History

2026-05-26 13:37:55 +08:00
const { query } = require('../config/database')
async function bindOpenId(ctx) {
const { userId, openid } = ctx.request.body
if (!userId || !openid) {
ctx.body = { code: 400, message: '缺少参数' }
return
}
await query('UPDATE users SET openid = ? WHERE id = ?', [openid, userId])
ctx.body = { code: 200, message: '绑定成功' }
}
async function notifyOrder(ctx) {
const { orderId } = ctx.request.body
const orders = await query(
'SELECT o.*, u.openid FROM orders o LEFT JOIN users u ON o.user_id = u.id WHERE o.id = ?',
[orderId]
)
if (!orders.length) {
ctx.body = { code: 404, message: '订单不存在' }
return
}
const order = orders[0]
if (!order.openid) {
ctx.body = { code: 400, message: '用户未绑定微信' }
return
}
try {
const { sendOrderStatusNotification } = require('../utils/wechat')
const result = await sendOrderStatusNotification(order.openid, order.id, order.status, order.total_price)
ctx.body = { code: 200, data: result }
} catch (e) {
ctx.body = { code: 500, message: e.message }
}
}
module.exports = { bindOpenId, notifyOrder }