67 lines
1.7 KiB
JavaScript
67 lines
1.7 KiB
JavaScript
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,
|
|
};
|
|
}
|
|
};
|