first commit
This commit is contained in:
commit
3e4574dcdd
163 files changed
+3559
No files matched your search
@@ -0,0 +1,46 @@
|
||||
import time
|
||||
|
||||
from apps.product.models import Product as ProductModel
|
||||
from apps.order.models import Order as OrderModel
|
||||
from apps.emtiyazat.selector import get_emtiyaz_mojri
|
||||
from rest_framework.exceptions import ValidationError
|
||||
from apps.order.models import Order as OrderModel
|
||||
from apps.emtiyazat.services import decrease_emtiyaz
|
||||
from config.celery import app
|
||||
from celery import shared_task
|
||||
from utils.services.sms_task import task_send_sms
|
||||
#from apps.projectcode.task import generate_code
|
||||
|
||||
|
||||
def create_order(product_id: int, cuser) -> OrderModel:
|
||||
|
||||
try:
|
||||
product = ProductModel.objects.get(id=product_id)
|
||||
product_emtiyaz = product.get_emtiyaz
|
||||
emtiyaz_mojri = get_emtiyaz_mojri(cuser)
|
||||
|
||||
#generate_code.delay(count=20)
|
||||
|
||||
if emtiyaz_mojri >= product_emtiyaz:
|
||||
|
||||
decrease_emtiyaz(product_emtiyaz, desc=product.name, cuser=cuser)
|
||||
|
||||
order = OrderModel.objects.create(
|
||||
cuser_mojri=cuser,
|
||||
product=product,
|
||||
emtiyaz=product_emtiyaz,
|
||||
name=product.name,
|
||||
desc=product.desc,
|
||||
price=product.price
|
||||
)
|
||||
|
||||
message = f'لوله گستر گلپایگان: مجری محترم درخواست شما ثبت و درحال برسی است'
|
||||
task_send_sms.delay(message=message, mobile=cuser.mobile)
|
||||
|
||||
return order
|
||||
else:
|
||||
raise ValidationError({'error': 'emtiyaz mojri not enough'})
|
||||
|
||||
except Exception as exp:
|
||||
raise ValidationError({'error': f'error in create order {exp}'})
|
||||
|
||||
Reference in new issue
Block a user