Example #1
0
def query_events(status=None, category_l1=None, user_type=None, priority=None,
                 source=None, not_handler_id=None, handler_id=None,
                 is_to_compensate=None, begin_date=None, end_date=None, phone=None,
                 with_name=True, with_records=True, limit=None, offset=None):

    events = inner.query_events(status, category_l1, user_type, priority, source,
                                not_handler_id, handler_id, is_to_compensate,
                                begin_date, end_date, phone, limit, offset)
    if not events:
        return []

    results = [event.to_dict() for event in events]
    for result in results:
        result['created_at'] = datetime2str(result['created_at'])
        result['updated_at'] = datetime2str(result['updated_at'])

        if with_records:
            # TODO 如遇性能问题可调整为mget
            records = get_records(result['id'], with_name=with_name)
            result['records'] = records

        if with_name:
            # TODO 如遇性能问题可调整为mget
            if result.get('user_id'):
                result['user_name'] = user_service.get_user(
                    result['user_id']).username
            result['creater_name'] = user_service.get_user(
                result['creater_id']).username
            result['handler_name'] = user_service.get_user(
                result['handler_id']).username

    return results
Example #2
0
def get_records(event_id, with_name=True):
    records = inner.get_records(event_id)
    for record in records:
        setattr(record, 'created_at', record.created_at)
        if with_name:
            setattr(record, 'user_name', user_service.get_user(
                record.user_id).username)

    return [r.to_dict() for r in records]
Example #3
0
def query(status=None, order_id=None, pay_platform=None, offset=None, limit=None):
    resource = refund_base.query(status, order_id, pay_platform, offset, limit)
    for item in resource.drawback_process_records:
        # create opt log (only one row at now)
        item.optlog = []
        if item.process_user_id and item.bank_drawback_process_record:
            admin = user_service.get_user(item.process_user_id)
            item.optlog.append({
                'time': datetime.fromtimestamp(int(item.retry_at)).strftime('%Y-%m-%d %H:%M:%S'),
                'admin': admin.username,
                'detail': u'提交打款账号'
            })
        # process_user_id maybe changed in the future, don't expose it to front
        delattr(item, 'process_user_id')
        # complete img url
        if item.bank_drawback_process_record and item.bank_drawback_process_record.image_hash:
            item.image_url = file_utils.get_file_url(
                item.bank_drawback_process_record.image_hash
            )
        # convert order_id as string, that to prevent exceeding the maximum
        # integer in javascript
        item.order_id = str(item.order_id)
    return ttype2dict(resource)
Example #4
0
def gets_by_userid(user_id):
    results = hongbao_base.gets_by_userid(user_id)
    user = user_base.get_user(user_id)
    return {'hongbaos': results, 'user_name': user.username}