var path = require("path"); daoModule = require("./DAO"); databaseModule = require(path.join(process.cwd(),"modules/database")); /** * 创建管理员 * * @param {[type]} obj 管理员信息 * @param {Function} cb 回调函数 */ module.exports.create = function(obj,cb) { daoModule.create("ManagerModel",obj,cb); } /** * 获取管理员列表 * * @param {[type]} conditions 查询条件 * @param {Function} cb 回调函数 */ module.exports.list = function(conditions,cb) { daoModule.list("ManagerModel",conditions,function(err,models) { if(err) return cb(err,null); cb(null,models); }); } /** * 通过查询条件获取管理员对象 * * @param {[type]} conditions 条件 * @param {Function} cb 回调函数 */ module.exports.findOne = function(conditions,cb) { daoModule.findOne("ManagerModel",conditions,cb); } /** * 通过关键词查询用户 * * @param {[type]} key 关键词 * @param {[type]} offset * @param {[type]} limit * @param {Function} cb 回调函数 */ module.exports.findByKey = function(key,offset,limit,cb) { db = databaseModule.getDatabase(); sql = "SELECT * FROM sp_manager as mgr LEFT JOIN sp_role as role ON mgr.role_id = role.role_id"; if(key) { sql += " WHERE mg_name LIKE ? LIMIT ?,?"; database.driver.execQuery( sql ,["%" + key + "%",offset,limit],function(err,managers){ if(err) return cb("查询执行出错"); cb(null,managers); }); } else { sql += " LIMIT ?,? "; database.driver.execQuery(sql,[offset,limit],function(err,managers){ if(err) return cb("查询执行出错"); cb(null,managers); }); } } /** * 判断是否存在管理员 * * @param {[type]} username 用户名 * @param {Function} cb 回调函数 * */ module.exports.exists = function(username,cb) { var db = databaseModule.getDatabase(); var Model = db.models.ManagerModel; Model.exists({"mg_name":username},function(err,isExists){ if(err) return cb("查询失败"); cb(null,isExists); }); } /** * 模糊查询用户数量 * * @param {[type]} key 关键词 * @param {Function} cb 回调函数 */ module.exports.countByKey = function(key,cb) { db = databaseModule.getDatabase(); sql = "SELECT count(*) as count FROM sp_manager"; if(key) { sql += " WHERE mg_name LIKE ?"; database.driver.execQuery( sql ,["%" + key + "%"],function(err,result){ if(err) return cb("查询执行出错"); cb(null,result[0]["count"]); }); } else { database.driver.execQuery(sql,function(err,result){ if(err) return cb("查询执行出错"); cb(null,result[0]["count"]); }); } } /** * 通过ID获取管理员对象数据 * * @param {[type]} id 管理员主键ID * @param {Function} cb 回调函数 */ module.exports.show = function(id,cb) { daoModule.show("ManagerModel",id,cb); } /** * 更新管理员信息 * * @param {[type]} obj 管理员对象 * @param {Function} cb 回调函数 */ module.exports.update = function(obj,cb) { daoModule.update("ManagerModel",obj.mg_id,obj,cb); } /** * 删除管理员对象数据 * * @param {[type]} id 主键ID * @param {Function} cb 回调函数 */ module.exports.destroy = function(id,cb) { daoModule.destroy("ManagerModel",id,function(err){ if(err) return cb(err); return cb(null); }); } /** * 保存管理员信息 * * @param {[type]} obj 管理员对象 * @param {Function} cb 回调函数 */ module.exports.save = function(obj,cb) { daoModule.show(obj.mg_id,function(err,oldObj){ if(err) { daoModule.create("ManagerModel",obj,cb); } else { daoModule.update("ManagerModel",obj.mg_id,obj,cb); } }) } /** * 获取管理员数量 * * @param {Function} cb 回调函数 */ module.exports.count = function(cb) { daoModule("ManagerModel",cb); }