vip.js
2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
'use strict';
const Promise = require('bluebird');
const co = Promise.coroutine;
const UserData = require('../models/user-data');
const moment = require('moment');
const helpers = global.yoho.helpers;
const index = (req, res, next)=>{
let uid = '8041246';// req.user.uid;
co(function*() {
let vipInfo = yield UserData.getVIPInfoByUid(uid);
let data = vipInfo.data, proportion = '0%';
if (+data.next_need_cost != 0) {
proportion = data.current_year_cost * 100 / data.next_need_cost;
proportion = proportion > 100 ? 100 : proportion;
proportion = proportion + '%';
}
let remainDays = Math.floor((Date.now() - (+data.vip_end_time) * 1000) / 86400);
// let preferences={};
// enjoyPreferences=data.enjoy_preferential;
if (data.enjoy_preferential) {
data.enjoy_preferential = data.enjoy_preferential.map(function(item, inex) {
return {
id: item.id,
favTxt: item.title,
imgType: helpers.https(item.pic),
description: item.description
};
});
}
let vip = {
title: data.current_vip_title,
level: data.current_vip_level,
totalCost: (+data.current_total_cost).toFixed(2),
nextTitle: data.next_vip_title,
nextLevel: data.next_vip_level,
nextCost: data.next_need_cost,
enjoyPreferences: data.enjoy_preferential,
yearCost: data.current_year_cost,
upgradeCost: data.upgrade_need_cost,
proportion: proportion,
reach: moment(data.vip_reach_time * 1000).format('YYYY-MM-DD'),
start: moment(data.vip_start_time * 1000).format('YYYY-MM-DD'),
end: moment(data.vip_end_time * 1000).format('YYYY-MM-DD'),
remainDays: remainDays,
platinum: data.upgrade_need_cost > 0 ? false : true,
isVip: data.current_vip_level > 0 ? true : false
};
res.render('vip', vip);
})().catch(next);
};
module.exports = {
index
};