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'),
var mongoose = require('mongoose');
var moment = require('moment');
var ForumThread=require('../../models/forumThread');
var forumUserService=require('../../service/forumUserService');
var forumThreadService=require('../../service/forumThreadService');
var httpService=require('../../service/httpService');
......@@ -37,27 +38,36 @@ function compareTime(now, begin_time, end_time) {
}
}
var updateUser = function(uid,nickName,icon){
var entity = {},
var updateUser = function(user,entity){
var updateObj = {},
isUpdate = false;
if(nickName){
entity.nickName = nickName;
if(user && entity && user._id){
if(entity.nickName && user.nickName !== entity.nickName){
updateObj.nickName = entity.nickName;
isUpdate = true;
}
if(icon){
entity.icon = icon;
if(entity.icon && user.icon !== entity.icon){
updateObj.icon = entity.icon;
isUpdate = true;
}
if(entity.mid && !user.mid){
updateObj.mid = entity.mid;
isUpdate = true;
}
if(isUpdate){
forumUserService.updateUserById(uid,entity,function(err,result){
forumUserService.updateUserById(user._id,updateObj,function(err,result){
if(err){
console.log(err);
}else{
console.log('用户:'+uid+'---------更新成功');
console.log(entity);
console.log('用户:'+user._id+'---------更新成功');
console.log(updateObj);
}
});
}
}
}
//验证用户身份
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){
forumUserService.getUserByUid(entity.uid,function(err,doc){
if(err){
console.log(err);
console.error(err);
res.json('error');
}else{
if(doc){
if(entity.nickName || entity.icon){
if(doc.nickName !== entity.nickName || doc.icon !== entity.icon){
updateUser(doc._id,entity.nickName,entity.icon);
}
}
updateUser(doc,entity);
req.session.mobileForumUser={
userId:doc._id,
openId:doc.uid
openId:doc.uid,
mid:doc.mid || entity.mid
};
res.json({result:'success',userId:doc._id});
}else{
forumUserService.createUser(entity,function(err,doc){
if(err){
console.log(err);
console.error(err);
res.json('error');
}else{
req.session.mobileForumUser={
userId:doc._id,
openId:doc.uid
openId:doc.uid,
mid:doc.mid
};
res.json({result:'success',userId:doc._id});
}
......@@ -196,4 +204,3 @@ router.post('/user/checkLimitAction', function(req, res, next) {
res.json(returnObject);
}
});
......@@ -51,6 +51,9 @@ router.post('/member/searchMembers', function(req, res, next) {
$regex: search.nickName
};
}
if(search.mid){
q.mid = search.mid;
}
if (search.displayName) {
q.displayName = {
$regex: search.displayName
......
This diff is collapsed.
......@@ -157,7 +157,7 @@ router.get('/info/:fid/threads', function(req, res, next) {
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
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 conditions = {
ent_code: ent_code,
......@@ -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) {
console.error(err);
res.json(returnCode.BUSY);
......@@ -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) {
console.error(err);
res.json(returnCode.BUSY);
......@@ -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) {
console.error(err);
res.json(returnCode.BUSY);
......
This diff is collapsed.
......@@ -113,6 +113,11 @@ var ForumThreadSchema = new Schema({
require: true,
default: 0
},
quality:{//质量 高:100,中:50,低:0
type: Number,
require: true,
default: 100
},
created: {
type: Date,
required: true,
......
......@@ -15,6 +15,12 @@ var ForumUserSchema = new Schema({
unique:true,
require: true
},
mid: { //会员ID,这里直接存放会员ID
type: Number,
index: true,
unique:true,
require: false
},
nickName: { //用户昵称,这里直接存放用户的nickname
type: String
},
......
'use strict';
var mongoose = require('mongoose');
var ForumComment = mongoose.model('ForumComment');
var forumUserService = require('./forumUserService');
var async = require('async');
//创建评论
......@@ -181,7 +181,7 @@ function populateComment(doc, callback) {
status: 1
}).populate({
path: 'from to',
select: 'uid nickName icon'
select: 'uid nickName icon mid'
}).exec(function(err, c) {
if (err) {
console.error(err);
......@@ -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) {
ForumComment.findOne({
comments: {
......@@ -491,7 +536,7 @@ exports.getAllCommentByThread = function(conditions, callback) {
select: 'from'
}).populate({
path: 'from to',
select: '_id uid nickName icon'
select: '_id uid nickName icon mid'
}).sort('-created').exec(function(err, docs) {
if (err) {
console.error(err);
......
......@@ -17,7 +17,7 @@ exports.findThreadByPage = function(pageNo, pageSize, q, callback) {
}).then(function(cont, count) {
var skip = (pageNo - 1) * pageSize;
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);
});
......@@ -607,7 +607,7 @@ function getSubThreads(doc, sort, callback) {
console.error(err);
callback(err, null);
} else {
var sortBy = '-top -created';
var sortBy = '-top -quality -created';
if (sort) {
sortBy = sort;
}
......@@ -638,7 +638,7 @@ function getAllThreadByFidHelp(conditions, pageNo, pageSize, sort, callback) {
} else {
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
var sortBy = '-topTime -tag_topTime -created';
var sortBy = '-topTime -tag_topTime -quality -created';
if (sort) {
sortBy = sort;
}
......@@ -706,7 +706,7 @@ function getAllThreadByFidHelpNoLimit(conditions, pageNo, pageSize, sort, callba
} else {
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
var sortBy = '-topTime -tag_topTime -created';
var sortBy = '-topTime -tag_topTime -quality -created';
if (sort) {
sortBy = sort;
}
......@@ -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 = {
"$in" : user_ids
};
......@@ -1023,7 +1023,7 @@ function getAllThreadByFidHelpAndNickName(user_ids, conditions, pageNo, pageSize
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
var sortBy = '-topTime -tag_topTime -created';
var sortBy = '-topTime -tag_topTime -quality -created';
if (sort) {
sortBy = sort;
}
......@@ -1067,9 +1067,39 @@ exports.getAllThreadByFidAndNickName = function(nickName, conditions, pageNo, pa
for(var i in users){
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){
});
};
//根据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){
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