
    jG                         d dl Z d dlmZ d dlmZmZmZmZmZm	Z	 d dl
mZ d dlmZmZ d dlmZmZ dded	ed
ededz  def
dZ	 	 	 ddededee         d	ed
ededz  defdZdS )    N)uuid4)DISPATCH_MOCK_MODEDISPATCH_SMS_DEFAULT_MOBILEDISPATCH_SMS_DEFAULT_TEMPLATEDISPATCH_SMS_PASSWORDDISPATCH_SMS_USERIDDISPATCH_SMS_USERPORT)insert_sms_queue_record)get_dispatch_queue_detailrender_sms_template)save_dispatch_sms_recordupsert_dispatch_queue_item 
queue_itemtemplatemobile	overridesreturnc                     t          | |pt          |          }t          |p|                     d          pt                                                    |t          t          dS )N)r   person_phone)r   contentuserportuserid)r   r   strgetr   stripr	   r   )r   r   r   r   r   s        G/home/longshao/multi-rider-rag/modules/dispatch/services/sms_service.pypreview_smsr      sc    !*h.W:WclmmmGf]
~ > >]B]^^ddff)%	      	owner_keyowner_ip	queue_idsc                    t          t          j                              }g }|D ]}t          | ||          }	t          |	|||          }
|
d         st	          d          |
d         |
d         d|	                    d          t          t          t          d}t          r
dd	d
}d}d}nT	 t          |           ddd
}d}d}n:# t          $ r-}dt          |          d
}d}t          |          }Y d }~nd }~ww xY wt          |	          }|
d         |d<   ||d<   |r|nd|d<   ||d<   t          |           t          t!                      j        |	                    d          | ||
d         |
d         |||||d           |                    |	                    d          ||
d         |
d         |d           d|t          dS )N)r   r   r   r   zsms mobile is requiredr   0id)r   r   statuseidr   passwordr   Tzmock sms queued)successmessager)   r   z
sms queuedFfailedsms_preview
sms_status
last_error
updated_ts)r%   queue_idr    r!   r   r   r&   request_payloadresponse_payloaderror_message
created_ts)r0   r&   r   r   r3   )okitems	mock_mode)inttimer   r   
ValueErrorr   r   r   r	   r   r
   	Exceptionr   dictr   r   r   hexappend)r    r!   r"   r   r   r   nowresultsr0   itemr,   r1   r2   r&   r3   excupdated_items                    r   send_sms_notificationsrD   !   sJ    dikk

CG =
 =
(HhGG!$&T]^^^8$ 	75666 "(+"9-88D>>)--
 
  	)+/<MNNFMM)'888/3#M#M " " ) ) )/4S#J#J ! #C)
 Dzz&1)&<]#%+\"6C%K]]\"%(\""<000 ggk HHTNN&$%h/&y1 #2$4!.! 	
 	
 	
 	 HHTNN %h/&y1!. 	
 	
 	
 	
 7IJJJs   -C
C=#C88C=)r   r   N)r9   uuidr   shared.config.configr   r   r   r   r   r	   shared.db.oracler
   'modules.dispatch.services.queue_servicer   r   'modules.dispatch.services.store_servicer   r   r<   r   r   listrD    r   r   <module>rL      s                         5 4 4 4 4 4               D C c SWZ^S^ jn     !IK IKIKIK CyIK 	IK
 IK d{IK 
IK IK IK IK IK IKr   