예제 #1
0
def step_impl(context, corp_user, rule_name):
	rule_id = get_point_rule_id_by_name(rule_name)

	resp = context.client.delete('ginger-crm:point.point_rule', {
		'id': rule_id
	})
	bdd_util.assert_api_call(resp, context)
예제 #2
0
def step_impl(context, corp_user, product_name):
    point_product_id = get_point_product_id_by_name(product_name)

    update_data = {'id': point_product_id}
    input_data = json.loads(context.text)
    if 'point_price' in input_data:
        update_data['point_price'] = input_data['point_price'] * 100
    if 'money_price' in input_data:
        update_data['money_price'] = input_data['money_price'] * 100
    if 'buy_limit' in input_data:
        update_data['buy_limit'] = input_data['buy_limit']
    if 'start_time' in input_data:
        update_data['start_time'] = bdd_util.get_date(input_data['start_time'])
    if 'end_time' in input_data:
        update_data['end_time'] = bdd_util.get_date(input_data['end_time'])

    resp = context.client.post('ginger-promotion:point.product', update_data)
    bdd_util.assert_api_call(resp, context)
예제 #3
0
def step_impl(context, corp_user, product_name):
    point_product_id = get_point_product_id_by_name(product_name)

    resp = context.client.delete('ginger-promotion:point.product',
                                 {'id': point_product_id})
    bdd_util.assert_api_call(resp, context)
예제 #4
0
def step_impl(context, corp_user, product_name):
    point_product_id = get_point_product_id_by_name(product_name)

    resp = context.client.delete('ginger-promotion:point.disabled_products',
                                 {'ids': json.dumps([point_product_id])})
    bdd_util.assert_api_call(resp, context)
예제 #5
0
def step_impl(context, app_user, corpuser_name):
    input_data = json.loads(context.text)

    product_datas = []
    for product_data in input_data['products']:
        resp = context.client.get(
            "ginger-product:product.corp_products", {
                "corp_id": context.corp['id'],
                "__f-name-contain": product_data['name']
            })
        bdd_util.assert_api_call_success(resp)

        product = resp.data['products'][0]
        sku_name = product_data.get('sku', 'standard')
        if sku_name != 'standard':
            sku_name = product_steps.get_sku_name_from_display_name(sku_name)
            for sku in product['skus']:
                if sku['name'] == sku_name:
                    sku_price = sku['price']
        else:
            sku_price = product['skus'][0]['price']

        product_datas.append({
            'id': product['id'],
            'count': product_data['count'],
            'sku': sku_name,
            'price': product_data.get('price', sku_price)
        })

    # #收货地址
    ship_info = {
        'phone':
        input_data.get('ship_tel', '13811223344'),
        'address':
        input_data.get('ship_address', u'103房'),
        'name':
        input_data.get('ship_name', u'默认姓名'),
        'area_code':
        ship_info_steps.get_area_code_by_name(
            context.client, input_data.get('ship_area', '江苏省 南京市 秦淮区'))
    }

    #imoney
    imoney_usages = []
    if 'imoneys' in input_data:
        imoney_usages = input_data['imoneys']
    for imoney_usage in imoney_usages:
        imoney_usage['count'] = int(round(imoney_usage['count'] * 100, 0))

    #message
    message = input_data.get('message', '')

    # if input_data.get('extra_data'):
    # 	if input_data['extra_data'].get('relevant_user'):
    # 		input_data['extra_data']["relevant_user_id"] = get_member_id_by_username(input_data['extra_data']['relevant_user'])
    # 		del input_data['extra_data']['relevant_user']

    data = {
        'products': json.dumps(product_datas),
        'ship_info': json.dumps(ship_info),
        'message': message,
        'imoney_usages': json.dumps(imoney_usages),
        'biz_code': 'bdd'
    }

    #coupon
    if 'coupon' in input_data:
        data['coupon_usage'] = json.dumps({
            "code": input_data['coupon'],
            "money": 0
        })

    if 'extra_data' in input_data:
        data['extra_data'] = input_data['extra_data']

    if 'order_type' in input_data:
        data['custom_order_type'] = input_data['order_type']

    if 'salesman_id' in input_data:
        data['salesman_id'] = input_data['salesman_id']

    url = 'ginger-order:order.order'
    response = context.client.put(url, data)
    bdd_util.assert_api_call(response, context)
    context.response = response