websocket & change broker decimal to int

This commit is contained in:
2025-07-19 14:33:18 +03:30
parent 533461ba1a
commit c87204c134
10 changed files with 99 additions and 10 deletions

View File

@@ -4,9 +4,5 @@ from apps.product.models import SaleUnit
@shared_task(bind=True)
def task_func(self):
print("sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss")
sale_unit = SaleUnit.objects.get(id=1)
print(sale_unit.unit)
sale_unit.trash = True
sale_unit.save()
print("Task Is Running.....")
return 'Done'

View File

@@ -0,0 +1,30 @@
from channels.generic.websocket import AsyncWebsocketConsumer
from apps.product.models import SaleUnit
from asgiref.sync import sync_to_async
import json
@sync_to_async
def get_unit(unit_id=None):
unit = SaleUnit.objects.get(id=int(unit_id))
return unit
class MyConsumer(AsyncWebsocketConsumer):
async def connect(self):
await self.accept()
await self.send(text_data=json.dumps({"message": "Connected!"}))
async def disconnect(self, close_code):
print("WebSocket disconnected!")
async def receive(self, text_data):
data = json.loads(text_data)
message = data.get("message")
unit = await get_unit(int(message))
print("Received:", message)
# پاسخ به کلاینت
await self.send(text_data=json.dumps({
"message": unit
}))

View File

@@ -0,0 +1,6 @@
from django.urls import re_path
from apps.authentication.websocket import consumer
websocket_urlpatterns = [
re_path(r"ws/somepath/$", consumer.MyConsumer.as_asgi()),
]

View File

@@ -0,0 +1,17 @@
# Generated by Django 5.0 on 2025-07-19 10:59
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('product', '0049_alter_quota_limit_by_organizations'),
]
operations = [
migrations.RemoveField(
model_name='quotabrokervalue',
name='value',
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 5.0 on 2025-07-19 10:59
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('product', '0050_remove_quotabrokervalue_value'),
]
operations = [
migrations.AddField(
model_name='quotabrokervalue',
name='value',
field=models.PositiveBigIntegerField(default=0),
),
]

View File

@@ -450,7 +450,7 @@ class QuotaBrokerValue(BaseModel):
on_delete=models.CASCADE,
related_name='values'
)
value = models.DecimalField(max_digits=12, decimal_places=2)
value = models.PositiveBigIntegerField(default=0)
def __str__(self):
return f"Quota ({self.quota.id}) for Broker({self.broker.organization.name})"