diff --git a/app.js b/app.js index 28ddaf5..c2c7c0f 100644 --- a/app.js +++ b/app.js @@ -24,17 +24,17 @@ const loginSecret = process.env.SESSION_SECRET; // const databasePassword = process.env.DB_PASSWORD; // mongodbConfig.connectMongoDB(databaseAccount, databasePassword); -const userMapper = require('./dao/userMapper'); +// const userMapper = require('./dao/userMapper'); -( - async () => { - try { - await userMapper.updatePassword('333', 7); - } catch (error) { - console.error(error); - } - } -)(); +// ( +// async () => { +// try { +// await userMapper.updatePassword('333', 7); +// } catch (error) { +// console.error(error); +// } +// } +// )(); app.use(logger('dev')); app.use(express.json()); @@ -52,7 +52,8 @@ app.use(session({ }, })); -app.use('/', loginUtils.aopMiddleware, indexRouter); +// app.use('/', loginUtils.aopMiddleware, indexRouter); +app.use('/', indexRouter); // catch 404 and forward to error handler app.use(function (req, res, next) { diff --git a/dao/userMapper.js b/dao/user.mapper.js similarity index 73% rename from dao/userMapper.js rename to dao/user.mapper.js index 2c37aff..f448dd4 100644 --- a/dao/userMapper.js +++ b/dao/user.mapper.js @@ -2,24 +2,17 @@ const sqlite = require('../db/sqlite.config'); const User = require("../models/user.model"); /** - * - * @param {*} id - * @returns + * 查询用户 - account + * @param {*} account + * @returns {User} */ -exports.selectById = async (id) => { +exports.selectByAccount = async (account) => { let db; try { db = await sqlite.connectSqlite(); - db.all('SELECT * FROM USERS WHERE `id` = ?', [id], async function (err, rows) { - if (err) { - console.error(err); - } - return await getUser(rows); - }); - const rows = await new Promise((resolve, reject) => { - db.all('SELECT * FROM USERS WHERE `id` = ?', [id], (err, rows) => { + db.all('SELECT * FROM USERS WHERE `USER_ACCOUNT` = ?', [account], (err, rows) => { if (err) { reject(err); } else { @@ -28,7 +21,7 @@ exports.selectById = async (id) => { }); }); - return await getUser(rows); + return (await getUser(rows))[0]; } catch (err) { throw err; } finally { @@ -41,7 +34,39 @@ exports.selectById = async (id) => { }; /** - * + * 查询用户 - 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 */ @@ -52,7 +77,7 @@ exports.selectByName = async (name) => { db = await sqlite.connectSqlite(); const rows = await new Promise((resolve, reject) => { - db.all('SELECT * FROM USERS', async function (err, rows) { + db.all('SELECT * FROM USERS WHERE = ?', [name], async function (err, rows) { if (err) { reject(err); } @@ -99,20 +124,20 @@ exports.selectAllUser = async () => { } /** - * - * @param {*} User + * 新增用户 + * @param {User} _user */ -exports.insertUser = async (User) => { +exports.insertUser = async (_user) => { let db; try { db = await sqlite.connectSqlite(); - const user = await new Promise((resolve, reject) => { + 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], + [_user.user_account, _user.user_name, _user.password, _user.email, _user.mobile], async function (err) { if (err) { reject(err); @@ -122,6 +147,7 @@ exports.insertUser = async (User) => { }); }); + console.log("新增成功", u.toString()); } catch (error) { throw error } finally { @@ -133,7 +159,7 @@ exports.insertUser = async (User) => { } } -/** +/** 修改密码 * @param password * @param userId */ @@ -173,16 +199,7 @@ getUser = async (rows) => { let users = new Array(); rows.map((value, index) => { - users[index] = new User( - value.id, - value.user_account, - value.user_name, - value.password, - value.email, - value.mobile, - value.status, - value.create_time, - value.update_time); + users[index] = new User(value); }); return users; diff --git a/express.db b/express.db index 172ac24..af66132 100644 Binary files a/express.db and b/express.db differ diff --git a/models/user.model.js b/models/user.model.js index decf738..072ae9d 100644 --- a/models/user.model.js +++ b/models/user.model.js @@ -9,16 +9,8 @@ class User { create_time; update_time; - constructor(id, user_account, user_name, password, email, mobile, status, create_time, update_time) { - this.id = id; - this.user_account = user_account; - this.user_name = user_name; - this.password = password; - this.email = email; - this.mobile = mobile; - this.status = status; - this.create_time = create_time; - this.update_time = update_time; + constructor(obj) { + Object.assign(this, obj); } getId() { diff --git a/routes/index.js b/routes/index.js index 3073f5a..3e6c98b 100644 --- a/routes/index.js +++ b/routes/index.js @@ -2,15 +2,18 @@ var express = require('express'); var router = express.Router(); const user_controller = require("../controllers/userController"); +const User = require("../models/user.model"); +const userService = require("../service/user.service"); const StringUtils = require("../utils/StringUtil"); /* GET home page. */ router.get('/', function (req, res, next) { - const session = req.session; - session['key'] = 'testvalue'; - console.log(session); - res.setHeader('set-cookies', session['key']); + // const session = req.session; + // session['key'] = 'testvalue'; + // console.log(session); + // res.setHeader('set-cookies', session['key']); res.send('test'); + // res.status('404').json({ error: 'Acess is denied' }); }); router.get('/user', async function (req, res, next) { @@ -61,4 +64,21 @@ router.get('/logout', async function (req, res, next) { res.json({ ret_code: 1, ret_msg: '退出登录成功' }); }); +router.post('/register', async function (req, res, next) { + const body = req.body; + const { account, username, password } = body; + + console.log(account, username, password); + const user = new User(); + user.setUserAccount(account); + user.setUserName(username); + user.setPassword(password); + // console.log(user); + let userMsg; + userMsg = await userService.register(user); + console.log(userMsg.get('userMsg')); + + res.json({ ret_code: 1, ret_msg: userMsg.get('userMsg') }); +}); + module.exports = router; diff --git a/service/user.service.js b/service/user.service.js index e69de29..b30243b 100644 --- a/service/user.service.js +++ b/service/user.service.js @@ -0,0 +1,41 @@ +const User = require("../models/user.model"); +const userMapper = require("../dao/user.mapper"); +const StringUtil = require("../utils/StringUtil"); + +/** + * + * @param {User} user + * @returns + */ +exports.register = async (user) => { + let messageMap = new Map(); + + // console.log(user ); + const _user = user; + + if (_user == null) { + throw new Error("用户参数不能为空"); + } + + if (StringUtil.isNotEmpty(_user.getUserAccount)) { + messageMap.set("userMsg", "账号不能为空"); + return messageMap; + } + if (StringUtil.isNotEmpty(_user.getUserName)) { + messageMap.set("userMsg", "名称不能为空"); + return messageMap; + } + if (StringUtil.isNotEmpty(_user.getPassword)) { + messageMap.set("userMsg", "密码不能为空"); + return messageMap; + } + + const u = await userMapper.selectByAccount(_user.user_account); + if (u != null) { + messageMap.set("userMsg", "账户已存在"); + return messageMap; + } + await userMapper.insertUser(_user); + messageMap.set("userMsg", "succuss"); + return messageMap; +} \ No newline at end of file diff --git a/utils/StringUtil.js b/utils/StringUtil.js index e7c4026..e4335f8 100644 --- a/utils/StringUtil.js +++ b/utils/StringUtil.js @@ -1,5 +1,5 @@ /** - * + * 判断是否为空 * @param {*} obj 任意值 * @returns {Boolean} obj是否为空 */