Commit 0c1302b5 authored by strong's avatar strong

Merge branch 'newfunc_1120_thread_quality'

# Conflicts:
#	app/controllers/mobile/forumThread.js
parents 43a2e2b3 89770488
...@@ -6,6 +6,7 @@ var express = require('express'), ...@@ -6,6 +6,7 @@ var express = require('express'),
var mongoose = require('mongoose'); var mongoose = require('mongoose');
var moment = require('moment'); var moment = require('moment');
var ForumThread=require('../../models/forumThread');
var forumUserService=require('../../service/forumUserService'); var forumUserService=require('../../service/forumUserService');
var forumThreadService=require('../../service/forumThreadService'); var forumThreadService=require('../../service/forumThreadService');
var httpService=require('../../service/httpService'); var httpService=require('../../service/httpService');
...@@ -37,27 +38,36 @@ function compareTime(now, begin_time, end_time) { ...@@ -37,27 +38,36 @@ function compareTime(now, begin_time, end_time) {
} }
} }
var updateUser = function(uid,nickName,icon){ var updateUser = function(user,entity){
var entity = {}, var updateObj = {},
isUpdate = false; isUpdate = false;
if(nickName){ if(user && entity && user._id){
entity.nickName = nickName; if(entity.nickName && user.nickName !== entity.nickName){
isUpdate = true; updateObj.nickName = entity.nickName;
} isUpdate = true;
if(icon){ }
entity.icon = icon;
isUpdate = true; if(entity.icon && user.icon !== entity.icon){
} updateObj.icon = entity.icon;
if(isUpdate){ isUpdate = true;
forumUserService.updateUserById(uid,entity,function(err,result){ }
if(err){
console.log(err); if(entity.mid && !user.mid){
}else{ updateObj.mid = entity.mid;
console.log('用户:'+uid+'---------更新成功'); isUpdate = true;
console.log(entity); }
}
}); if(isUpdate){
} forumUserService.updateUserById(user._id,updateObj,function(err,result){
if(err){
console.log(err);
}else{
console.log('用户:'+user._id+'---------更新成功');
console.log(updateObj);
}
});
}
}
} }
//验证用户身份 //验证用户身份
router.post('/user/identifyUser',function(req,res,next){ router.post('/user/identifyUser',function(req,res,next){
...@@ -67,29 +77,27 @@ router.post('/user/identifyUser',function(req,res,next){ ...@@ -67,29 +77,27 @@ router.post('/user/identifyUser',function(req,res,next){
}else if(!req.session.mobileForumUser || req.session.mobileForumUser.openId !== entity.openId){ }else if(!req.session.mobileForumUser || req.session.mobileForumUser.openId !== entity.openId){
forumUserService.getUserByUid(entity.uid,function(err,doc){ forumUserService.getUserByUid(entity.uid,function(err,doc){
if(err){ if(err){
console.log(err); console.error(err);
res.json('error'); res.json('error');
}else{ }else{
if(doc){ if(doc){
if(entity.nickName || entity.icon){ updateUser(doc,entity);
if(doc.nickName !== entity.nickName || doc.icon !== entity.icon){
updateUser(doc._id,entity.nickName,entity.icon);
}
}
req.session.mobileForumUser={ req.session.mobileForumUser={
userId:doc._id, userId:doc._id,
openId:doc.uid openId:doc.uid,
mid:doc.mid || entity.mid
}; };
res.json({result:'success',userId:doc._id}); res.json({result:'success',userId:doc._id});
}else{ }else{
forumUserService.createUser(entity,function(err,doc){ forumUserService.createUser(entity,function(err,doc){
if(err){ if(err){
console.log(err); console.error(err);
res.json('error'); res.json('error');
}else{ }else{
req.session.mobileForumUser={ req.session.mobileForumUser={
userId:doc._id, userId:doc._id,
openId:doc.uid openId:doc.uid,
mid:doc.mid
}; };
res.json({result:'success',userId:doc._id}); res.json({result:'success',userId:doc._id});
} }
...@@ -196,4 +204,3 @@ router.post('/user/checkLimitAction', function(req, res, next) { ...@@ -196,4 +204,3 @@ router.post('/user/checkLimitAction', function(req, res, next) {
res.json(returnObject); res.json(returnObject);
} }
}); });
...@@ -51,6 +51,9 @@ router.post('/member/searchMembers', function(req, res, next) { ...@@ -51,6 +51,9 @@ router.post('/member/searchMembers', function(req, res, next) {
$regex: search.nickName $regex: search.nickName
}; };
} }
if(search.mid){
q.mid = search.mid;
}
if (search.displayName) { if (search.displayName) {
q.displayName = { q.displayName = {
$regex: search.displayName $regex: search.displayName
......
This diff is collapsed.
...@@ -157,7 +157,7 @@ router.get('/info/:fid/threads', function(req, res, next) { ...@@ -157,7 +157,7 @@ router.get('/info/:fid/threads', function(req, res, next) {
var pageNo = req.query.pageNo || 1; var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10; var pageSize = req.query.pageSize || 10;
var fid = req.params.fid; var fid = req.params.fid;
var sort = '-top -topTime -created'; var sort = '-top -topTime -quality -created';
var ent_code = req.session.user.ent_code; var ent_code = req.session.user.ent_code;
var conditions = { var conditions = {
ent_code: ent_code, ent_code: ent_code,
...@@ -378,7 +378,7 @@ router.get('/info/:fid/myThreads', function(req, res, next) { ...@@ -378,7 +378,7 @@ router.get('/info/:fid/myThreads', function(req, res, next) {
}; };
} }
//获取子话题数据 //获取子话题数据
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, '-created', function(err, results) { forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, '-quality -created', function(err, results) {
if (err) { if (err) {
console.error(err); console.error(err);
res.json(returnCode.BUSY); res.json(returnCode.BUSY);
...@@ -431,7 +431,7 @@ router.get('/info/myThreads', function(req, res, next) { ...@@ -431,7 +431,7 @@ router.get('/info/myThreads', function(req, res, next) {
}; };
} }
//获取子话题数据 //获取子话题数据
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, '-created', function(err, results) { forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, '-quality -created', function(err, results) {
if (err) { if (err) {
console.error(err); console.error(err);
res.json(returnCode.BUSY); res.json(returnCode.BUSY);
...@@ -482,7 +482,7 @@ router.get('/info/hisThreads/:id', function(req, res, next) { ...@@ -482,7 +482,7 @@ router.get('/info/hisThreads/:id', function(req, res, next) {
}; };
} }
//获取子话题数据 //获取子话题数据
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, '-created', function(err, results) { forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, '-quality -created', function(err, results) {
if (err) { if (err) {
console.error(err); console.error(err);
res.json(returnCode.BUSY); res.json(returnCode.BUSY);
......
This diff is collapsed.
...@@ -113,6 +113,11 @@ var ForumThreadSchema = new Schema({ ...@@ -113,6 +113,11 @@ var ForumThreadSchema = new Schema({
require: true, require: true,
default: 0 default: 0
}, },
quality:{//质量 高:100,中:50,低:0
type: Number,
require: true,
default: 100
},
created: { created: {
type: Date, type: Date,
required: true, required: true,
......
...@@ -15,6 +15,12 @@ var ForumUserSchema = new Schema({ ...@@ -15,6 +15,12 @@ var ForumUserSchema = new Schema({
unique:true, unique:true,
require: true require: true
}, },
mid: { //会员ID,这里直接存放会员ID
type: Number,
index: true,
unique:true,
require: false
},
nickName: { //用户昵称,这里直接存放用户的nickname nickName: { //用户昵称,这里直接存放用户的nickname
type: String type: String
}, },
......
'use strict'; 'use strict';
var mongoose = require('mongoose'); var mongoose = require('mongoose');
var ForumComment = mongoose.model('ForumComment'); var ForumComment = mongoose.model('ForumComment');
var forumUserService = require('./forumUserService');
var async = require('async'); var async = require('async');
//创建评论 //创建评论
...@@ -181,7 +181,7 @@ function populateComment(doc, callback) { ...@@ -181,7 +181,7 @@ function populateComment(doc, callback) {
status: 1 status: 1
}).populate({ }).populate({
path: 'from to', path: 'from to',
select: 'uid nickName icon' select: 'uid nickName icon mid'
}).exec(function(err, c) { }).exec(function(err, c) {
if (err) { if (err) {
console.error(err); console.error(err);
...@@ -349,6 +349,51 @@ exports.getCommentList = function(conditions, pageNo, pageSize, callback) { ...@@ -349,6 +349,51 @@ exports.getCommentList = function(conditions, pageNo, pageSize, callback) {
} }
}); });
}; };
//获取评论列表
exports.getCommentListByMid = function(mid,conditions, pageNo, pageSize, callback) {
//查询到用户
forumUserService.searchMembersByMid(mid, function(err, users) {
if (err) {
console.error(err);
callback(err, null);
} else {
//查询对应用户的文章
var user_ids = [];
for(var i in users){
user_ids.push(users[i]._id);
}
conditions.from = {
$in:user_ids
}
countAll(conditions, function(err, count) {
if (err) {
callback(err);
} else {
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
ForumComment.find(conditions).populate('from').populate('to').limit(limit).skip(skip).sort('-created').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.getCommentParent = function(cid, callback) { exports.getCommentParent = function(cid, callback) {
ForumComment.findOne({ ForumComment.findOne({
comments: { comments: {
...@@ -491,7 +536,7 @@ exports.getAllCommentByThread = function(conditions, callback) { ...@@ -491,7 +536,7 @@ exports.getAllCommentByThread = function(conditions, callback) {
select: 'from' select: 'from'
}).populate({ }).populate({
path: 'from to', path: 'from to',
select: '_id uid nickName icon' select: '_id uid nickName icon mid'
}).sort('-created').exec(function(err, docs) { }).sort('-created').exec(function(err, docs) {
if (err) { if (err) {
console.error(err); console.error(err);
......
...@@ -17,7 +17,7 @@ exports.findThreadByPage = function(pageNo, pageSize, q, callback) { ...@@ -17,7 +17,7 @@ exports.findThreadByPage = function(pageNo, pageSize, q, callback) {
}).then(function(cont, count) { }).then(function(cont, count) {
var skip = (pageNo - 1) * pageSize; var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip); var limit = count - skip > pageSize ? pageSize : (count - skip);
ForumThread.find(q).skip(skip).limit(limit).sort('-created').exec(function(err, docs) { ForumThread.find(q).skip(skip).limit(limit).sort('-quality -created').exec(function(err, docs) {
cont(err, count, docs); cont(err, count, docs);
}); });
...@@ -607,7 +607,7 @@ function getSubThreads(doc, sort, callback) { ...@@ -607,7 +607,7 @@ function getSubThreads(doc, sort, callback) {
console.error(err); console.error(err);
callback(err, null); callback(err, null);
} else { } else {
var sortBy = '-top -created'; var sortBy = '-top -quality -created';
if (sort) { if (sort) {
sortBy = sort; sortBy = sort;
} }
...@@ -638,7 +638,7 @@ function getAllThreadByFidHelp(conditions, pageNo, pageSize, sort, callback) { ...@@ -638,7 +638,7 @@ function getAllThreadByFidHelp(conditions, pageNo, pageSize, sort, callback) {
} else { } else {
var skip = (pageNo - 1) * pageSize; var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip); var limit = count - skip > pageSize ? pageSize : (count - skip);
var sortBy = '-topTime -tag_topTime -created'; var sortBy = '-topTime -tag_topTime -quality -created';
if (sort) { if (sort) {
sortBy = sort; sortBy = sort;
} }
...@@ -706,7 +706,7 @@ function getAllThreadByFidHelpNoLimit(conditions, pageNo, pageSize, sort, callba ...@@ -706,7 +706,7 @@ function getAllThreadByFidHelpNoLimit(conditions, pageNo, pageSize, sort, callba
} else { } else {
var skip = (pageNo - 1) * pageSize; var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip); var limit = count - skip > pageSize ? pageSize : (count - skip);
var sortBy = '-topTime -tag_topTime -created'; var sortBy = '-topTime -tag_topTime -quality -created';
if (sort) { if (sort) {
sortBy = sort; sortBy = sort;
} }
...@@ -1010,7 +1010,7 @@ exports.remove = function(array,val) { ...@@ -1010,7 +1010,7 @@ exports.remove = function(array,val) {
}; };
function getAllThreadByFidHelpAndNickName(user_ids, conditions, pageNo, pageSize, sort, callback) { function getAllThreadByFidAndUserHelp(user_ids, conditions, pageNo, pageSize, sort, callback) {
conditions.from = { conditions.from = {
"$in" : user_ids "$in" : user_ids
}; };
...@@ -1023,7 +1023,7 @@ function getAllThreadByFidHelpAndNickName(user_ids, conditions, pageNo, pageSize ...@@ -1023,7 +1023,7 @@ function getAllThreadByFidHelpAndNickName(user_ids, conditions, pageNo, pageSize
var skip = (pageNo - 1) * pageSize; var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip); var limit = count - skip > pageSize ? pageSize : (count - skip);
var sortBy = '-topTime -tag_topTime -created'; var sortBy = '-topTime -tag_topTime -quality -created';
if (sort) { if (sort) {
sortBy = sort; sortBy = sort;
} }
...@@ -1067,9 +1067,39 @@ exports.getAllThreadByFidAndNickName = function(nickName, conditions, pageNo, pa ...@@ -1067,9 +1067,39 @@ exports.getAllThreadByFidAndNickName = function(nickName, conditions, pageNo, pa
for(var i in users){ for(var i in users){
user_ids.push(users[i]._id); user_ids.push(users[i]._id);
} }
getAllThreadByFidHelpAndNickName(user_ids, conditions, pageNo, pageSize, sort, callback); getAllThreadByFidAndUserHelp(user_ids, conditions, pageNo, pageSize, sort, callback);
} }
}); });
} }
//获取某个文章 //获取全部列表数据
exports.getAllThreadByFidAndMid = function(mid, conditions, pageNo, pageSize, sort, callback) {
//查询到用户
forumUserService.searchMembersByMid(mid, function(err, users) {
if (err) {
console.error(err);
callback(err, null);
} else {
//查询对应用户的文章
var user_ids = [];
for(var i in users){
user_ids.push(users[i]._id);
}
getAllThreadByFidAndUserHelp(user_ids, conditions, pageNo, pageSize, sort, callback);
}
});
}
//更新文章
exports.updateThread = function(condition, entity, callback) {
ForumThread.findOneAndUpdate(condition, entity, function(err, doc){
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, doc);
}
});
};
\ No newline at end of file
...@@ -107,6 +107,17 @@ exports.searchMembersByNickName=function(nickName, callback){ ...@@ -107,6 +107,17 @@ exports.searchMembersByNickName=function(nickName, callback){
}); });
}; };
//根据mid查询用户
exports.searchMembersByMid=function(mid, callback){
ForumUser.find({mid:mid}).exec(function(err,result){
if(err){
callback(err,null);
}else{
callback(null,result);
}
});
};
//查询用户和行为限制信息 //查询用户和行为限制信息
exports.searchMembersAndLimitActions=function(pageNo, pageSize, q, callback){ exports.searchMembersAndLimitActions=function(pageNo, pageSize, q, callback){
then(function(cont) { then(function(cont) {
......
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