我已经创建了一个基于功能的应用程序,基于功能的定价和集成的条纹,但我正在努力弄清楚如何在基于订阅层的能力限制中加入限制。
定价层
attendees
我想做的是让用户在创建事件时验证他们的订阅,1)确保他们没有超过其层的QR代码#,2)使用参与者计数来创建一个数组。我可以弄清楚如何构造逻辑,我只需要帮助集成定价层数据。
事件创建函数
module.exports.showActivations = async (req, res) => {
const user = await User.findById(req.params.id);
const qr = await Qr.find({ user: user._id }).populate('event');
const qrAgg = await Qr.aggregate([
{
$match: { user: user._id }
},
{
$lookup: {
from: 'events',
localField: 'event',
foreignField: '_id',
as: 'event'
}
},
{
$unwind: '$event'
},
{
$sort: { 'event.event_start': -1 }
}
]);
const activeEvents = await Event.find({ user: user.id, event_end: { $gte: Date.now() } }).populate('qr');
// for loop to create QR codes for user when they visit the page for the first time
if (qr.length < 1 && <where I'd like to pass in the QR count based on tier>) {
for (let i = qr.length; i < 6; i++) {
const url = `https://${req.headers.host}/users/${user.id}/qr-` + (1 + i);
const qrGenerator = await QRCode.toDataURL(url);
const name = "qr-" + (1 + i);
const qr = new Qr({
user: user._id,
url: url,
qrcode: qrGenerator,
name: name,
});
await qr.save();
}
res.render('users/activations', { activeEvents, qr, qrAgg });
} else {
res.render('users/activations', { activeEvents, qr, qrAgg });
}
};
价格id映射尝试
const priceToQrMappings = {
price_id1: 2,
price_id2: 7,
price_id3: 10
};
如何将QR代码的适当#传递给基于用户价格层的for循环函数?
发布于 2022-09-27 19:21:07
您应该更新您的代码,以实现价格ID ->的简单映射--该价格允许的QR代码数量,然后假设您知道您的客户在到达QR代码生成循环时订阅了哪个QR代码ID,则可以使用该映射来查找要生成多少QR代码。
https://stackoverflow.com/questions/73871957
复制相似问题