98 lines
2.4 KiB
JavaScript
98 lines
2.4 KiB
JavaScript
// 引入模型
|
|
const userModel = require("../models/userModel");
|
|
|
|
/**
|
|
* 根据分页信息查找用户
|
|
* @param {*} param0
|
|
*/
|
|
module.exports.findUserByPageDao = async function (queryObj) {
|
|
const pageObj = {
|
|
currentPage: Number(queryObj.current),
|
|
eachPage: Number(queryObj.pageSize),
|
|
};
|
|
|
|
const queryCondition = {};
|
|
if (queryObj.loginId) {
|
|
// 用户要按照书籍标题进行搜索
|
|
queryCondition.loginId = new RegExp(queryObj.loginId, "i");
|
|
}
|
|
if (queryObj.nickname) {
|
|
// 用户要按照分类进行搜索
|
|
queryCondition.nickname = new RegExp(queryObj.nickname, "i");
|
|
}
|
|
|
|
pageObj.count = await userModel.countDocuments(queryCondition); // 数据总条数
|
|
pageObj.totalPage = Math.ceil(pageObj.count / pageObj.eachPage); // 总页数
|
|
pageObj.data = await userModel
|
|
.find(queryCondition)
|
|
.skip((pageObj.currentPage - 1) * pageObj.eachPage) // 设置跳过的数据条数
|
|
.sort({ registerDate: -1 })
|
|
.limit(pageObj.eachPage); // 查询条数
|
|
return pageObj;
|
|
};
|
|
|
|
/**
|
|
* 查询积分前 10 名的用户
|
|
* @returns
|
|
*/
|
|
module.exports.findUserByPointsRankDao = async function () {
|
|
return await userModel.find().sort({ points: -1, registerDate: -1 }).limit(10);
|
|
};
|
|
|
|
/**
|
|
* 登录
|
|
* @param {*} 用户输入的账号密码
|
|
* @returns 返回查询到的数据
|
|
*/
|
|
module.exports.loginDao = async function ({ loginId, loginPwd }) {
|
|
return await userModel.findOne({ loginId, loginPwd });
|
|
};
|
|
|
|
/**
|
|
* 添加新的用户
|
|
* @param {*} newUserInfo 新管理员信息
|
|
* @returns
|
|
*/
|
|
module.exports.addUserDao = async function (newUserInfo) {
|
|
return await userModel.create(newUserInfo);
|
|
};
|
|
|
|
/**
|
|
* 根据 id 删除用户
|
|
* @param {*} id
|
|
*/
|
|
module.exports.deleteUserDao = async function (id) {
|
|
return userModel.deleteOne({
|
|
_id: id,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 根据 id 查找用户
|
|
* @param {*} id 要查找的用户 id
|
|
* @returns
|
|
*/
|
|
module.exports.findUserByIdDao = async function (id) {
|
|
return userModel.findOne({
|
|
_id: id,
|
|
});
|
|
};
|
|
|
|
/**
|
|
* 根据 id 修改某一位用户的某一项信息
|
|
* @param {*} id 要修改的用户 id
|
|
* @param {*} newInfo 要修改的信息
|
|
*/
|
|
module.exports.updateUserDao = async function (id, newInfo) {
|
|
return userModel.updateOne({ _id: id }, newInfo);
|
|
};
|
|
|
|
/**
|
|
* 根据 loginId 查找用户
|
|
* @param {*} loginId
|
|
* @returns
|
|
*/
|
|
module.exports.findUserByLoginId = async function (loginId) {
|
|
return await userModel.find({ loginId });
|
|
};
|