This commit is contained in:
behruz-dev
2025-09-04 17:50:07 +05:00
parent ed5e71db25
commit a56a62acfa
9 changed files with 74 additions and 5 deletions

View File

@@ -5,6 +5,7 @@ from rest_framework import serializers
from core.apps.orders.models import Order, OrderItem
from core.apps.products.models import Product
from core.apps.products.serializers.product import ProductListSerializer
from core.apps.orders.tasks.order_item import send_orders_to_tg_bot
class OrderItemCreateSerializer(serializers.Serializer):
@@ -54,6 +55,13 @@ class OrderCreateSerializer(serializers.Serializer):
order=order,
))
total_price += item.get('price')
send_orders_to_tg_bot.delay(
chat_id=item.get('product').tg_id,
product_name=item.get('product').name,
quantity=item.get('quantity'),
price=item.get('price')
)
OrderItem.objects.bulk_create(items)
order.total_price = total_price
order.save()

View File

@@ -1,7 +1,7 @@
from django.db.models.signals import post_save
from django.dispatch import receiver
from core.apps.orders.models import Order
from core.apps.orders.models import Order, OrderItem
@receiver(post_save, sender=Order)

View File

@@ -0,0 +1,23 @@
import requests
from celery import shared_task
from core.apps.orders.models import OrderItem
from config.env import env
token = env.str("BOT_TOKEN")
@shared_task
def send_orders_to_tg_bot(chat_id, product_name, quantity, price):
url = f"https://api.telegram.org/bot{token}/sendMessage"
message = (
f"Mahsulot nomi: {product_name}\n"
f"Mahsulot soni: {quantity}\n"
f"Summa: {price}"
)
payload = {
"chat_id": chat_id,
"text": message
}
response = requests.post(url, data=payload)
return response.json()