
    j                        d dl Z d dlmZmZ ddlmZ ddlmZmZ 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  ej        dd	g
          d             Z ej        dd	g
          d             Z ej        dd	g
          d             Z ej        ddg
           ej        ddg
          d                         ZdS )    N)requestjsonify   )score_bp)calculate_scorebatch_recalculate)	get_scoreget_score_listget_score_trend)	VALID_RISK_LEVELSparse_int_argvalidate_allowedvalidate_area_codevalidate_int_rangevalidate_pagevalidate_page_sizevalidate_score_rangevalidate_zjhmz/<zjhm>GET)methodsc                     t          |           st          ddd          dfS t          |           }|st          ddd          dfS t          |          S )Ninvalid_zjhm   证件号格式不正确errormessage  	not_foundu   未找到该人员评分i  )r   r   r	   )zjhmresults     6/home/longshao/multi-rider-rag/modules/score/routes.pyscore_detailr"      sm     ^<VWWXXZ]]]t__F [9STTUUWZZZ6??    z/listc            	         t          t          j                            d          d          } t          t          j                            d          d          }t          j                            dd                                          pd }t          j                            dd                                          pd }t          t          j                            d          d	          }t          t          j                            d
          d          }t          j                            dd          }t          | |          st          ddd          dfS |r(t          |t                    st          ddi          dfS t          |          st          ddi          dfS t          |          st          ddi          dfS t          |          st          ddi          dfS t          |ddh          st          ddi          dfS t          | ||||||          \  }}t          ||||d          S )N	min_scorer   	max_scored   
risk_level 	area_codepager   size   sortdescinvalid_score_rangeu6   分数范围必须为 0-100 且 min_score <= max_scorer   r   r   invalid_risk_levelinvalid_area_codeinvalid_pageinvalid_sizeascinvalid_sort)totalr+   r,   items)r   r   argsgetstripr   r   r   r   r   r   r   r
   )	r%   r&   r(   r*   r+   r,   r.   r7   r8   s	            r!   
score_listr<      s4   gl..{;;Q??Igl..{;;SAAI!!,3399;;CtJ  b117799ATI))&11155D))&11266D<FF++D	955 C!6C{||}}  @C  C  	C =*:7HII =!5677<<i(( <!4566;; 7011366d## 7011366D5&/22 7011366!)Y
ItUY[_``LE5UD$OOPPPr#   z/trend/<zjhm>c                 0   t          |           st          ddd          dfS t          t          j                            d          d          }t          |dd          st          d	d
i          dfS t          | |          }t          | ||d          S )Nr   r   r   r   months   r   <   r   invalid_monthsr   r>   points)r   r   r   r   r9   r:   r   r   rB   s      r!   score_trendrD   9   s     ^<VWWXXZ]]]7<++H55q99Ffa,, 9!1233S88T6**FDFfEEFFFr#   z/recalculatePOSTz/batch-recalculatec                  v   t          j        d          pi } |                     dd          }|rJ|dk    rDt          |          st	          ddd          dfS t          |          }t	          d	|d
          S t          j        t          d          }|	                                 t	          ddd          S )NT)silentr   allr   r   r   r   done)statusr    )targetdaemonstartedu'   全量重算已启动，后台执行中)rJ   r   )
r   get_jsonr:   r   r   r   	threadingThreadr   start)datar   r    threads       r!   recalculaterT   F   s     4(((.BD88FE""D =T"" 	b^@Z[[\\^aaa &&&F;;<<<%6tDDDF
LLNNNi4]^^___r#   )rO   flaskr   r   r)   r   services.score_enginer   r   services.score_storer	   r
   r   shared.validatorsr   r   r   r   r   r   r   r   r   router"   r<   rD   rT    r#   r!   <module>r[      s       " " " " " " " "       E E E E E E E E L L L L L L L L L L
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 	E7+++  ,+ %)))Q Q *)Q4 %111	G 	G 21	G 111$vh777` ` 87 21` ` `r#   