207 lines
4.5 KiB
JavaScript
207 lines
4.5 KiB
JavaScript
const sqlite = require('../db/sqlite.config');
|
|
const User = require("../models/user.model");
|
|
|
|
/**
|
|
* 查询用户 - account
|
|
* @param {*} account
|
|
* @returns {User}
|
|
*/
|
|
exports.selectByAccount = async (account) => {
|
|
let db;
|
|
|
|
try {
|
|
db = await sqlite.connectSqlite();
|
|
const rows = await new Promise((resolve, reject) => {
|
|
db.all('SELECT * FROM USERS WHERE `USER_ACCOUNT` = ?', [account], (err, rows) => {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(rows);
|
|
}
|
|
});
|
|
});
|
|
|
|
return (await getUser(rows))[0];
|
|
} catch (err) {
|
|
throw err;
|
|
} finally {
|
|
try {
|
|
await db.close();
|
|
} catch (error) {
|
|
throw err;
|
|
}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* 查询用户 - id
|
|
* @param {*} id
|
|
* @returns {User}
|
|
*/
|
|
exports.selectById = async (id) => {
|
|
let db;
|
|
|
|
try {
|
|
db = await sqlite.connectSqlite();
|
|
const rows = await new Promise((resolve, reject) => {
|
|
db.all('SELECT * FROM USERS WHERE `id` = ?', [id], (err, rows) => {
|
|
if (err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(rows);
|
|
}
|
|
});
|
|
});
|
|
|
|
return await getUser(rows)[0];
|
|
} catch (err) {
|
|
throw err;
|
|
} finally {
|
|
try {
|
|
await db.close();
|
|
} catch (error) {
|
|
throw err;
|
|
}
|
|
}
|
|
};
|
|
|
|
/**
|
|
* 查询用户 - name
|
|
* @param {*} name
|
|
* @returns
|
|
*/
|
|
exports.selectByName = async (name) => {
|
|
let db;
|
|
|
|
try {
|
|
db = await sqlite.connectSqlite();
|
|
|
|
const rows = await new Promise((resolve, reject) => {
|
|
db.all('SELECT * FROM USERS WHERE = ?', [name], async function (err, rows) {
|
|
if (err) {
|
|
reject(err);
|
|
}
|
|
|
|
resolve(rows);
|
|
});
|
|
})
|
|
|
|
return await getUser(rows);
|
|
} catch (err) {
|
|
throw err;
|
|
} finally {
|
|
try {
|
|
await db.close();
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
}
|
|
}
|
|
|
|
exports.selectAllUser = async () => {
|
|
let db;
|
|
|
|
try {
|
|
db = await sqlite.connectSqlite();
|
|
const rows = await new Promise((reject, resolve) => {
|
|
db.all('SELECT * FROM USERS', async function (err, rows) {
|
|
if (err) {
|
|
reject(err);
|
|
}
|
|
resolve(rows)
|
|
});
|
|
})
|
|
return await getUser(rows);
|
|
} catch (err) {
|
|
throw err;
|
|
} finally {
|
|
try {
|
|
await db.close();
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 新增用户
|
|
* @param {User} _user
|
|
*/
|
|
exports.insertUser = async (_user) => {
|
|
let db;
|
|
|
|
try {
|
|
db = await sqlite.connectSqlite();
|
|
|
|
const u = await new Promise((resolve, reject) => {
|
|
db.run('INSERT \
|
|
INTO USERS(USER_ACCOUNT, USER_NAME, PASSWORD, EMAIL, MOBILE) \
|
|
VALUES(?, ?, ?, ?, ?)',
|
|
[_user.user_account, _user.user_name, _user.password, _user.email, _user.mobile],
|
|
async function (err) {
|
|
if (err) {
|
|
reject(err);
|
|
}
|
|
console.log(this + '-----');
|
|
resolve(this);
|
|
});
|
|
});
|
|
|
|
console.log("新增成功", u.toString());
|
|
} catch (error) {
|
|
throw error
|
|
} finally {
|
|
try {
|
|
await db.close();
|
|
} catch (error) {
|
|
console.error(error);
|
|
}
|
|
}
|
|
}
|
|
|
|
/** 修改密码
|
|
* @param password
|
|
* @param userId
|
|
*/
|
|
exports.updatePassword = async (password, userId) => {
|
|
let db;
|
|
|
|
try {
|
|
db = await sqlite.connectSqlite();
|
|
const thisUpdate = await new Promise((resolve, reject) => {
|
|
db.run(
|
|
"UPDATE USERS SET PASSWORD = ? WHERE ID = ?;",
|
|
[password, userId],
|
|
async function (err) {
|
|
if (err) {
|
|
reject(err);
|
|
}
|
|
resolve(this);
|
|
}
|
|
)
|
|
})
|
|
} catch (error) {
|
|
throw error;
|
|
} finally {
|
|
try {
|
|
await db.close();
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
*
|
|
* @param rows
|
|
*/
|
|
getUser = async (rows) => {
|
|
let users = new Array();
|
|
|
|
rows.map((value, index) => {
|
|
users[index] = new User(value);
|
|
});
|
|
|
|
return users;
|
|
}
|