nodejs系列: 综合练习实例 UserService.js javascript
发布时间:2019-01-28 16:48:32 作者:本站编辑 来源:本站原创 浏览次数:
www.javainfo.com.cn 上干货 欢迎收藏
如有疑问 请留言 欢迎提供建议
这个是用户管理模块业务处理模块 这里封装了用户管理中的所有接口 业务处理接口
//引入DAO数据库的连接
var DbConnection = require('../utils/DbConnection');
//引入模型数据
var UserModel = require('../models/UserModel')
//定义用户管理模块业务层
function UserService() {
}
//处理删除事件 返回修改的条数
UserService.doEdit = function(id,name,age,callback){
var con = DbConnection.getDefaultConnection();
var sql = "update nodeusers set name = ? , age = ? where id = ? ";
console.log(sql);
// con.query('UPDATE users SET foo = ?, bar = ?, baz = ? WHERE id = ?',
// ['a', 'b', 'c', userId], function (error, results, fields) {
// if (error) throw error;
// // ...
// });
con.query(sql,[name,age,id],function (err,result) {
if(err) throw err;
console.log('update user 数量为 '+ result.changedRows +" 条 ");
callback(result.changedRows);
})
console.log('execute ok ');
}
//处理查看事件
UserService.doView = function(id,callback){
var con = DbConnection.getDefaultConnection();
var sql = "select *from nodeusers where id = ? ";
console.log(sql);
con.query(sql,[id],function (error, results, fields) {
if(error) throw error;
console.log('select user result '+ results);
console.log('select user fields '+ fields);
if(results.length > 0){
var userTemp = new UserModel(results[0].Id,results[0].name,results[0].age,results[0].flag);
console.log('execute ok ');
callback(userTemp);
} else{
console.log('execute null ');
callback(null);
}
})
}
//处理删除事件
UserService.doDelete = function(id,callback){
var con = DbConnection.getDefaultConnection();
var sql = "update nodeusers set flag = 1 where id = ? ";
console.log(sql);
con.query(sql,[id],function (err,result) {
if(err) throw err;
console.log('delete user result '+ result);
callback('ok');
})
console.log('execute ok ');
}
//查找用户列表信息 数据库连接采用 隐式连接方式
UserService.findUserList = function (pname,page,limit,callback) {
// 得到连接对象
console.log('findUserList enter 1 and get dbConnection ')
var con = DbConnection.getDefaultConnection();
//连接到数据库
console.log('findUserList getConn OK 2 ')
//声明存放用户信息的列表
var userArray = new Array();
//记录总数 记录器
var sumObjNums = 0;
console.log(' findUserList start query db datas 3 ')
//第一步 获取某页的数据
var sql = "SELECT * from nodeusers where flag = 0 limit "+limit+" offset " + limit * (page - 1);
con.query(sql, function(err, rows, fields) {
if (err) throw err;
console.log('findUserList querydb result process start 4 ');
if(rows.length > 0){
for(var i=0; i<rows.length; i++){
var userTemp = new UserModel(rows[i].Id,rows[i].name,rows[i].age,rows[i].flag);
userArray.push(userTemp);
console.log('findUserList data processing .. 5 ')
}
console.log('findUserList datas process ok ; to callback fun to get SUMCOUNT 6')
// 第二步 获取当前符合条件的数据的总数
sql = "SELECT count(id) as sumCount from nodeusers where flag = 0 ";
con.query(sql, function(err, rows, fields) {
if (err) throw err;
console.log('findUserList query datas count ' + rows +' 7');
if(rows.length > 0){
sumObjNums = rows[0].sumCount;
console.log('findUserList process ok , callback router 8 ');
//当数据与记录总数获取完毕后, 反调给router层函数
return callback(userArray,sumObjNums);
}
});
}
});
console.log('findUserList service end 9 ');
//回调模式编程 异步非阻塞模式处理 其程序执行过程
// post users pagelist and set response type
// pname = content.txt =
// findUserList enter 1 and get dbConnection
// findUserList getConn OK 2
// findUserList start query db datas 3
// findUserList service end 9
// router service method end
// findUserList data processing .. 5
// findUserList data processing .. 5
// findUserList data processing .. 5
// findUserList data processing .. 5
// findUserList data processing .. 5
// findUserList datas process ok ; to callback fun to get SUMCOUNT 6
// findUserList query datas count [object Object] 7
// findUserList process ok , callback router 8
// router callback process data init
// router callback process data to json data
// router callback response jsonstr {"code":0,"msg":"ok","count":5,"data":[{"id":1,"name":"wangwu","age":333,"flag":0},{"id":2,"name":"lisi","age":22,"flag":0},{"id":9,"name":"ggf","age":348,"flag":0},{"id":10,"name":"gf","age":43,"flag":0},{"id":12,"name":"7777","age":66,"flag":0}],"pageIndex":1}
// router callback send to frontPage json info .....
}
//添加用户的方法
UserService.doReg = function(uname,uage,callback){
var con = DbConnection.getDefaultConnection();
var sql = "insert into nodeusers(name,age) values(?,?)";
console.log(sql);
con.query(sql,[uname,uage],function (err,result) {
if(err) throw err;
console.log('insert result '+ result);
callback('ok');
})
console.log('execute ok ');
};
//暴漏用户管理接口
module.exports=UserService;如有疑问 请留言 欢迎提供建议











评论已有 0 条