Beispiel #1
0
def user_gifts_class():
    """获取用户所有礼物分类 (GET&LOGIN)

    :uri: /gifts/user_gifts_class
    :return: {'gifts': list}
    """
    requ_type = request.values['requ_type']
    user = request.authed_user
    pdict = {}
    for p in Product.get_all_gifts():
        pdict[p.product_id] = p.format()

    uproducts = UserProduct.get_user_products(str(user._id))
    from wanx.base.log import print_log
    print_log('activity/team_vote', '[uproducts]: {0}'.format(uproducts))
    for up in uproducts:
        if up.product_id not in pdict:
            continue
        pdict[up.product_id].update(up.format())

    if requ_type == 'get_pay_gifts':
        pay_gifts = []
        for gift in pdict.values():
            if gift['product_type'] == 3 and gift.get(
                    'is_money', '') and gift.get('num', 0) != 0:
                g = Gift.get_gift_by_product_id(gift['product_id'])
                if g:
                    gift['credit_value'] = float(g.credit_value) / float(100)

                    pay_gifts.append(gift)

        cfg = GiftExchangeCfg.get_gift_config()
        is_exchange_time = GiftExchangeCfg.is_exchange_time()  # 是否在兑换时间内

        total_credit_value = UserProduct.get_current_money(pay_gifts)
        return {
            'gifts': pay_gifts,
            'total_credit_value': total_credit_value,
            'is_exchange_time': is_exchange_time,
            'gifts_config': cfg.format()
        }

    elif requ_type == 'get_gold_gifts':
        gold_gifts = []
        from wanx.base.log import print_log
        print_log('activity/team_vote', '[pdict]: {0}'.format(pdict))
        for gift in pdict.values():
            if gift['product_type'] == 3 and not gift.get(
                    'is_money', '') and gift.get('num', 0) != 0:
                g = Gift.get_gift_by_product_id(gift['product_id'])
                if g:
                    if int(g.gift_id) == 1:
                        gift['credit_value'] = 0
                    else:
                        gift['credit_value'] = g.credit_value

                    gold_gifts.append(gift)

        total_gold_value = UserProduct.get_current_gold(gold_gifts)
        return {'gifts': gold_gifts, 'total_credit_value': total_gold_value}
Beispiel #2
0
def user_gifts():
    """获取用户所有礼物 (GET&LOGIN)

    :uri: /gifts/user_gifts
    :return: {'gifts': list}
    """
    user = request.authed_user
    pdict = {}
    for p in Product.get_all_gifts():
        pdict[p.product_id] = p.format()

    uproducts = UserProduct.get_user_products(str(user._id))
    for up in uproducts:
        if up.product_id not in pdict:
            continue
        pdict[up.product_id].update(up.format())

    return {'gifts': pdict.values()}