nodejs service

nodejs, service layer template The
required modules include:
var signDao = require('../dao/signDao.js');
var proxy = require('EventProxy'); //EventProxy is a function that controls the business by controlling the order of event triggering tools for the process.
var mysql = require('../util/MySQL')


method:
exports.checkUser = function(name, pwd, callback) {
    var ep = new proxy();
    var result_code = 0;
    var errMsg = "";
    var connection ;
    ep.emitLater('start');
    ep.on('start', function() {
//Link database
        mysql.pool.getConnection(ep.done('link'));
    });
    ep.on('link', function(conn) {
        connection = conn;
//Open transaction
        connection.beginTransaction(ep.done('check'))
    });
    ep.on('check', function() {
        signDao.getUserInfo(connection, name, ep.done('setData'));
    });
    ep.on('setData', function(data) {
        if (data.length > 0) {
            if (pwd != data[0].password) {
                result_code = 1;
                errMsg = "Incorrect username or password ";
            } else {
                result_code = 2;
                errMsg = "User does not exist";
            }
        }
//The operation of updating the data must be submitted first. If it fails, you can roll back
        ep.emit('commit');
    })
    ep.on('commit', function() {
        ep.emit('finish') ;
    })
    ep.on('finish', function() {
//Release the connection with the database
        connection.release();
        callback({
            result_code: result_code,
            errMsg: errMsg
        })
    })
    ep.fail(function(err) {
        //The update operation needs to be rolled back
        if (connection != null) {
            connection.rollback(function (err) {
                if (err) {
                    return callback(err);
                }
//Release the connection to the database
                connection.release();
                callback(error);
            });
        } else {
            callback(error);
        }
    })
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325484321&siteId=291194637