Beispiel #1
0
def hot_coupon(skip, limit, token=None):
    req = top.api.TbkDgItemCouponGetRequest(domain, port)
    req.set_app_info(top.appinfo(appkey, secret))

    req.adzone_id = adzone_id
    req.page_no = int(skip // limit) + 1
    req.page_size = limit
    try:
        resp = req.getResponse()
        data = []
        for result in resp['tbk_dg_item_coupon_get_response']['results'][
                'tbk_coupon']:
            nums = re.findall('[0-9\.]{1,}', result['coupon_info'])
            if len(nums) == 2:
                result['coupon_start_fee'] = int(nums[0])
                result['coupon_amount'] = int(nums[1])
            elif len(nums) == 1:
                result['coupon_start_fee'] = 0
                result['coupon_amount'] = int(nums[0])
            else:
                result['coupon_start_fee'] = 0
                result['coupon_amount'] = 0
            data.append(result)
        return item_list_format(data, token)
    except TopException as e:
        print(e)
        return []
Beispiel #2
0
def get_recommend(token=None):
    results = tb_zone.find({'position': {"$ne": '0'}})
    data = []
    for result in results:
        temp = {'name': result['name'], 'id': str(result['_id']), 'material_id': result['material_id'], 'items': []}
        key = 'zhuzhu_' + str(result['_id']) + '_list'
        temp['items'] = item_list_format(r.lrange(key, 0, 9), token, True)
        data.append(temp)

    return data
Beispiel #3
0
def item_query(iids, token=None):
    req = top.api.TbkItemInfoGetRequest(domain, port)
    req.set_app_info(top.appinfo(appkey, secret))

    req.num_iids = ','.join(iids)
    req.platform = 1
    # req.ip = "47.75.61.229"
    try:
        resp = req.getResponse()
        return item_list_format(
            resp['tbk_item_info_get_response']['results']['n_tbk_item'], token)
    except TopException as e:
        print(e)
        return []
Beispiel #4
0
def getFavoriteList(token, skip=None, limit=None):
    uid = getUserId(token)
    u_info = tb_user.find_one({'_id': ObjectId(uid)})
    item_ids = u_info.get('favorite', [])
    if item_ids and len(item_ids) > 0:
        if skip is not None and limit is not None:
            item_ids = item_ids[skip:limit]
        items = tbk.item_query(item_ids, token)
        data = []
        for result in items:
            nums = re.findall('[0-9\.]{1,}', result.get('coupon_info', ''))
            if len(nums) == 2:
                result['coupon_start_fee'] = int(nums[0])
                result['coupon_amount'] = int(nums[1])
            elif len(nums) == 1:
                result['coupon_start_fee'] = 0
                result['coupon_amount'] = int(nums[0])
            else:
                result['coupon_start_fee'] = 0
                result['coupon_amount'] = 0
            data.append(result)
        return item_list_format(data, token)
    else:
        return []
Beispiel #5
0
def search_list(skip,
                limit,
                key,
                material_id=None,
                ip=None,
                sort='',
                imei=None,
                token=None):
    req = top.api.TbkDgMaterialOptionalRequest(domain, port)
    req.set_app_info(top.appinfo(appkey, secret))

    if sort == 'all':  # 综合搜索
        req.start_dsr = 10  # 商品筛选(特定媒体支持)-店铺dsr评分。筛选大于等于当前设置的店铺dsr评分的商品0-50000之间
    page = int(skip // limit) + 1
    req.page_size = limit
    req.page_no = page
    req.platform = 1
    # req.end_tk_rate = 1234 #商品筛选-淘客佣金比率上限。如:1234表示12.34%
    # req.start_tk_rate = 1234 #商品筛选-淘客佣金比率下限。如:1234表示12.34%
    # req.end_price = 10 #商品筛选-折扣价范围上限。单位:元
    # req.start_price = 10 #商品筛选-折扣价范围下限。单位:元
    req.is_overseas = 'false'  # 商品筛选-是否海外商品。true表示属于海外商品,false或不设置表示不限
    req.is_tmall = 'false'  # 商品筛选-是否天猫商品。true表示属于天猫商品,false或不设置表示不限
    if sort != 'all':
        req.sort = sort  # 排序_des(降序),排序_asc(升序),销量(total_sales),淘客佣金比率(tk_rate), 累计推广量(tk_total_sales),总支出佣金(tk_total_commi),价格(price)
    # req.itemloc = "杭州"  # 商品筛选-所在地
    # req.cat = "16,18"
    req.q = key  # 查询的关键词
    if material_id:
        req.material_id = material_id
    req.has_coupon = 'false'  # 优惠券筛选-是否有优惠券。true表示该商品有优惠券,false或不设置表示不限
    if ip:
        req.ip = ip
    req.adzone_id = adzone_id
    # req.need_free_shipment = 'true' # 包邮
    req.need_prepay = 'true'  # 商品筛选-是否加入消费者保障
    # req.include_pay_rate_30 = 'true'
    # req.include_good_rate = 'true'
    # req.include_rfd_rate = 'true'
    # req.npx_level = 2
    # req.end_ka_tk_rate = 1234
    # req.start_ka_tk_rate = 1234
    if sort == 'all' and imei:
        req.device_encrypt = "MD5"
        req.device_value = hashlib.md5(
            imei.encode(encoding='UTF-8')).hexdigest()
        req.device_type = "IMEI"

    try:
        resp = req.getResponse()
        data = []
        for result in resp['tbk_dg_material_optional_response']['result_list'][
                'map_data']:
            result['commission_rate'] = float(result['commission_rate']) / 100
            if not result.get('click_url'):
                result['click_url'] = result['url']
            data.append(result)
        return item_list_format(data, token)
    except TopException as e:
        print(e)
        return []
Beispiel #6
0
def get_material_list(id, skip, limit, token=None):
    key = 'zhuzhu_' + id + '_list'
    return item_list_format(r.lrange(key, skip, skip + limit - 1), token, True)