24 lines
887 B
JavaScript
24 lines
887 B
JavaScript
const { ObjectId } = require('mongodb');
|
|
|
|
exports.main = async (ctx, db) => {
|
|
switch (ctx.type) {
|
|
case 'getMedicalWineList':
|
|
return getMedicalWineList(ctx, db);
|
|
}
|
|
}
|
|
|
|
async function getMedicalWineList(ctx, db) {
|
|
try {
|
|
const query = { type: 'wine', disabled: false };
|
|
if (typeof ctx.name === 'string' && ctx.name.trim()) {
|
|
query.name = new RegExp(ctx.name.trim(), 'i');
|
|
}
|
|
if (Array.isArray(ctx.ids)) {
|
|
query._id = { $in: ctx.ids.map(i => ObjectId.isValid(i) ? new ObjectId(i) : null).filter(Boolean) }
|
|
}
|
|
const res = await db.collection('chinese-medicine').find(query, { projection: { details: 1, _id: 1, efficacy: 1, name: 1, unit: 1, cate: 1, disease: 1, max: 1, hisId: 1 } }).toArray();
|
|
return { success: true, data: res, message: '查询浸酒数据成功' }
|
|
} catch (e) {
|
|
return { success: false, message: e.message }
|
|
}
|
|
} |