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
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]
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)
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}