请通过浏览器功能收藏网页

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

    开心

  • 0

    板砖

  • 0

    感动

  • 0

    有用

  • 0

    疑问

  • 0

    难过

  • 0

    无聊

  • 0

    震惊

评论已有 0