import requests
from extensions.utils import price_insert_seperator
from setting.models import SiteSetting


def send(param):
    response = requests.post('https://ippanel.com/api/select', json=param)
    if response.status_code != 200:
        return 'failed'
    return 'sent'


def send_notification_per_product(sellers, car, product):
    setting = SiteSetting.objects.get()
    for seller in sellers:
        param = {
            'op': 'pattern',
            'user': setting.sms_panel_username,
            'pass': setting.sms_panel_password,
            'fromNum': '3000505',
            'toNum': seller,
            'patternCode': 'cdhtytzaehs64kf',
            'inputData': [
                {
                    'product': product,
                    'car': car
                }
            ]
        }
        send(param)


def send_notification(seller_products, car):
    setting = SiteSetting.objects.get()
    for mobile, products in seller_products.items():
        param = {
            'op': 'pattern',
            'user': setting.sms_panel_username,
            'pass': setting.sms_panel_password,
            'fromNum': '3000505',
            'toNum': mobile,
            'patternCode': 'xabbx3d061po6qd',
            'inputData': [
                {
                    'product_count': len(products),
                    'car': car
                }
            ]
        }
        send(param)


def send_notification_to_winner(seller, car, product, price):
    price = price_insert_seperator(price)
    setting = SiteSetting.objects.get()
    param = {
        'op': 'pattern',
        'user': setting.sms_panel_username,
        'pass': setting.sms_panel_password,
        'fromNum': '3000505',
        'toNum': seller,
        'patternCode': '0h9qotr0z2ttvqu',
        'inputData': [
            {
                'product': product,
                'car': car,
                'price': price
            }
        ]
    }
    send(param)


def send_notification_to_customer(customer):
    setting = SiteSetting.objects.get()
    param = {
        'op': 'pattern',
        'user': setting.sms_panel_username,
        'pass': setting.sms_panel_password,
        'fromNum': '3000505',
        'toNum': customer,
        'patternCode': 'bhftfrtdneieqvg',
        'inputData': []
    }
    send(param)
