Commit 33d3f3ba authored by 陈家荣's avatar 陈家荣

用户收藏和个人小站接口

parent 6463fd2d
......@@ -16,6 +16,8 @@ var forumCommentService = require('../../service/forumCommentService');
var forumThreadAttendService = require('../../service/forumThreadAttendService');
var httpService = require('../../service/httpService');
var redisPraiseLog = require('../../utils/redisPraiseLog');
var forumUserService = require('../../service/forumUserService');
var forumFollowInfoService = require('../../service/forumFollowInfoService');
var user = require('../../utils/user');
......@@ -952,4 +954,89 @@ router.get('/info/serachThreads', function(req, res, next) {
});
}
});
});
//获取用户收藏的帖子,活动贴
router.get('/info/getUserFavorInfo', function(req, res, next) {
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var userId = user.getMobileUser(req);
var ent_code = req.session.user.ent_code;
var q = {
ent_code: ent_code,
from: userId
};
forumFollowInfoService.findAll(q, null, function(err, doc){
if(err || !doc){
console.error(err);
res.json(returnCode.BUSY);
}else {
var info_ids = [];
for(var i = doc.length - 1; i >= 0; i--){
info_ids.push(doc[i].info);
}
var rs = {};
var today = new Date();
async.waterfall([
function(callback) {
var info_condition = {
ent_code: ent_code,
_id:{$in:info_ids}
}
forumInfoService.getAllByGid(info_condition, pageNo, pageSize, function(err, datas) {
callback(err, datas.items);
});
},
function(infos, callback) { //获取用户
var asyncTasks = [];
_.forEach(infos, function(info, i) {
asyncTasks.push(function(cont) {
var conditions = {
ent_code: ent_code,
info: info._id,
level: 1,
status: 1,
$or: [{
isEvent: {
$ne:1
}
}, {
isEvent: 1,
'event.eventStartTime' : {$lte : today}
}]
};
forumThreadService.getAllCountByFid(conditions, function(err, count) {
if (err) {
console.error(err);
cont(err, null);
} else {
if (infos[i].toObject) {
infos[i] = infos[i].toObject();
}
infos[i].favor_by = infos[i].favor_by.length;
infos[i].threadCount = count;
cont(null, info);
}
});
});
});
then.parallel(asyncTasks).then(function(cont, datas) {
callback(null, infos);
}).fail(function(err, cont) {
callback(err, null);
});
}
], function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
rs.data = result;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
});
\ No newline at end of file
......@@ -30,6 +30,10 @@ var ForumModeratorApply = mongoose.model('ForumModeratorApply');
var forumModeratorApplyService = require('../../service/forumModeratorApplyService');
var redisThreadList = require('../../utils/redisThreadList');
var forumFollowThreadService = require('../../service/forumFollowThreadService');
var forumFollowInfoService = require('../../service/forumFollowInfoService');
var forumFollowUserService = require('../../service/forumFollowUserService');
module.exports = function(app) {
app.use('/v1/forum', router);
};
......@@ -2139,7 +2143,7 @@ router.get('/thread/:tid/get/subThreads/:type', function(req, res, next) {
if(type == 1){ //最新
sort = '-created';
}else if(type == 2){ //最热
sort = '-praise_count -comment_count';
sort = '-praise_count -comment_count -created';
}
if (tid) {
......@@ -2209,8 +2213,6 @@ router.get('/thread/:tid/get/subThreads/:type', function(req, res, next) {
}
});
//H5创建子话题文章
router.post('/h5/thread/create', function(req, res, next) {
var pid = req.body.pid;
......@@ -2294,4 +2296,82 @@ router.post('/h5/thread/create', function(req, res, next) {
}else{
res.json(returnCode.WRONG_PARAM);
}
});
//获取用户收藏的帖子,活动贴
router.get('/thread/getUserFavorThread/:type', function(req, res, next) {
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var type = req.params.type || null;
var userId = user.getMobileUser(req);
var ent_code = req.session.user.ent_code;
var q = {
ent_code: ent_code,
from: userId
};
forumFollowThreadService.findAll(q, null, 'thread', function(err, doc){
if(err || !doc){
console.error(err);
res.json(returnCode.BUSY);
}else {
var thread_ids = [];
for(var i = doc.length - 1; i >= 0; i--){
thread_ids.push(doc[i].thread);
}
var today = new Date();
var conditions = {
ent_code: ent_code,
_id:{$in:thread_ids}
};
if(type == 1){
conditions.isEvent = {
$ne:1
}
}else if(type == 2){
conditions.isEvent = 1;
conditions['event.eventStartTime'] = {$lte : today};
}
queryThread(conditions, pageNo, pageSize, null, function(err, results){
if(err){
console.error(err);
res.json(returnCode.BUSY);
}else{
util.loadLevel(ent_code, results.items, function() {
handleThreadList(req, results, ent_code, function(result){
res.json(_.assign(result, returnCode.SUCCESS));
});
});
}
});
}
});
});
//获取用户收藏的帖子的ID return Map
router.get('/thread/getUserFavorAllThread', function(req, res, next) {
var userId = user.getMobileUser(req);
var ent_code = req.session.user.ent_code;
var q = {
ent_code: ent_code,
from: userId
};
forumFollowThreadService.findAll(q, null, 'thread', function(err, results){
if(err || !results){
console.error(err);
res.json(returnCode.BUSY);
}else {
var map = { //返回map对象,方便前端查找
data:{}
};
_.forEach(results, function(d){
map.data[d.thread] = 1;
});
res.json(_.assign(map, returnCode.SUCCESS));
}
});
});
\ No newline at end of file
......@@ -7,10 +7,13 @@ var express = require('express'),
var mongoose = require('mongoose');
var forumUserService = require('../../service/forumUserService');
var forumThreadService = require('../../service/forumThreadService');
var forumInfoService = require('../../service/forumInfoService');
var async = require('async');
var forumFollowThreadService = require('../../service/forumFollowThreadService');
var forumFollowInfoService = require('../../service/forumFollowInfoService');
var forumFollowUserService = require('../../service/forumFollowUserService');
var async = require('async');
var util = require('../../utils/util');
var user = require('../../utils/user');
module.exports = function(app) {
......@@ -29,18 +32,20 @@ var updateuser = function(condition, entity, callback){
};
//查询用户是否已收藏(板块/文章/用户)
var queryIsFavor = function(userID, field, condition, callback){
var queryIsFavor = function(userID, field, subField, condition, callback){
forumUserService.getUserById(userID, function(err, doc) {
if (err) {
callback(err, null);
} else {
if(doc){
var list = doc[field];
if (list.indexOf(condition) > -1) {
callback(1);
} else {
callback(null);
}
var flag = null;
_.forEach(list, function(one, i) {
if(one[subField] == condition){
flag = 1;
}
});
callback(flag);
}else{
callback('查询用户信息错误');
}
......@@ -113,25 +118,17 @@ router.post('/user/favorInfo/:infoID', function(req, res, next) {
if (userID && infoID) {
async.waterfall([
function(callback) {
queryIsFavor(userID, 'favor_infos', infoID, callback);
forumFollowInfoService.isNotFollow({from: userID, info:infoID, ent_code: ent_code}, callback);
},
function(callback) {
//更新用户
var user_condition = { _id : userID, ent_code : ent_code};
var user_entity = { $push: { "favor_infos": infoID} };
updateuser(user_condition, user_entity, callback);
},
function(user_id, callback) {
//更新板块
var info_condition = { _id : infoID, ent_code : ent_code};
var info_entity = { $push: { "favor_by": user_id} };
forumInfoService.updateByIdWithOptions(info_condition, info_entity, {upsert: true}, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
var obj = {
from: userID,
info: infoID,
ent_code: ent_code
};
forumFollowInfoService.create(obj, function(err, doc){
callback(err, null);
});
}
], function (err, result) {
if (err) {
......@@ -145,7 +142,10 @@ router.post('/user/favorInfo/:infoID', function(req, res, next) {
res.json(returnCode.BUSY);
}
} else {
res.json(returnCode.SUCCESS);
var rs = {
data:true
}
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
} else {
......@@ -153,7 +153,6 @@ router.post('/user/favorInfo/:infoID', function(req, res, next) {
}
});
//取消收藏板块
router.post('/user/disfavorInfo/:infoID', function(req, res, next) {
var userID = user.getMobileUser(req);
......@@ -162,28 +161,18 @@ router.post('/user/disfavorInfo/:infoID', function(req, res, next) {
if (userID && infoID) {
async.waterfall([
function(callback) {
//更新用户
var user_condition = { _id : userID, ent_code : ent_code};
var user_entity = { $pull: { "favor_infos": infoID} };
updateuser(user_condition, user_entity, callback);
},
function(user_id, callback) {
//更新板块
var info_condition = { _id : infoID, ent_code : ent_code};
var info_entity = { $pull: { "favor_by": user_id} };
forumInfoService.updateByIdWithOptions(info_condition, info_entity, {upsert: true}, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
forumFollowInfoService.remove({from: userID, info:infoID, ent_code: ent_code}, function(err, result){
callback(err, result);
});
}
], function (err, result) {
if (err) {
res.json(returnCode.BUSY);
} else {
res.json(returnCode.SUCCESS);
var rs = {
data:false
}
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
} else {
......@@ -191,7 +180,6 @@ router.post('/user/disfavorInfo/:infoID', function(req, res, next) {
}
});
//收藏文章
router.post('/user/favorThread/:threadID', function(req, res, next) {
var userID = user.getMobileUser(req);
......@@ -200,26 +188,18 @@ router.post('/user/favorThread/:threadID', function(req, res, next) {
if (userID && threadID) {
async.waterfall([
function(callback) {
queryIsFavor(userID, 'favor_threads', threadID, callback);
},
function(callback) {
//更新用户
var user_condition = { _id : userID, ent_code : ent_code};
var user_entity = { $push: { "favor_threads": threadID} };
updateuser(user_condition, user_entity, callback);
},
function(user_id, callback) {
//更新文章
var thread_condition = { _id : threadID, ent_code : ent_code};
var thread_entity = { $push: { "favor_by": user_id} };
forumThreadService.updateByIdWithOptions(thread_condition, thread_entity, {upsert: true}, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
forumFollowThreadService.isNotFollow({from: userID, thread: threadID, ent_code: ent_code}, callback);
},
function(callback) {
var obj = {
from: userID,
thread: threadID,
ent_code: ent_code
};
forumFollowThreadService.create(obj, function(err, doc){
callback(err, null);
});
}
], function (err, result) {
if (err) {
if(err == 1){
......@@ -229,10 +209,13 @@ router.post('/user/favorThread/:threadID', function(req, res, next) {
}
res.json(rs);
}else{
res.json(returnCode.BUSY);
res.json(returnCode.BUSY);
}
} else {
res.json(returnCode.SUCCESS);
var rs = {
data:true
}
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
} else {
......@@ -240,7 +223,6 @@ router.post('/user/favorThread/:threadID', function(req, res, next) {
}
});
//取消收藏文章
router.post('/user/disfavorThread/:threadID', function(req, res, next) {
var userID = user.getMobileUser(req);
......@@ -249,28 +231,18 @@ router.post('/user/disfavorThread/:threadID', function(req, res, next) {
if (userID && threadID) {
async.waterfall([
function(callback) {
//更新用户
var user_condition = { _id : userID, ent_code : ent_code};
var user_entity = { $pull: { "favor_threads": threadID} };
updateuser(user_condition, user_entity, callback);
},
function(user_id, callback) {
//更新文章
var thread_condition = { _id : threadID, ent_code : ent_code};
var thread_entity = { $pull: { "favor_by": user_id} };
forumThreadService.updateByIdWithOptions(thread_condition, thread_entity, {upsert: true}, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
forumFollowThreadService.remove({from: userID, thread: threadID, ent_code: ent_code}, function(err, result){
callback(err, result);
});
}
], function (err, result) {
if (err) {
res.json(returnCode.BUSY);
} else {
res.json(returnCode.SUCCESS);
var rs = {
data:false
}
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
} else {
......@@ -286,26 +258,18 @@ router.post('/user/favorUser/:favorUserID', function(req, res, next) {
if (userID && favorUserID) {
async.waterfall([
function(callback) {
queryIsFavor(userID, 'favor_users', favorUserID, callback);
},
function(callback) {
//更新用户
var user_condition = { _id : userID, ent_code : ent_code};
var user_entity = { $push: { "favor_users": favorUserID} };
updateuser(user_condition, user_entity, callback);
},
function(user_id, callback) {
//更新被收藏用户
var favor_condition = { _id : favorUserID, ent_code : ent_code};
var favor_entity = { $push: { "favor_by": user_id} };
forumUserService.updateByIdWithOptions(favor_condition, favor_entity, {upsert: false}, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
forumFollowUserService.isNotFollow({from: userID, to: favorUserID, ent_code: ent_code}, callback);
},
function(callback) {
var obj = {
from: userID,
to: favorUserID,
ent_code: ent_code
};
forumFollowUserService.create(obj, function(err, doc){
callback(err, null);
});
}
], function (err, result) {
if (err) {
if(err == 1){
......@@ -318,7 +282,10 @@ router.post('/user/favorUser/:favorUserID', function(req, res, next) {
res.json(returnCode.BUSY);
}
} else {
res.json(returnCode.SUCCESS);
var rs = {
data:true
}
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
} else {
......@@ -334,31 +301,181 @@ router.post('/user/disfavorUser/:favorUserID', function(req, res, next) {
if (userID && favorUserID) {
async.waterfall([
function(callback) {
//更新用户
var user_condition = { _id : userID, ent_code : ent_code};
var user_entity = { $pull: { "favor_users": favorUserID} };
updateuser(user_condition, user_entity, callback);
},
function(user_id, callback) {
//更新被收藏用户
var favor_condition = { _id : favorUserID, ent_code : ent_code};
var favor_entity = { $pull: { "favor_by": user_id} };
forumUserService.updateByIdWithOptions(favor_condition, favor_entity, {upsert: true}, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
forumFollowUserService.remove({from: userID, to: favorUserID, ent_code: ent_code}, function(err, result){
callback(err, result);
});
}
], function (err, result) {
if (err) {
res.json(returnCode.BUSY);
} else {
res.json(returnCode.SUCCESS);
var rs = {
data:false
}
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
\ No newline at end of file
});
//获取关注的用户
router.get('/user/getUserFavorUser', function(req, res, next) {
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var userId = user.getMobileUser(req);
var ent_code = req.session.user.ent_code;
var q = {
ent_code: ent_code,
from: userId
};
forumFollowUserService.find(pageNo, pageSize, q, null, function(err, results){
if(err){
console.error(err);
res.json(returnCode.BUSY);
}else{
util.loadLevel(ent_code, results.items, function() {
res.json(_.assign(results, returnCode.SUCCESS));
});
}
});
});
//查看用户信息
router.get('/user/getUserInfo/:userId', function(req, res, next) {
var userId = req.params.userId;
var ent_code = req.session.user.ent_code;
async.waterfall([function(callback) {
//获取用户荣誉头衔
var user_conditions = {
ent_code: ent_code,
_id: userId
};
forumUserService.getByConditionsSelectyField(user_conditions, 'uid mid nickName icon honorTitles', function(err, doc) {
callback(err, doc);
});
}, function(forumUser, callback) {
async.parallel([
function(callback) {
//获取用户关注用户数
var follow_conditions = {
ent_code: ent_code,
from: userId
};
forumFollowUserService.count(follow_conditions, callback);
},
function(callback) {
//获取用户被关注数
var follow_by_conditions = {
ent_code: ent_code,
to: userId
};
forumFollowUserService.count(follow_by_conditions, callback);
},
function(callback) {
//获取用户经验值,积分
// var url = API_ADDRESS + '/v1.0/internal/member/infoAndRankInfo';
// request.post({
// url: url,
// json: {
// entCode:ent_code,
// ids:[forumUser.mid]
// }
// }, function(e, r, body) {
// if (e) {
// console.log(e)
// callback(e, null);
// }else{
// callback(null, body.data);
// }
// });
user.findMember(ent_code, forumUser.mid, callback);
}
], function(err, results) {
if (err) {
console.error(err);
callback(err, null);
} else {
if (forumUser.toObject) {
forumUser = forumUser.toObject();
}
if(results[2] && results[2][0]){
forumUser.integral = results[2][0].integral;
forumUser.exp = results[2][0].exp;
forumUser.rankName = results[2][0].rankName;
}
callback(null, forumUser)
}
});
}], function(err, result) {
if(err){
console.error(err);
res.json(returnCode.BUSY);
}else{
var rs = {
data: result
};
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
});
//查看用户的收藏信息
router.get('/user/getUserFavorWithThreadAndInfo', function(req, res, next) {
var userId = user.getMobileUser(req);
var ent_code = req.session.user.ent_code;
var q = {
ent_code: ent_code,
from: userId
};
async.parallel([
function(callback) {
//获取用户收藏的帖子
forumFollowThreadService.findWithThread(q, 'isEvent event', function(err, docs){
if(err || !docs){
console.error(err);
callback(err, null);
}else{
var today = new Date();
var thread_count = 0;
var thread_event_count = 0;
_.forEach(docs, function(d, i){
if(d.thread){
if(d.thread.isEvent != 1){
thread_count++;
}else if(d.thread.isEvent == 1 && d.thread.event.eventStartTime <= today){
thread_event_count++;
}
}
});
var obj = {
follow_thread_count: thread_count,
follow_thread_event_count: thread_event_count
}
callback(null, obj);
}
});
},
function(callback) {
//获取用户收藏的圈子
forumFollowInfoService.count(q, callback);
}
], function(err, results) {
if(err){
console.error(err);
res.json(returnCode.BUSY);
}else{
results[0].follow_info_count = results[1];
var rs = {
data: results[0]
};
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
});
'use strict';
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
//收藏的板块
var ForumFollowInfoSchema = new Schema({
ent_code: {
type: Number,
require: true,
index: true
},
from: {
type: Schema.Types.ObjectId,
require: true,
index: true,
ref: 'ForumUser'
},
info: {
type: Schema.Types.ObjectId,
require: true,
index: true,
ref: 'ForumInfo'
},
created: {
type: Date,
required: true,
default:Date.now
}
}, {
'collection': 'pisns_forum_follow_info'
});
module.exports = mongoose.model('ForumFollowInfo', ForumFollowInfoSchema);
\ No newline at end of file
'use strict';
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
//收藏的帖子
var ForumFollowThreadSchema = new Schema({
ent_code: {
type: Number,
require: true,
index: true
},
from: {
type: Schema.Types.ObjectId,
require: true,
index: true,
ref: 'ForumUser'
},
thread: {
type: Schema.Types.ObjectId,
require: true,
index: true,
ref: 'ForumThread'
},
created: {
type: Date,
required: true,
default:Date.now
}
}, {
'collection': 'pisns_forum_follow_thread'
});
module.exports = mongoose.model('ForumFollowThread', ForumFollowThreadSchema);
\ No newline at end of file
'use strict';
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
//收藏的用户
var ForumFollowUserSchema = new Schema({
ent_code: {
type: Number,
require: true,
index: true
},
from: {
type: Schema.Types.ObjectId,
require: true,
index: true,
ref: 'ForumUser'
},
to: {
type: Schema.Types.ObjectId,
require: true,
index: true,
ref: 'ForumUser'
},
created: {
type: Date,
required: true,
default:Date.now
}
}, {
'collection': 'pisns_forum_follow_user'
});
module.exports = mongoose.model('ForumFollowUser', ForumFollowUserSchema);
\ No newline at end of file
......@@ -164,10 +164,8 @@ var ForumThreadSchema = new Schema({
required: true,
default:Date.now
}
}, {
'collection': 'pisns_forum_thread'
});
module.exports = mongoose.model('ForumThread', ForumThreadSchema);
\ No newline at end of file
'use strict';
var mongoose = require('mongoose');
var ForumFollowInfo = mongoose.model('ForumFollowInfo');
exports.create=function(entity,callback){
var forum = new ForumFollowInfo(entity);
forum.save(function(err, doc) {
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,doc);
}
});
};
exports.remove=function(conditions,callback){
ForumFollowInfo.remove(conditions, function(err, result) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, null);
}
});
};
//获取数量
function countAll(conditions,callback) {
ForumFollowInfo.count(conditions, function (err, count) {
if(err){
console.error(err);
callback(err,null);
}else{
callback(null,count);
}
});
}
//分页查询
exports.find= function(pageNo, pageSize, conditions, sort, callback) {
countAll(conditions,function(err,count){
if(err){
console.error(err);
callback(err,null);
}else{
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
var sortby = "-_id";
if(sort){
sortby = sort;
}
ForumFollowInfo.find(conditions).skip(skip).limit(pageSize).sort(sortby).exec(function(err, docs){
if (err) {
console.error(err);
callback(err,null);
} else {
var obj={};
obj.total=count;
obj.pageNo=pageNo;
obj.pageSize=pageSize;
obj.items=docs;
callback(null,obj);
}
});
}
});
};
//获取列表
exports.findAll=function(conditions, sort, callback){
var sortby = "-_id";
if(sort){
sortby = sort;
}
ForumFollowInfo.find(conditions).sort(sortby).exec(function(err, docs){
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,docs);
}
});
};
exports.isNotFollow= function(conditions, callback) {
countAll(conditions,function(err,count){
if(err){
console.error(err);
callback(err,null);
}else if(count > 0){
callback(1);
}else{
callback(null);
}
});
};
//获取列表数量
exports.count=function(conditions, callback){
countAll(conditions,function(err,count){
if(err){
console.error(err);
callback(err,null);
}else{
callback(null,count);
}
});
};
'use strict';
var mongoose = require('mongoose');
var ForumFollowThread = mongoose.model('ForumFollowThread');
exports.create = function(entity, callback) {
var forum = new ForumFollowThread(entity);
forum.save(function(err, doc) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, doc);
}
});
};
exports.remove = function(conditions, callback) {
ForumFollowThread.remove(conditions, function(err, result) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, null);
}
});
};
//获取数量
function countAll(conditions, callback) {
ForumFollowThread.count(conditions, function(err, count) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, count);
}
});
}
//分页查询
exports.find = function(pageNo, pageSize, conditions, sort, callback) {
countAll(conditions, function(err, count) {
if (err) {
console.error(err);
callback(err, null);
} else {
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
var sortby = "-_id";
if (sort) {
sortby = sort;
}
ForumFollowThread.find(conditions).skip(skip).limit(pageSize).sort(sortby).exec(function(err, docs) {
if (err) {
console.error(err);
callback(err, null);
} else {
var obj = {};
obj.total = count;
obj.pageNo = pageNo;
obj.pageSize = pageSize;
obj.items = docs;
callback(null, obj);
}
});
}
});
};
//获取列表
exports.findAll = function(conditions, sort, fields, callback) {
var sortby = "-_id";
if (sort) {
sortby = sort;
}
ForumFollowThread.find(conditions).select(fields).sort(sortby).exec(function(err, docs) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, docs);
}
});
};
exports.isNotFollow = function(conditions, callback) {
countAll(conditions, function(err, count) {
if (err) {
console.error(err);
callback(err, null);
} else if (count > 0) {
callback(1);
} else {
callback(null);
}
});
};
//获取列表数量
exports.count = function(conditions, callback) {
countAll(conditions, function(err, count) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, count);
}
});
};
//获取列表
exports.findWithThread = function(conditions, subFields, callback) {
ForumFollowThread.find(conditions).populate({
path: 'thread',
select: subFields
}).exec(function(err, docs) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, docs);
}
});
};
'use strict';
var mongoose = require('mongoose');
var ForumFollowUser = mongoose.model('ForumFollowUser');
exports.create=function(entity,callback){
var forum = new ForumFollowUser(entity);
forum.save(function(err, doc) {
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,doc);
}
});
};
exports.remove=function(conditions,callback){
ForumFollowUser.remove(conditions, function(err, result) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, null);
}
});
};
//获取数量
function countAll(conditions,callback) {
ForumFollowUser.count(conditions, function (err, count) {
if(err){
console.error(err);
callback(err,null);
}else{
callback(null,count);
}
});
}
//分页查询
exports.find= function(pageNo, pageSize, conditions, sort, callback) {
countAll(conditions,function(err,count){
if(err){
console.error(err);
callback(err,null);
}else{
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
var sortby = "-_id";
if(sort){
sortby = sort;
}
ForumFollowUser.find(conditions).populate({
path: 'to',
select: 'uid mid nickName icon honorTitles'
}).skip(skip).limit(pageSize).sort(sortby).exec(function(err, docs){
if (err) {
console.error(err);
callback(err,null);
} else {
var obj={};
obj.total=count;
obj.pageNo=pageNo;
obj.pageSize=pageSize;
obj.items=docs;
callback(null,obj);
}
});
}
});
};
//获取列表
exports.findAll=function(conditions, sort, callback){
var sortby = "-_id";
if(sort){
sortby = sort;
}
ForumFollowUser.find(conditions).sort(sortby).exec(function(err, docs){
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,docs);
}
});
};
exports.isNotFollow= function(conditions, callback) {
countAll(conditions,function(err,count){
if(err){
console.error(err);
callback(err,null);
}else if(count > 0){
callback(1);
}else{
callback(null);
}
});
};
//获取列表
exports.count=function(conditions, callback){
countAll(conditions,function(err,count){
if(err){
console.error(err);
callback(err,null);
}else{
callback(null,count);
}
});
};
\ No newline at end of file
......@@ -19,6 +19,21 @@ exports.createUser = function(entity, callback) {
});
};
//根据Uid获取用户
exports.getByConditionsSelectyField = function(conditions, fields, callback) {
ForumUser.findOne(conditions).select(fields).exec(function(err, result) {
if (err) {
callback(err, null);
} else {
if (result) {
callback(null, result);
} else {
callback(null, null);
}
}
});
};
//根据Uid获取用户
exports.getUserByUid = function(uid, callback) {
ForumUser.findOne({
......@@ -380,4 +395,15 @@ exports.searchMembersWithFields = function(q, fields, sort, callback) {
ForumUser.find(q).select(fields).sort(sort).exec(function(err, docs) {
callback(err, docs);
});
};
//查询用户收藏记录
exports.getUserFavorThreadIds = function(q, fields, callback) {
ForumUser.findOne(q).select(fields).exec(function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, result);
}
});
};
\ No newline at end of file
'use strict';
var _ = require('lodash');
var request = require('request');
var env = process.env.NODE_ENV;
var API_ADDRESS = 'http://localhost:8080';
if (env == 'sandbox') {
API_ADDRESS = 'http://rest.wxpai.cn';
} else if (env == 'production') {
API_ADDRESS = 'https://rest.wxpai.cn';
}
var forumUserService=require('../service/forumUserService');
exports.getMobileUser=function(req){
return req.session.mobileForumUser.userId;
// return '55015675868b65a028187c49';
}
exports.getOpenId=function(req){
......@@ -83,4 +93,22 @@ exports.identifyUser=function() {
}
}
exports.findMember=function(ent_code, mid, callback){
var url = API_ADDRESS + '/v1.0/internal/member/infoAndRankInfo';
request.post({
url: url,
json: {
entCode:ent_code,
ids:[mid]
}
}, function(e, r, body) {
if (e) {
console.log(e)
callback(e, null);
}else{
callback(null, body.data);
}
});
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment