cshenfu
2024-06-27 58aa6e282bb343503be3cb198948328ea3ed7b79
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
'use strict';
 
//比较日期大小
function getDataCompare(d2) {
    //当前时间
    let d1 = new Date();
 
    //转换为标准时间"2019/12/29 23:59:59"
    d2 = d2.replace(/-/g, "/");
    d2 = new Date(d2);
 
    //如果当前时间大于到期时间
    //valueOf() 函数返回指定对象的原始值,这里返回以毫秒数存储的时间值
    return d1.valueOf() > d2.valueOf()
}
 
module.exports = {
    /**
     * 获取我的会员列表
     * @url client/vip_roles/kh/getMyRoles 前端调用的url参数地址
     * data 请求参数
     * @param {String} params1  参数1
     */
    main: async (event) => {
        let { data = {}, userInfo, util, filterResponse, originalParam } = event;
        let { customUtil, uniID, config, pubFun, vk, db, _ } = util;
        let { uid } = data;
        let res = { code: 0, msg: "" };
        // 业务逻辑开始-----------------------------------------------------------
 
        //获取我的所有权限
        let vip_roles = userInfo.vip_role || { all: [] }
 
        //获取字典数据
        let role_data = await vk.baseDao.findByWhereJson({
            dbName: "dictionary-table",
            whereJson: { dictionary_id: "vip-roles" }
        })
 
        if (!role_data.number) {
            res.data = []
            return res
        }
 
        let my_role_data = []
        //分割处理
        my_role_data = role_data.number.split(',').map(v => {
            let item = v.split('|')
            return {
                value: item[1] || 'error',
                label: item[0] || 'error',
                expired_at: vip_roles[item[1]] || null
            }
        }).filter(v => vip_roles.all.includes(v.value) && (vip_roles[v.value] == 0 || !getDataCompare(
            vip_roles[v.value])))
 
        res.data = my_role_data
        // 业务逻辑结束-----------------------------------------------------------
        return res;
    }
}