Пример #1
0
def get_rst_bankcard_list(rst_id):
    arg_spec = {
        'status': Arg(int, allow_missing=True),
        'type_code': Arg(int, allow_missing=True),
        'page_size': Arg(int, allow_missing=True),
        'page_no': Arg(int, allow_missing=True)
    }
    args = args_parser.parse(arg_spec)
    status = args.get('status')
    type_code = args.get('type_code')
    page_no, page_size = get_paging_params()
    offset = (page_no - 1) * page_size
    limit = page_size
    rst_bankcard_list = bankcard_base \
        .query_bankcard(rst_id, status=status, limit=limit, offset=offset)
    rst_bankcard_list_new = [model2dict(m) for m in rst_bankcard_list]
    return {
        'bankcard_list':
        rst_bankcard_list_new,
        'total_num':
        bankcard_base.get_bankcard_count([
            rst_id,
        ],
                                         status=status,
                                         type_code=type_code)
    }
Пример #2
0
def query_by_area():
    arg_spec = {'city_id': Arg(int), '_area': Arg(list)}
    args = args_parser.parse(arg_spec)

    points = []
    for point_dic in args.get('_area', []):
        points.append('{lng},{lat}'.format(**point_dic))
    return transaction_svc.get_order_trs_by_area(args['city_id'], points)
Пример #3
0
def query():
    args_spec = {
        'query': Arg(unicode, default='{}'),
        'struct': Arg(unicode, default='{}'),
    }
    args = args_parser.parse(args_spec)
    result = order_query_helper.ess_search2(**args)
    return result
Пример #4
0
def olpay_income_records(restaurant_id):
    args = args_parser.parse({
        'type': Arg(int, required=False),
        'begin_date': Arg(str, required=False),
        'end_date': Arg(str, required=False),
    })
    records = restaurant_manager.get_olpay_records(restaurant_id, **args)
    return {'records': records}
Пример #5
0
def edit_username_mobile():
    args_spec = {
        'user_id':Arg(int),
        'username':Arg(unicode),
        'mobile':Arg(unicode),
    }
    args = args_parser.parse(args_spec)
    chaos_base.edit_username_mobile(**args)
    return '{"success": true}'
Пример #6
0
def get():
    args = args_parser.parse({
        'restaurant_id': Arg(int, allow_missing=True),
        'is_premium': Arg(int, allow_missing=True),
        'order_mode': Arg(int, allow_missing=True),
        'is_valid': Arg(int, allow_missing=True),
    })
    result, total_num = get_notifications(args)
    return {'notifications': result, 'total_num': total_num}
Пример #7
0
def balance_change(restaurant_id):
    args = args_parser.parse({
        'trade_type': Arg(int, required=False),
        'begin_date': Arg(str, required=False),
        'end_date': Arg(str, required=False),
    })
    records, total_num = restaurant_manager.get_balance_change(
        restaurant_id, **args)
    return {'records': records, 'total_num': total_num}
Пример #8
0
def put():
    args = args_parser.parse({
        'restaurant_ids': Arg([], allow_missing=False),
        'notice_enabled': Arg(int, allow_missing=True),
        'in_charge': Arg(int, allow_missing=True),
    })
    args['restaurant_ids'] = [int(r) for r in args['restaurant_ids']]
    set_notification(**args)
    return ''
Пример #9
0
def put(city_id):
    arg_spec = {
        'date_from': Arg(str, required=True),
        'date_end': Arg(str, required=True),
    }
    args = args_parser.parse(arg_spec)
    return trs_query_cfg_service.add_or_update(city_id,
                                               strptime_to_date(args['date_from']),
                                               strptime_to_date(args['date_end']))
Пример #10
0
def withdraw_records(restaurant_id):
    args = args_parser.parse({
        'status': Arg(int, required=False),
        'begin_date': Arg(str, required=False),
        'end_date': Arg(str, required=False),
    })
    records, total_num = restaurant_manager.get_withdraw_records(
        restaurant_id, **args)
    return {'records': records, 'total_num': total_num}
Пример #11
0
def get_list():
    user_args = {
        'status': Arg(int),
        'order_id': Arg(int),
        'pay_platform': Arg(int),
    }
    page_no, page_size = get_paging_params()
    args = args_parser.parse(user_args)
    args.update(offset=(page_no - 1) * page_size, limit=page_size)
    result = refund_service.query(**args)
    return result
Пример #12
0
def update(coupon_id):
    args_spec = {
        'deadline': Arg(str, allow_missing=True),
        'remain': Arg(int, allow_missing=True),
    }
    args = args_parser.parse(args_spec)

    return coupon_base.update(
        coupon_id=coupon_id,
        deadline=args.get('deadline'),
        remain=args.get('remain', 0),
    )
Пример #13
0
def set_is_valid():
    args_spec = {
        'zone_id': Arg(int),
        'zone_ids': Arg(default=[]),
        'is_valid': Arg(bool),
    }
    args = args_parser.parse(args_spec)
    zone_id = args['zone_id']
    zone_ids = args['zone_ids']
    if zone_id:
        zone_ids.append(zone_id)
    zone_base.set_is_valid(zone_ids, args['is_valid'])
    return ''
Пример #14
0
def refuse_contract():
    """
    餐厅拒绝签署活动合同
    """
    args_spec = {
        'contract_id': Arg(int),
        'restaurant_id': Arg(int),
    }
    args = args_parser.parse(args_spec)
    with thrift_client('ers') as ers:
        result = ers.refuse_activity_subsidy_contract(args['contract_id'],
                                                      args['restaurant_id'])
    return ''
Пример #15
0
def set_is_valid():
    args_spec = {
        'city_id': Arg(int),
        'city_ids': Arg(default=[]),
        'is_valid': Arg(bool)
    }
    args = args_parser.parse(args_spec)
    city_id = args['city_id']
    city_ids = args['city_ids']
    if city_id:
        city_ids.append(city_id)
    city_base.set_is_valid(city_ids, is_valid=args['is_valid'])
    return ''
Пример #16
0
def set_is_valid():
    args_spec = {
        'district_id': Arg(int),
        'district_ids': Arg(default=[]),
        'is_valid': Arg(bool),
    }
    args = args_parser.parse(args_spec)
    district_id = args['district_id']
    district_ids = args['district_ids']
    if district_id:
        district_ids.append(district_id)
    district_base.set_is_valid(district_ids, is_valid=args['is_valid'])
    return ''
Пример #17
0
def set_is_valid():
    args_spec = {
        'entry_id': Arg(int),
        'entry_ids': Arg(default=[]),
        'is_valid': Arg(bool),
    }
    args = args_parser.parse(args_spec)
    entry_id = args['entry_id']
    entry_ids = args['entry_ids']
    if entry_id:
        entry_ids.append(entry_id)
    entry_base.set_is_valid(entry_ids, args['is_valid'])
    return ''
Пример #18
0
def query():
    args_spec = {
        'sn': Arg(str),
        'batch_sn': Arg(str),
    }
    args = args_parser.parse(args_spec)
    page_no, page_size = get_paging_params()
    offset = (page_no - 1) * page_size
    limit = page_size

    return coupon_base.query(sn=args['sn'],
                             batch_sn=args['batch_sn'],
                             offset=offset,
                             limit=limit)
Пример #19
0
def quit_restaurant_activity():
    """
    # deprecate
    退出餐厅活动(即设置餐厅活动为未设置状态)
    """
    args_spec = {
        'restaurant_id': Arg(),
        'activity_id': Arg(),
    }
    args = args_parser.parse(args_spec)
    restaurant_id = args['restaurant_id']
    activity_id = args['activity_id']
    with thrift_client('ers') as ers:
        result = ers.quit_restaurant_activity(restaurant_id, activity_id)
    return ''
Пример #20
0
def query_receive_by_mobile():
    args_spec = {
        'mobile':Arg(int)
    }
    args = args_parser.parse(args_spec)
    result = sms_base.query_receive_by_mobile(args['mobile'])
    return result
Пример #21
0
def get_alipay_url():
    args_spec = {
        'batch_id': Arg(int),
    }
    batch_id = args_parser.parse(args_spec)['batch_id']
    url_info = get_alipay_html(batch_id)
    return {'url': url_info.url, 'form_data': url_info.form_data}
Пример #22
0
def get_user_by_mobile():
    args = {
        'mobile':Arg(),
    }
    arg_spec = args_parser.parse(args)
    user = user_base.get_by_mobile(arg_spec['mobile'])
    return user or {}
Пример #23
0
def is_username_available():
    args = {
        'username':Arg(),
    }
    args_spec = args_parser.parse(args)
    available = user_base.is_username_available(args_spec['username'])
    return {'available':available}
Пример #24
0
def apply_for_complex_activity_subsidy_contract():
    """
    申请参加活动.会生成一份活动对应的合同等待同意
    """
    #todo 权限效验 current_user.id
    args_spec = {
        'restaurant_id': Arg(int),
        'activity_id': Arg(int),
        'activity_category_id': Arg(int),
        'subsidy': Arg(str),
    }
    args = args_parser.parse(args_spec)
    with thrift_client('ers') as ers:
        ers.apply_for_complex_activity_subsidy_contract(
            args['restaurant_id'], args['activity_id'],
            args['activity_category_id'], args['subsidy'], current_user.id)
    return ''
Пример #25
0
def export():
    args_spec = {
        'query': Arg(unicode, default='{}'),
        'struct': Arg(unicode, default='{}'),
    }
    args = args_parser.parse(args_spec)
    result = order_query_helper.ess_search2(**args)

    orders = result['objects']

    head_line = [
        u"订单号",
        u"订单时间",
        u"用户名",
        u"餐厅名称",
        u"餐厅id",
        # u"订餐电话",
        u"地址",
        u"备注",
        u"订餐内容(菜单)",
        u"总价",
        u"ip",
    ]
    lines = []
    for order in orders:
        with thrift_client('eos') as eos:
            _o = eos.get(int(order['order_id']))
        line_list = [
            order['order_id'],
            order['active_at'],
            order['user_name'],
            order['restaurant_name'],
            unicode(order['restaurant_id']),
            # order['phone'][0],
            order['address'],
            order['description'],
            order['content_text'],
            unicode(order['total']),
            _o.ip
        ]
        line_list = [x.replace('\n', '') for x in line_list]
        lines.append(line_list)

    data = tablib.Dataset(*lines, headers=head_line)

    return make_excel_res(data.xls)
Пример #26
0
def gets():
    arg_spec = {
        'city_id': Arg(int, allow_missing=True)
    }
    args = args_parser.parse(arg_spec)

    offset, limit = get_paging_params(db_style=True)
    return trs_query_cfg_service.gets(city_id=args.get('city_id'), offset=offset, limit=limit)
Пример #27
0
def olpay_income_details(restaurant_id, date):
    args = args_parser.parse({
        'status': Arg(int, required=False),
    })
    records, total_num = restaurant_manager.get_olpay_detail(restaurant_id,
                                                             date=date,
                                                             **args)
    return {'records': records, 'total_num': total_num}
Пример #28
0
def available_food_activity():
    """
    获取当前可以设置的食物活动
    """
    # ...这个接口对应的zeus接口歧义太锤子了...
    args_spec = {
        'city_id': Arg(int, default=None),
        'city_ids': Arg(default=[]),
        'restaurant_id': Arg(int, default=None),
        'restaurant_ids': Arg(default=[]),
    }
    args = args_parser.parse(args_spec)
    city_id = args['city_id']
    city_ids = args['city_ids']
    if city_id:
        city_ids.append(city_id)
    restaurant_id = args['restaurant_id']
    restaurant_ids = args['restaurant_ids']
    if restaurant_id:
        restaurant_ids.append(restaurant_id)
    # attention,这里接口跟zeus的略不一致.
    if restaurant_id and not city_id:
        with thrift_client('ers') as ers:
            restaurant = ers.get(restaurant_id)
            city_id = restaurant.city_id
            if city_id not in city_ids:
                city_ids.append(city_id)
    #
    now_str = str(datetime.datetime.now()).split()[0]
    results = {}
    with thrift_client('ers') as ers:
        for x in range(0, 8):
            query = thirdparty_svc.ers.TFoodActivityQuery()
            query.city_ids = city_ids
            query.weekday = [
                x,
            ]
            # query.begin_date = now_str
            query.end_date = now_str
            query.is_valid = True
            result = ers.query_food_activity(query)
            for activity in result:
                results[activity.id] = activity
    activities = results.values()
    return activities
Пример #29
0
def retry(pk):
    user_args = {
        'pay_type': Arg(int, required=True),
        'bank_account': Arg(str, required=True),
        'bank_name': Arg(unicode, allow_missing=True),
        'account_type': Arg(int, allow_missing=True),
        'account_holder': Arg(unicode, allow_missing=True),
        'bank_branch': Arg(unicode, allow_missing=True),
        'city': Arg(unicode, allow_missing=True),
    }
    args = args_parser.parse(user_args)
    if args.get('pay_type') == 1:
        result = refund_service.save_bank_account(
            pk=pk,
            admin_id=current_user.id,
            bank_account=args.get('bank_account'),
            bank_name=args.get('bank_name'),
            account_type=args.get('account_type'),
            account_holder=args.get('account_holder'),
            bank_branch=args.get('bank_branch'),
            city=args.get('city')
        )
    else:
        result = refund_service.save_alipay_account(
            pk=pk,
            admin_id=current_user.id,
            bank_account=args.get('bank_account')
        )
    return result
Пример #30
0
def save():
    args_spec = {
        'city_id': Arg(int, required=True),
        'type_code': Arg(int, required=True),
        'area': Arg(dict, required=True),
        'name': Arg(unicode, required=True),
    }
    args = args_parser.parse(args_spec)

    if not city_permission(args.get('city_id')):
        raise_auth_exc(AUTH_FAILED_ERROR)

    _check_region_type(args.get('type_code'))
    _check_region_json(args.get('area'))

    args.update(area=json.dumps(args['area']))
    result = region_brand.save(**args)
    return result