67 lines
1.7 KiB
JavaScript
Raw Normal View History

2026-07-27 11:28:33 +08:00
let db = null;
exports.main = async (content, DB) => {
db = DB;
switch (content.type) {
case "getPageDisease":
return await exports.getPageDisease(content);
case "getDisease":
return await exports.getDisease(content);
}
};
exports.getPageDisease = async (context) => {
try {
let { diseaseName, page, pageSize } = context;
const query = {};
if (typeof diseaseName === "string" && diseaseName.trim() !== "") {
query.diseaseName = new RegExp(diseaseName.trim(), "i"); // 使用正则表达式进行模糊查询
}
const total = await db.collection("diseases").countDocuments(query); // 获取总数
pageSize = Number.isInteger(pageSize) && pageSize > 0 ? pageSize : 20;
page = Number.isInteger(page) && page > 0 ? page : 1;
const pages = Math.ceil(total / pageSize);
const res = await db
.collection("diseases")
.find(query)
.skip((page - 1) * pageSize)
.limit(pageSize)
.toArray();
return {
success: true,
message: "获取成功",
list: res,
total,
pages,
};
} catch (error) {
return {
success: false,
message: error.message,
};
}
};
exports.getDisease = async (context) => {
try {
const query = {};
if (
typeof context.diseaseName === "string" &&
context.diseaseName.trim() !== ""
) {
query.diseaseName = new RegExp(context.diseaseName.trim(), "i"); // 使用正则表达式进行模糊查询
}
const res = await db.collection("diseases").find(query).toArray();
return {
success: true,
message: "获取成功",
data: res,
};
} catch (error) {
return {
success: false,
message: error.message,
};
}
};