in functions/source/bot_fulfillment/bot_fulfillment.py [0:0]
def process_request(event):
response_type = 'table'
logger.info(
'dispatch userId={}, intentName={}'.format(event['userId'], event['currentIntent']['name']))
intent_name = event['currentIntent']['name']
# Dispatch to your bot's intent handlers
param_formatter = ParamFormatter()
slots = get_lowercase_values(event['currentIntent'])
if 'orders_revenue' in slots and slots['orders_revenue'] == 'order':
slots['orders_revenue'] = 'orders'
event['currentIntent']['slots'] = slots
slots['currentIntent'] = intent_name
response = ''
content, is_valid = validate_slots(event['currentIntent'])
if not is_valid:
response = invalid_slots_response(slots, content, param_formatter)
elif intent_name == intent_prefix+'sales_team_size_office':
response = get_sales_team_size_office(response_type, slots)
elif intent_name == intent_prefix+'sales_metrics_performing':
if slots['product_salesteams'] in sales_list:
if slots['orders_revenue'] is None:
slots['orders_revenue'] = 'revenue'
response = get_top_sales_person(param_formatter, response_type, slots)
else:
response = get_top_products_revenue_orders(param_formatter, response_type, slots)
elif intent_name == intent_prefix+'sales_metrics_general':
revenue_type_array = get_splited_revenue_type(slots)
if len(set(revenue_type_array).intersection(average_revenue_type)) > 0:
response = get_average_revenue_orders(param_formatter, slots)
elif len(set(revenue_type_array).intersection(overall_revenue_type)) > 0:
response = get_total_revenue_orders(param_formatter, slots)
elif intent_name == intent_prefix+'help':
response = get_help()
return response