fix
This commit is contained in:
@@ -7,7 +7,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
|
||||
from core.apps.orders.tasks.order_item import send_orders_to_tg_bot, send_message_order_user
|
||||
|
||||
|
||||
class OrderItemCreateSerializer(serializers.Serializer):
|
||||
@@ -59,6 +59,10 @@ class OrderCreateSerializer(serializers.Serializer):
|
||||
quantity=item.get('quantity'),
|
||||
username=order.user.username,
|
||||
)
|
||||
send_message_order_user.delay(
|
||||
chat_id=order.user.tg_id,
|
||||
order_id=order.id,
|
||||
)
|
||||
|
||||
OrderItem.objects.bulk_create(items)
|
||||
order.total_price = total_price
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import requests
|
||||
from celery import shared_task
|
||||
|
||||
from core.apps.orders.models import OrderItem
|
||||
from core.apps.orders.models import OrderItem, Order
|
||||
from config.env import env
|
||||
|
||||
token = env.str("BOT_TOKEN")
|
||||
@@ -22,3 +22,31 @@ def send_orders_to_tg_bot(chat_id, product_name, quantity, username):
|
||||
response = requests.post(url, data=payload)
|
||||
return response.json()
|
||||
|
||||
|
||||
@shared_task
|
||||
def send_message_order_user(chat_id, order_id):
|
||||
url = f"https://api.telegram.org/bot{token}/sendMessage"
|
||||
order = Order.objects.get(id=order_id)
|
||||
result = []
|
||||
for order_item in order.items.all():
|
||||
product_name = order_item.product.name
|
||||
unit = order_item.product.unity.name
|
||||
quantity = order_item.quantity
|
||||
price = order_item.price
|
||||
|
||||
result.append(f"🔹 {product_name} {unit} ({quantity} x {price:.2f})")
|
||||
|
||||
message = (
|
||||
f'⚡️ Оформлен новый заказ\n\n'
|
||||
|
||||
f"Сумма заказа №{order.order_number}: {order.total_price}\n\n"
|
||||
|
||||
f"{result}"
|
||||
)
|
||||
|
||||
payload = {
|
||||
"chat_id": chat_id,
|
||||
"text": message
|
||||
}
|
||||
response = requests.post(url, data=payload)
|
||||
return response.json()
|
||||
|
||||
Reference in New Issue
Block a user