
    j+                        d dl mZmZmZ d dlmZmZmZmZm	Z	m
Z
mZmZmZmZ d dlmZmZ d dlmZmZmZmZmZ d dlmZmZ d dlmZmZ d dlmZm Z  d dl!m"Z"  ed	e#d
          Z$de%de%fdZ&de'de'de%fdZ(e$)                    d          d             Z*e$+                    d          d             Z,e$)                    d          d             Z-e$)                    d          de'fd            Z.e$+                    d          d             Z/e$+                    d          d             Z0e$+                    d          d              Z1e$+                    d!          d"             Z2e$+                    d#          d$             Z3d%S )&    )	Blueprintjsonifyrequest)
DISPATCH_AUTH_URLDISPATCH_CLIENT_IDDISPATCH_MOCK_MODEDISPATCH_QUEUE_LIMITDISPATCH_SMS_DEFAULT_MOBILEDISPATCH_SMS_DEFAULT_TEMPLATEDISPATCH_TASK_URLDISPATCH_YWFZRDISPATCH_YWFZRLXDHlogger)authenticate_dispatch_platformget_dispatch_auth_status)build_dispatch_payloadfilter_dispatch_payloadget_dispatch_queue_detaillist_dispatch_queue_itemsrefresh_dispatch_region_context)preview_smssend_sms_notificationslist_dispatch_recordslist_dispatch_sms_records)dispatch_queue_itemspreview_dispatch_payloads)get_request_ownerdispatchz	/dispatch)
url_prefixitemreturnc                    i d|                      d          d|                      dd          d|                      dd          d|                      dd          d|                      dd          d|                      dd          d|                      dd          d	|                      d	d
          d|                      dd          d|                      dd          d|                      dd          d|                      dd
          d|                      dd          d|                      dd          d|                      dd          d|                      dd          d|                      dd          |                      dd          |                      dd          |                      dd          |                      dd          |                      dd          |                      dd          |                      dd          |                      dd          |                      d          pt          | d          t          |                      d          pt          | d           d          |                      d!          pi |                      d"d          |                      d#          |                      d$          d%S )&Nidsource_job_id source_asset_idsource_job_typesource_namesource_type
asset_name
face_indexr   person_nameperson_id_noperson_phonesimilarity_scoreillegal_typesssj_dmsssj_mcssfj_dmssfj_mczbpcs_dmzbpcs_mcdzmcrwdyidsjcslydispatch_statuspending
sms_status
last_errordraft_payloadminimal)payload_modefullidentity_payloadsms_preview
created_ts
updated_ts)r6   r7   r8   r9   r:   r;   r=   r>   r?   recommended_payloadrC   rD   rE   rF   )getr   r   )r!   s    9/home/longshao/multi-rider-rag/modules/dispatch/routes.py_serialize_queue_itemrJ   )   s   #dhhtnn#/266# 	488$5r::# 	488$5r::	#
 	txxr22# 	txxr22# 	dhh|R00# 	dhh|Q//# 	txxr22# 	44# 	44# 	DHH%7;;# 	44# 	488Ir**# 	488Ir**#  	488Ir**!#" 	488Ir**##$ HHZ,,HHZ,,$$((8R((((8R((88$5yAAhh|Y77hh|R00/22j6LT`i6j6j6j6HH_%%Z)?SY)Z)Z)Z" 
  
  
 !HH%788>Bxxr22hh|,,hh|,,E# # # #    	owner_keyowner_ipc                 L    t          | |d          t          | |d          dS )N   limit)dispatch_recordssms_recordsr   )rL   rM   s     rI   _recent_activityrT   P   s5    1)XRPPP0HBOOO  rK   z/auth/statusc            	          t          t                    \  } }t          dt          |           t          t
          t          t          dd          S )NT)auth_urltask_url	client_id	mock_mode)okauthconfig)r   r   r   r   r   r   r   r   )rL   	_owner_ips     rI   dispatch_auth_statusr^   W   sT    ,W55Iy,Y77--//	 		
 		
  rK   z/auth/loginc                  @   t          t                    \  } }t          j        d          pt          j        pi }|                    dd          pd                                }|                    dd          pd                                }	 t          | |||          }nk# t          $ r+}t          dt          |          d          dfcY d }~S d }~wt          $ r+}t          dt          |          d          d	fcY d }~S d }~ww xY wt          d|d
          S )NTsilentusernamer&   passwordFrZ   error    )rZ   r[   )r   r   get_jsonformrH   stripr   
ValueErrorr   str	Exception)rL   rM   payloadrb   rc   r[   excs          rI   dispatch_auth_loginrp   h   s@   +G44Ixd+++Aw|ArGJ++1r88::HJ++1r88::H>-i8XVV > > >ec#hh7788#======= > > >ec#hh7788#=======>$--...s0   B# #
D- CDD  D DDz/queuec                     t          t                    \  } }t          | |t                    }t	          dt          |           d |D             t          | |          t          t          t          t          dd          S )NrP   Tc                 ,    g | ]}t          |          S  rJ   .0r!   s     rI   
<listcomp>z'dispatch_queue_list.<locals>.<listcomp>   s!    DDDd+D11DDDrK   )
sms_mobilesms_templateywfzr	ywfzrlxdh)rZ   r[   itemshistorydefaults)r   r   r   r	   r   r   rT   r
   r   r   r   )rL   rM   r|   s      rI   dispatch_queue_listr   w   s    +G44Ix%iAUVVVE,Y77DDeDDD'	8<<9 ='/	 	
 	
  rK   z/queue/<queue_id>queue_idc                    t          t                    \  }}	 t          |||           }n$# t          $ r t	          ddd          dfcY S w xY wt          |t          t                    }t	          dt          |          |d          S )NFqueue item not foundrd     )templatemobileT)rZ   r!   rD   )	r   r   r   LookupErrorr   r   r   r
   rJ   )r   rL   rM   r!   sms_datas        rI   dispatch_queue_detailr      s    +G44IxL(HhGG L L Le.DEEFFKKKKL4*GPklllH)$//#	
 	
  s   + AAz/queue/refresh-regionc            
      B   t          t                    \  } }t          j        d          pi }|                    d          pg }t	          |t
                    r|st          ddd          dfS 	 t          | ||          }n# t          $ r t          ddd          d	fcY S t          $ r+}t          dt          |          d          dfcY d }~S d }~wt          $ r3}t          j        d
|           t          ddd          dfcY d }~S d }~ww xY wt          dd|                    dd           d|                    dd           d|                    dd          |                    dd          d |                    d          pg D             d          S )NTr`   	queue_idsFqueue_ids is requiredrd   rf   r   r   z-failed to refresh dispatch region context: %szrefresh region failedrg   u
   已刷新 updatedr   u    条，跳过 skippedu    条。c                 ,    g | ]}t          |          S rs   rt   ru   s     rI   rw   z1dispatch_queue_refresh_region.<locals>.<listcomp>   s!    XXXd+D11XXXrK   r|   )rZ   messager   r   r|   )r   r   rh   rH   
isinstancelistr   r   r   RuntimeErrorrl   rm   r   	exception)rL   rM   rn   r   resultro   s         rI   dispatch_queue_refresh_regionr      s   +G44Ixd+++1rGK((.BIi&& Mi Me.EFFGGLLM0HiPP L L Le.DEEFFKKKK > > >ec#hh7788#======= M M MH#NNNe.EFFGGLLLLLLLM mFJJy!$<$<mmFJJW`bcLdLdmmmzz)Q//zz)Q//XXfjj>Q>Q>WUWXXX	
 	
  s6   2B D$	D- CDD (DDDz/previewc                     t          t                    \  } }t          j        d          pi }|                    d          pg }|                    d          pi }|                    d          }|                    d          pd}t	          |t
                    r|st          dd	d
          dfS 	 t          | |||||          }n# t          $ r t          ddd
          dfcY S t          $ r+}t          dt          |          d
          dfcY d }~S d }~wt          $ r3}t          j        d|           t          ddd
          dfcY d }~S d }~ww xY wt          d|d          S )NTr`   r   	overridespayload_itemsrA   r@   Fr   rd   rf   r   r   rA   r   r   z'failed to preview dispatch payloads: %szpreview failedrg   )rZ   r|   )r   r   rh   rH   r   r   r   r   r   rk   rl   rm   r   r   )	rL   rM   rn   r   r   r   rA   r|   ro   s	            rI   dispatch_previewr      s   +G44Ixd+++1rGK((.BIK((.BIKK00M;;~..;)Li&& Mi Me.EFFGGLLF)'%
 
 
  L L Le.DEEFFKKKK > > >ec#hh7788#======= F F FBCHHHe.>??@@#EEEEEEEF $//000s6   5C E+	E4 DEE'(EEEz/sendc                  F   t          t                    \  } }t          j        d          pi }|                    d          pg }|                    d          pi }|                    d          }|                    d          pd}t	          |t
                    r|st          dd	d
          dfS 	 t          | |||||          }n# t          $ r t          ddd
          dfcY S t          $ r+}t          dt          |          d
          dfcY d }~S d }~wt          $ r+}t          dt          |          d
          dfcY d }~S d }~wt          $ r3}t          j        d|           t          ddd
          dfcY d }~S d }~ww xY wt          ddi|          S )NTr`   r   r   r   rA   r@   Fr   rd   rf   r   r   r   z"failed to dispatch queue items: %szdispatch failedrg   rZ   )r   r   rh   rH   r   r   r   r   r   rk   rl   r   rm   r   r   )	rL   rM   rn   r   r   r   rA   r   ro   s	            rI   dispatch_sendr      s%   +G44Ixd+++1rGK((.BIK((.BIKK00M;;~..;)Li&& Mi Me.EFFGGLLG%'%
 
 
  L L Le.DEEFFKKKK > > >ec#hh7788#======= > > >ec#hh7788#======= G G G=sCCCe.?@@AA3FFFFFFFG D$)&)***sH   5C F+	F4 DFF' EFF(FFFz/sms/previewc            	      4   t          t                    \  } }t          j        d          pi }|                    dd          pd                                }|                    dd          pt
          }|                    dd          pt          }|                    d          pi }|st          dd	d
          dfS 	 t          | ||          }n$# t          $ r t          ddd
          dfcY S w xY wt          dt          ||||          d          S )NTr`   r   r&   r   r   r   Fzqueue_id is requiredrd   rf   r   r   r   r   r   )rZ   preview)r   r   rh   rH   rj   r   r
   r   r   r   r   )rL   rM   rn   r   r   r   r   r!   s           rI   dispatch_sms_previewr      s@   +G44Ixd+++1rGJ++1r88::H{{:r**K.KH[[2&&E*EFK((.BI Le.DEEFFKKL(HhGG L L Le.DEEFFKKKKL$;thW]ir+s+s+sttuuus   C C43C4z	/sms/sendc                     t          t                    \  } }t          j        d          pi }|                    d          pg }|                    dd          pt          }|                    dd          pt
          }|                    d          pi }t          |t                    r|st          dd	d
          dfS 	 t          | |||||          }n# t          $ r t          ddd
          dfcY S t          $ r+}t          dt          |          d
          dfcY d }~S d }~wt          $ r3}t          j        d|           t          ddd
          dfcY d }~S d }~ww xY wt          |          S )NTr`   r   r   r&   r   r   Fr   rd   rf   r   r   r   zfailed to send dispatch sms: %szsms send failedrg   )r   r   rh   rH   r   r
   r   r   r   r   r   rk   rl   rm   r   r   )	rL   rM   rn   r   r   r   r   r   ro   s	            rI   dispatch_sms_sendr     s   +G44Ixd+++1rGK((.BI{{:r**K.KH[[2&&E*EFK((.BIi&& Mi Me.EFFGGLLG'	8YQYbht}~~~ L L Le.DEEFFKKKK > > >ec#hh7788#======= G G G:C@@@e.?@@AA3FFFFFFFG 6??s6   C E(9	E( D("E((E(5(E#E(#E(N)4flaskr   r   r   shared.config.configr   r   r   r	   r
   r   r   r   r   r   &modules.dispatch.services.auth_servicer   r   'modules.dispatch.services.queue_servicer   r   r   r   r   %modules.dispatch.services.sms_servicer   r   'modules.dispatch.services.store_servicer   r   &modules.dispatch.services.task_servicer   r   shared.ownership.ownershipr   __name__dispatch_bpdictrJ   rl   rT   rH   r^   postrp   r   r   r   r   r   r   r   rs   rK   rI   <module>r      s{   - - - - - - - - - -                                            V U U U U U U U               9 8 8 8 8 8 i
HEEE$ $ $ $ $ $N s t         !   -  / / ! /   & $%%C    &%  )**  +*4 *1 1 18 '+ + +< .!!v v "!v  +    rK   