2017-07-05 17:59:53 +08:00
|
|
|
import yapi from '../yapi.js'
|
2017-07-06 18:25:53 +08:00
|
|
|
import mongoose from 'mongoose'
|
|
|
|
import baseModel from './base.js'
|
2017-07-05 17:59:53 +08:00
|
|
|
|
2017-07-06 18:25:53 +08:00
|
|
|
class userModel extends baseModel{
|
|
|
|
getName(){
|
|
|
|
return 'user'
|
|
|
|
}
|
2017-07-05 17:59:53 +08:00
|
|
|
|
2017-07-06 18:25:53 +08:00
|
|
|
getSchema(){
|
|
|
|
return{
|
2017-07-18 15:35:32 +08:00
|
|
|
username: {
|
|
|
|
type: String,
|
|
|
|
required: true
|
|
|
|
},
|
2017-07-10 11:11:35 +08:00
|
|
|
password:{
|
|
|
|
type:String,
|
|
|
|
required: true
|
|
|
|
},
|
|
|
|
email: {
|
|
|
|
type: String,
|
|
|
|
required: true
|
|
|
|
},
|
2017-07-06 18:25:53 +08:00
|
|
|
passsalt: String,
|
|
|
|
role: String,
|
|
|
|
add_time: Number,
|
|
|
|
up_time: Number
|
|
|
|
}
|
|
|
|
}
|
|
|
|
save(data){
|
|
|
|
let user = new this.model(data);
|
2017-07-05 17:59:53 +08:00
|
|
|
return user.save();
|
2017-07-06 18:25:53 +08:00
|
|
|
}
|
2017-07-11 12:12:43 +08:00
|
|
|
checkRepeat(email){
|
2017-07-06 18:25:53 +08:00
|
|
|
return this.model.count({
|
2017-07-11 12:12:43 +08:00
|
|
|
email: email
|
2017-07-06 18:25:53 +08:00
|
|
|
})
|
|
|
|
}
|
|
|
|
list(){
|
2017-07-11 16:50:17 +08:00
|
|
|
return this.model.find().select("_id username email role add_time up_time").exec() //显示id name email role
|
2017-07-06 18:25:53 +08:00
|
|
|
}
|
2017-07-20 15:26:26 +08:00
|
|
|
findByUids(uids){
|
|
|
|
return this.model.find({
|
|
|
|
_id: {$in: [107]}
|
|
|
|
}).select("_id username email role add_time up_time").exec()
|
|
|
|
}
|
2017-07-18 16:37:28 +08:00
|
|
|
listWithPaging(page, limit) {
|
|
|
|
page = parseInt(page);
|
|
|
|
limit = parseInt(limit);
|
2017-07-21 11:46:44 +08:00
|
|
|
return this.model.find().sort({_id: -1}).skip((page - 1) * limit).limit(limit).select("_id username email role add_time up_time").exec();
|
2017-07-18 16:37:28 +08:00
|
|
|
}
|
|
|
|
listCount() {
|
|
|
|
return this.model.count();
|
|
|
|
}
|
2017-07-11 12:12:43 +08:00
|
|
|
findByEmail(email){
|
|
|
|
return this.model.findOne({email: email})
|
2017-07-07 12:04:14 +08:00
|
|
|
}
|
|
|
|
findById(id){
|
2017-07-06 18:25:53 +08:00
|
|
|
return this.model.findById({
|
|
|
|
_id: id
|
2017-07-05 17:59:53 +08:00
|
|
|
})
|
2017-07-06 18:25:53 +08:00
|
|
|
}
|
|
|
|
del (id) {
|
|
|
|
return this.model.deleteOne({
|
2017-07-11 10:17:44 +08:00
|
|
|
_id: id
|
2017-07-06 18:25:53 +08:00
|
|
|
})
|
|
|
|
}
|
|
|
|
update(id,data){
|
|
|
|
return this.model.update({
|
2017-07-11 10:17:44 +08:00
|
|
|
_id: id
|
2017-07-14 17:37:26 +08:00
|
|
|
}, data)
|
2017-07-05 17:59:53 +08:00
|
|
|
}
|
2017-07-14 16:41:14 +08:00
|
|
|
search(keyword) {
|
|
|
|
return this.model.find({
|
|
|
|
$or: [
|
|
|
|
{ email: new RegExp(keyword, 'i') },
|
|
|
|
{ username: new RegExp(keyword, 'i')}
|
|
|
|
]
|
2017-07-18 15:31:41 +08:00
|
|
|
}, {
|
|
|
|
passsalt: 0,
|
|
|
|
password: 0
|
2017-07-14 16:41:14 +08:00
|
|
|
}).limit(10)
|
|
|
|
}
|
2017-07-05 17:59:53 +08:00
|
|
|
|
|
|
|
}
|
|
|
|
|
2017-07-06 18:25:53 +08:00
|
|
|
module.exports = userModel
|