59 lines
1.6 KiB
JavaScript
59 lines
1.6 KiB
JavaScript
var mongoose = require('../utils/mongoose').mongoose;
|
|
var crypto = require('crypto');
|
|
|
|
var Schema = mongoose.Schema;
|
|
|
|
// session模型
|
|
var SessionSchema = new Schema({
|
|
uid: {type: String, index: true},
|
|
socket: {type: String},
|
|
// 类型
|
|
type: {type: String, default: "customer"},
|
|
// 客服编号
|
|
kefu_id: {type: String},
|
|
nickname: {type: String},
|
|
status: {type: Number,default:1},
|
|
create_at: {type: Date, default: Date.now}
|
|
});
|
|
|
|
//session model instance
|
|
const sessionModel = mongoose.model("sessions", SessionSchema);
|
|
|
|
|
|
module.exports = {
|
|
find(uid) {
|
|
return new Promise((success, fail) => {
|
|
sessionModel.findOne({uid, status: 1}, (err, session) => {
|
|
if (err) fail(err);
|
|
else success(session)
|
|
})
|
|
});
|
|
},
|
|
create(data) {
|
|
return new Promise((success, fail) => {
|
|
sessionModel.insert(data, (err, doc) => {
|
|
if (err) fail(err);
|
|
else success(doc);
|
|
})
|
|
});
|
|
},
|
|
update(uid, data) {
|
|
return new Promise((success, fail) => {
|
|
sessionModel.findOneAndUpdate({uid}, data, success);
|
|
});
|
|
},
|
|
remove(uid) {
|
|
return new Promise((success, fail) => {
|
|
sessionModel.findOneAndRemove({uid}, data, success);
|
|
});
|
|
},
|
|
// 查询列表
|
|
findByCondition(data) {
|
|
return new Promise((success, fail) => {
|
|
sessionModel.find(data, (err, doc) => {
|
|
if (err) fail(err);
|
|
else success(doc);
|
|
})
|
|
});
|
|
}
|
|
} |