Commit 9bcf31a3 authored by strong's avatar strong

Merge commit '4f2e1269'

parents 4e5f38f8 4f2e1269
......@@ -509,3 +509,130 @@ router.get('/user/getUserFavorWithThreadAndInfo', function(req, res, next) {
}
});
});
//查看总经验排行
router.get('/user/exp/topChart', function(req, res, next) {
var userId = user.getMobileUser(req);
var ent_code = req.session.user.ent_code;
forumUserService.getByConditionsSelectyField({
_id:userId
}, 'mid', function(err, doc){
if(err){
console.error(err);
res.json(returnCode.BUSY);
}else if(!doc.mid){
console.error(err);
res.json(returnCode.DATA_NOTEXITS);
}else{
async.parallel([
function(cb) {
user.getMemberExp(ent_code, doc.mid, 3, function(err, entity) {
cb(err, entity);
});
},
function(cb) {
user.getMemberExpTopChart(ent_code, function(err, entity) {
cb(err, entity);
});
}
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {
user:results[0],
list:results[1]
};
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
});
//查看月经验排行
router.get('/user/exp/topMonthChart', function(req, res, next) {
var userId = user.getMobileUser(req);
var ent_code = req.session.user.ent_code;
forumUserService.getByConditionsSelectyField({
_id:userId
}, 'mid', function(err, doc){
if(err){
console.error(err);
res.json(returnCode.BUSY);
}else if(!doc.mid){
console.error(err);
res.json(returnCode.DATA_NOTEXITS);
}else{
async.parallel([
function(cb) {
user.getMemberExp(ent_code, doc.mid, 1, function(err, entity) {
cb(err, entity);
});
},
function(cb) {
user.getMemberExpTopMonthChart(ent_code, function(err, entity) {
cb(err, entity);
});
}
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {
user:results[0],
list:results[1]
};
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
});
//查看周经验排行
router.get('/user/exp/topWeekChart', function(req, res, next) {
var userId = user.getMobileUser(req);
var ent_code = req.session.user.ent_code;
forumUserService.getByConditionsSelectyField({
_id:userId
}, 'mid', function(err, doc){
if(err){
console.error(err);
res.json(returnCode.BUSY);
}else if(!doc.mid){
console.error(err);
res.json(returnCode.DATA_NOTEXITS);
}else{
async.parallel([
function(cb) {
user.getMemberExp(ent_code, doc.mid, 2,function(err, entity) {
cb(err, entity);
});
},
function(cb) {
user.getMemberExpTopWeekChart(ent_code, function(err, entity) {
cb(err, entity);
});
}
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {
user:results[0],
list:results[1]
};
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
});
\ No newline at end of file
......@@ -6,6 +6,7 @@ var ACTION_KEY = {
'post': 'FORUM_THREAD_POST',
'share': 'FORUM_THREAD_SHARE',
'share_timeline': 'FORUM_THREAD_SHARE_TIMELINE',
'share_singlemessage':'FORUM_THREAD_SHARE_SINGLEMESSAGE',
'comment': 'FORUM_THREAD_COMMENT',
'thread_praise': 'FORUM_THREAD_PRAISE',
'comment_praise': 'FORUM_COMMENT_PRAISE',
......@@ -15,14 +16,45 @@ var ACTION_KEY = {
};
var mongoose = require('mongoose'),
moment = require('moment'),
then = require('thenjs');
then = require('thenjs'),
request = require('request'),
config = require('../../config/config'),
_ = require('lodash');
var ForumPVLog = mongoose.model('ForumPVLog'),
ForumUVLog = mongoose.model('ForumUVLog'),
ForumShareLog = mongoose.model('ForumShareLog'),
ForumThread = mongoose.model('ForumThread');
exports.sendRequest = function(ent_code, mid, action, messageid, integral, exp) {
var obj = {
function paramSort(obj){
console.log('积分对象:',obj);
try{
var keys = _.map(obj,function(v,k){
return k;
}).sort();
return _.map(keys,function(n){
return (obj[n] || '').toString();
}).join('');
}catch(e){
console.log('参数排序失败',e);
}
return null;
}
function createSignature(str){
var signature=null;
try{
var Buffer = require("buffer").Buffer;
var buf = new Buffer(str);
var str = buf.toString("binary");
return require("crypto").createHash("md5").update(str).digest("hex");
}catch(e){
console.log('生成参数签名错误',e);
}
return signature;
}
exports.sendRequest = function(ent_code, mid, action, messageid, integral, exp,reason) {
/*var obj = {
tag: 'member',
key: 'forum',
action: ACTION_KEY[action],
......@@ -36,6 +68,25 @@ exports.sendRequest = function(ent_code, mid, action, messageid, integral, exp)
if (err) {
console.error(err);
}
});*/
//使用 rabbitmq 提供的restful接口
var obj = {
action: ACTION_KEY[action],
mid: mid,
entCode: ent_code,
integral: integral || 0,
exp: exp || 0,
reason:reason || ''
};
//将参数排序
obj.signature=createSignature(paramSort(obj));//接口调用参数签名
request.post({
url: config.rest_api + '/v1.0/internal/taskcenter/integral/change',
json: obj
}, function(e, r, body) {
if (e) {
console.log(e)
}
});
};
......
......@@ -3,7 +3,7 @@
var _ = require('lodash');
var request = require('request');
var env = process.env.NODE_ENV;
var API_ADDRESS = 'http://localhost:8080';
var API_ADDRESS = 'http://localhost:8082';
if (env == 'sandbox') {
API_ADDRESS = 'http://rest.wxpai.cn';
} else if (env == 'production') {
......@@ -112,3 +112,69 @@ exports.findMember=function(ent_code, mid, callback){
}
});
}
exports.getMemberExp=function(ent_code,mid,type,callback){
if(!ent_code || !mid){
return callback && callback(null,null);
}
var url = API_ADDRESS + '/v1.0/internal/member/exp/getMemberInfo?mid='+mid+'&entCode='+ent_code+'&type='+type;
request.get({
url: url,
json: {}
}, function(e, r, body) {
if (e) {
console.log(e)
}
return callback && callback(null,(body && body.data) || null);
});
};
exports.getMemberExpTopChart=function(ent_code,callback){
if(!ent_code){
return callback && callback(null,null);
}
var url = API_ADDRESS + '/v1.0/internal/member/exp/all?entCode='+ent_code;
request.get({
url: url,
json: {}
}, function(e, r, body) {
if (e) {
console.log(e)
}
return callback && callback(null,(body && body.data) || null);
});
};
exports.getMemberExpTopMonthChart=function(ent_code,callback){
if(!ent_code){
return callback && callback(null,null);
}
var url = API_ADDRESS + '/v1.0/internal/member/exp/month?entCode='+ent_code;
request.get({
url: url,
json: {}
}, function(e, r, body) {
if (e) {
console.log(e)
}
return callback && callback(null,(body && body.data) || null);
});
};
exports.getMemberExpTopWeekChart=function(ent_code,callback){
if(!ent_code){
return callback && callback(null,null);
}
var url = API_ADDRESS + '/v1.0/internal/member/exp/week?entCode='+ent_code;
request.get({
url: url,
json: {}
}, function(e, r, body) {
if (e) {
console.log(e)
}
return callback && callback(null,(body && body.data) || null);
});
};
\ 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