-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathManagerDAO.js
165 lines (152 loc) · 3.74 KB
/
ManagerDAO.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
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);
}