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.orders.models import Order, OrderItem
|
||||||
from core.apps.products.models import Product
|
from core.apps.products.models import Product
|
||||||
from core.apps.products.serializers.product import ProductListSerializer
|
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):
|
class OrderItemCreateSerializer(serializers.Serializer):
|
||||||
@@ -59,6 +59,10 @@ class OrderCreateSerializer(serializers.Serializer):
|
|||||||
quantity=item.get('quantity'),
|
quantity=item.get('quantity'),
|
||||||
username=order.user.username,
|
username=order.user.username,
|
||||||
)
|
)
|
||||||
|
send_message_order_user.delay(
|
||||||
|
chat_id=order.user.tg_id,
|
||||||
|
order_id=order.id,
|
||||||
|
)
|
||||||
|
|
||||||
OrderItem.objects.bulk_create(items)
|
OrderItem.objects.bulk_create(items)
|
||||||
order.total_price = total_price
|
order.total_price = total_price
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import requests
|
import requests
|
||||||
from celery import shared_task
|
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
|
from config.env import env
|
||||||
|
|
||||||
token = env.str("BOT_TOKEN")
|
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)
|
response = requests.post(url, data=payload)
|
||||||
return response.json()
|
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