Files
api-bashgah/apps/project/services.py
T
2026-06-15 10:57:28 +03:30

53 lines
2.1 KiB
Python

from apps.project.models import Project as ProjectModel, ProjectImage as ProjectImageModel
from apps.cuser.models import CUser as CUserModel
from rest_framework.validators import ValidationError
from utils.services.sms import DefaultSmsProvider
from utils.services.sms_task import task_send_sms
def create_project(cuser: CUserModel, city: int, address: str, factor_price: int, project_images: list,
tabaghat: int, zirbana: int, vahed:int):
try:
project = ProjectModel.objects.create(
cuser=cuser,
city_id=city,
tabaghat=tabaghat,
zirbana=zirbana,
vahed=vahed,
address=address,
factor_price=factor_price
)
for image in project_images:
ProjectImageModel.objects.create(project=project, image=image)
message = f'پروژه شما با موفقیت در باشگاه مجریان لوله گستر گلپایگان ثبت شد، لطفا اطلاعات مربوط به فروشنده را تکمیل کنید.'
task_send_sms.delay(message=message, mobile=str(cuser.mobile))
return project
except Exception as e:
raise ValidationError({'error': f'error on create project {str(e)}'})
def update_seller_project(project_id: int, **kwargs):
try:
project = ProjectModel.objects.filter(id=project_id).update(status='waiting', **kwargs)
project_obj = ProjectModel.objects.get(id=project_id)
return project_obj
except Exception as e:
raise ValidationError({'error': f'error on update project {str(e)}'})
def send_sms_to_seller(seller_mobile: int, message: str):
sms = DefaultSmsProvider()
sms.send_sms(str(seller_mobile), message)
def update_seller_va_send_message(project_id: int, **kwargs):
project = update_seller_project(project_id, **kwargs)
message = f'پس از برسی و تایید پروژه توسط کارشناسان شرکت امتیاز به پروفایل شما اضافه خواهد شد'
task_send_sms.delay(message=message, mobile=str(project.cuser.mobile))
#send_sms_to_seller(9384999655, message)
return project