Beispiel #1
0
def record_download():
    params = {}
    for key, value in request.args.items():
        if value != '':
            params[key] = value

    params['per_page'] = 10000
    if params.get('created_begin_timestamp'):
        params['created_begin_timestamp'] = int(
            time.mktime(
                time.strptime(params['created_begin_timestamp'],
                              u"%Y年%m月%d日")))
    if params.get('created_end_timestamp'):
        params['created_end_timestamp'] = int(
            time.mktime(
                time.strptime(params['created_end_timestamp'] + u' 23:59:59',
                              u"%Y年%m月%d日 %H:%M:%S")))

    params['per_page'] = 10000
    member_data = Api.get('/admin/wallet/record', params)
    wallet_type = dict(WALLET_TYPE_FLAG)
    type_flag = dict(TYPE_FLAG)

    fields = [[u'创建时间', u'用户编号', u'变化后余额', u'变化量', u'钱包类型', u'来源', u'详情信息']]

    data = [[
        timestamp_to_str(y['created_timestamp']), y['user']['uid'],
        format_currency(y['current_amount']),
        format_currency(y['delta_amount']), wallet_type[y['wallet_type']],
        type_flag[y['type']], y['details']['message']
    ] for y in member_data['items']]

    return excel.make_response_from_array(fields + data,
                                          "xls",
                                          file_name='钱包记录')
Beispiel #2
0
def withdraw_download():
    params = {}
    for key, value in request.args.items():
        if value != '':
            params[key] = value

    params['per_page'] = 10000
    if params.get('created_begin_timestamp'):
        params['created_begin_timestamp'] = int(
            time.mktime(
                time.strptime(params['created_begin_timestamp'],
                              u"%Y年%m月%d日")))
    if params.get('created_end_timestamp'):
        params['created_end_timestamp'] = int(
            time.mktime(
                time.strptime(params['created_end_timestamp'] + u' 23:59:59',
                              u"%Y年%m月%d日 %H:%M:%S")))

    params['per_page'] = 10000
    member_data = Api.get('/admin/withdraw', params)
    status = dict(STATUS_FLAG)
    fields = [[u'时间', u'用户编号', u'提现数量', u'手续费', u'提现地址', u'交易哈希', u'状态']]

    data = [[
        timestamp_to_str(y['created_timestamp']), y['user']['uid'],
        format_currency(y['amount']),
        format_currency(y['fee']), y['address'], y['txid'], status[y['status']]
    ] for y in member_data['items']]

    return excel.make_response_from_array(fields + data, "xls", file_name='提现')
Beispiel #3
0
def data_download():
    params = {}
    for key, value in request.args.items():
        if value != '':
            params[key] = value

    params['per_page'] = 10000
    if params.get('created_begin_timestamp'):
        params['created_begin_timestamp'] = int(
            time.mktime(
                time.strptime(params['created_begin_timestamp'],
                              u"%Y年%m月%d日")))
    if params.get('created_end_timestamp'):
        params['created_end_timestamp'] = int(
            time.mktime(
                time.strptime(params['created_end_timestamp'] + u' 23:59:59',
                              u"%Y年%m月%d日 %H:%M:%S")))

    params['per_page'] = 10000
    member_data = Api.get('/admin/member', params)
    lock_status = {1: u'锁定', 0: u'未锁定'}
    fields = [[
        u'昵称', u'手机号', u'编号', u'推荐人', u'安置上线', u'零钱包', u'冷钱包', u'静态收益',
        u'动态收益', u'节点收益', u'总收益', u'银行', u'支行', u'持卡人', u'微信', u'支付宝', u'状态',
        u'注册时间'
    ]]

    data = [[
        y['nickname'], y['mobile'], y['uid'], y['sponsor']['uid'],
        y['placement']['uid'],
        format_currency(y['static_coin']),
        format_currency(y['frozen_coin']),
        format_currency(y['static_profit']),
        format_currency(y['dynamic_profit']),
        format_currency(y['node_profit']),
        format_currency(y['profit']), y['bank'], y['branch'], y['card_holder'],
        y['wechat'], y['alipay'], lock_status[y['locked']],
        timestamp_to_str(y['created_timestamp'])
    ] for y in member_data['items']]

    return excel.make_response_from_array(fields + data, "xls", file_name='会员')
Beispiel #4
0
def analyze():
    filter_form = FilterForm()
    params = filter_params(filter_form)
    analysis_data = Api.get('/admin/wallet/day/statistics', params)

    data = [[
        k,
        format_currency(v.get('recharge', '0')),
        format_currency(v.get('deduction', '0')),
        format_currency(v.get('static_profit', '0')),
        format_currency(v.get('dynamic_profit', '0')),
        format_currency(v.get('node_profit', '0')),
        format_currency(v.get('free_coin', '0')),
        format_currency(v.get('transfer', '0')),
        format_currency(v.get('withdraw', '0')),
        format_currency(v.get('block_recharge', '0')),
        format_currency(v.get('buy_product', '0')),
        format_currency(v.get('reinvestment', '0')),
        format_currency(v.get('buy_order', '0')),
        format_currency(v.get('sell_order', '0')),
    ] for k, v in analysis_data.items()]
    day_data = sorted(data, key=lambda x: x[0])

    recharge = sum([decimal.Decimal(x[1]) for x in data])
    deduction = sum([decimal.Decimal(x[2]) for x in data])
    static_profit = sum([decimal.Decimal(x[3]) for x in data])
    dynamic_profit = sum([decimal.Decimal(x[4]) for x in data])
    node_profit = sum([decimal.Decimal(x[5]) for x in data])
    free_coin = sum([decimal.Decimal(x[6]) for x in data])
    transfer = sum([decimal.Decimal(x[7]) for x in data])
    withdraw = sum([decimal.Decimal(x[8]) for x in data])
    block_recharge = sum([decimal.Decimal(x[9]) for x in data])
    buy_product = sum([decimal.Decimal(x[10]) for x in data])
    reinvestment = sum([decimal.Decimal(x[11]) for x in data])
    buy_order = sum([decimal.Decimal(x[12]) for x in data])
    sell_order = sum([decimal.Decimal(x[13]) for x in data])

    data = {
        'recharge': format_currency(recharge),
        'deduction': format_currency(deduction),
        'static_profit': format_currency(static_profit),
        'dynamic_profit': format_currency(dynamic_profit),
        'node_profit': format_currency(node_profit),
        'free_coin': format_currency(free_coin),
        'transfer': format_currency(transfer),
        'withdraw': format_currency(withdraw),
        'block_recharge': format_currency(block_recharge),
        'buy_product': format_currency(buy_product),
        'reinvestment': format_currency(reinvestment),
        'buy_order': format_currency(buy_order),
        'sell_order': format_currency(sell_order),
    }

    return render_template('wallet/analyze.html',
                           filter_form=filter_form,
                           day_data=day_data,
                           data=data)
Beispiel #5
0
def download():
    filter_form = FilterForm()
    params = filter_params(filter_form)
    analysis_data = Api.get('/admin/wallet/day/statistics', params)

    fields = [[
        u'时间', u'系统充值', u'系统扣减', u'静态收益', u'动态收益', u'节点收益', u'冻结释放', u'转账',
        u'提币', u'区块充值', u'购买商品', u'复投', u'交易(买单)', u'交易(卖单)'
    ]]

    data = [[
        k,
        format_currency(v.get('recharge', '0')),
        format_currency(v.get('deduction', '0')),
        format_currency(v.get('static_profit', '0')),
        format_currency(v.get('dynamic_profit', '0')),
        format_currency(v.get('node_profit', '0')),
        format_currency(v.get('free_coin', '0')),
        format_currency(v.get('transfer', '0')),
        format_currency(v.get('withdraw', '0')),
        format_currency(v.get('block_recharge', '0')),
        format_currency(v.get('buy_product', '0')),
        format_currency(v.get('reinvestment', '0')),
        format_currency(v.get('buy_order', '0')),
        format_currency(v.get('sell_order', '0')),
    ] for k, v in analysis_data.items()]
    day_data = sorted(data, key=lambda x: x[0])

    recharge = sum([decimal.Decimal(x[1]) for x in data])
    deduction = sum([decimal.Decimal(x[2]) for x in data])
    static_profit = sum([decimal.Decimal(x[3]) for x in data])
    dynamic_profit = sum([decimal.Decimal(x[4]) for x in data])
    node_profit = sum([decimal.Decimal(x[5]) for x in data])
    free_coin = sum([decimal.Decimal(x[6]) for x in data])
    transfer = sum([decimal.Decimal(x[7]) for x in data])
    withdraw = sum([decimal.Decimal(x[8]) for x in data])
    block_recharge = sum([decimal.Decimal(x[9]) for x in data])
    buy_product = sum([decimal.Decimal(x[10]) for x in data])
    reinvestment = sum([decimal.Decimal(x[11]) for x in data])
    buy_order = sum([decimal.Decimal(x[12]) for x in data])
    sell_order = sum([decimal.Decimal(x[13]) for x in data])

    total = [[
        u'合计',
        format_currency(recharge),
        format_currency(deduction),
        format_currency(static_profit),
        format_currency(dynamic_profit),
        format_currency(node_profit),
        format_currency(free_coin),
        format_currency(transfer),
        format_currency(withdraw),
        format_currency(block_recharge),
        format_currency(buy_product),
        format_currency(reinvestment),
        format_currency(buy_order),
        format_currency(sell_order)
    ]]

    return excel.make_response_from_array(fields + day_data + total,
                                          "xls",
                                          file_name='财务统计')