| 1234567891011121314151617181920212223242526272829303132333435 |
- module.exports = async (ctx, next) => {
- if (ctx.state.$wxInfo.loginState === 1) {
- const query = ctx.query
- const { mysql } = require('../qcloud')
- let res0 = await mysql('friendsnetwork').where({ fromOpenId: ctx.query.openId }).select('cSessionInfo.user_info', 'cSessionInfo.score').leftJoin('cSessionInfo', 'friendsnetwork.openId', 'cSessionInfo.open_id')
- let res1 = await mysql('friendsnetwork').where({ openId: ctx.query.openId }).select('cSessionInfo.user_info', 'cSessionInfo.score').leftJoin('cSessionInfo', 'friendsnetwork.fromOpenId', 'cSessionInfo.open_id') //注意:friendsnetwork.fromOpenId为undefined的情况
- let res_me = await mysql('cSessionInfo').where({ open_id: ctx.query.openId }).select('user_info','score')
- let res2 = res0.concat(res1.concat(res_me))
- let arr = []
- res2.forEach(function (val, i) {
- let value = JSON.parse(val.user_info)
- value.score = val.score
- arr[i] = value
- })
- function hashRemoveRepeat(arr) { //去重函数
- var hash = {},
- len = arr.length,
- result = [];
- for (var i = 0; i < len; i++) {
- if (!hash[arr[i].openId]) {
- hash[arr[i].openId] = true;
- result.push(arr[i]);
- }
- }
- return result;
- }
- arr = hashRemoveRepeat(arr)
- arr.sort(function (a, b) {
- return b.score - a.score
- })
- ctx.state.data = arr;
- } else {
- ctx.state.code = -1
- }
- }
|