+
    (j                     P    ^ RI HtHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht R tR# )    )requestjsonify)get_db)admin_required)error_responsebuild_search_conditions)get_config_valuec                 @   V P                  R R.R7      \        R 4       4       pV P                  RR.R7      \        R 4       4       pV P                  RR.R7      \        R 4       4       pV P                  RR.R7      R	 4       pV P                  R
R.R7      R 4       pR# )z/api/admin/suggestionsGET)methodsc            
      f   \         P                  P                  R 4      p \        \         P                  P                  R^4      4      p\        \         P                  P                  R^
4      4      pV^,
          V,          p\	        4       pVP                  4       p RpRp. p. p	V '       dL   . ROp
\        W4      w  rV'       d3   Wk,          pW{,          pVP                  V4       V	P                  V4       VP                  Wy4       VP                  4       ^ ,          pVR,          pVP                  W#.4       VP                  Wh4       VP                  4       pV Uu. uF  p\        V4      NK  	  pp\        RVRVRVRV/4      VP                  4        # u upi   TP                  4        i ; i)	searchpagelimitz2SELECT * FROM suggestions WHERE deleted_at IS NULLz9SELECT COUNT(*) FROM suggestions WHERE deleted_at IS NULLz* ORDER BY created_at DESC LIMIT ? OFFSET ?itemstotal)phonenicknamecontent)r   argsgetintr   cursorr   extendexecutefetchonefetchalldictr   close)r   r   r   offsetconnr   querycount_queryparamscount_paramssearch_fieldssearch_condsearch_paramsr   rowsrowr   s                    H   E:\Work\靠谱人脉\软件相关\BangBang\backend\routes\suggestions.pyget_admin_suggestions9register_suggestion_routes.<locals>.get_admin_suggestions   sd    !!(+7<<##FA./GLL$$Wb12(e#x	HEUKFL @-D]-[*(E.KMM-0 ''6NN;5OO%a(EAAEMM5/*NN5)??$D*./$3T#Y$E/GUGUFD'SXYZJJL	 0 JJLs   CF  F4F F F0z*/api/admin/suggestions/<int:suggestion_id>c                 6   \        4       pVP                  4       p VP                  R V 34       VP                  4       pV'       g   \	        R4      VP                  4        # \        \        V4      4      VP                  4        #   TP                  4        i ; i)z=SELECT * FROM suggestions WHERE id = ? AND deleted_at IS NULLu   建议不存在)r   r   r   r   r   r   r   r   )suggestion_idr!   r   r*   s   &   r+   get_admin_suggestion8register_suggestion_routes.<locals>.get_admin_suggestion0   sr     x		NNZ]j\lm//#C%&78 JJL 49%JJLDJJLs   5B "B BDELETEc                    \        4       pVP                  4       p VP                  R V 34       VP                  4        VP                  ^ 8  d    \        RRRR/4      VP                  4        # \        RRRR/4      VP                  4        #   \         d   pTP                  4        ThRp?ii ; i  TP                  4        i ; i)zWUPDATE suggestions SET deleted_at = datetime('now') WHERE id = ? AND deleted_at IS NULLsuccessTmessageu   删除成功Fu   建议不存在或已被删除N)	r   r   r   commitrowcountr   r   	Exceptionrollback)r/   r!   r   es   &   r+   delete_admin_suggestion;register_suggestion_routes.<locals>.delete_admin_suggestion@   s     x	NNv  zG  yI  JKKM"	4NKL JJL 	5)=]^_
 JJL	  	MMOG	 JJLs*   AB /B B0B++B00B3 3Cz/api/suggestions/can-submitc            
         \         P                  P                  R 4      p V '       d   V P                  R4      '       g   \	        RRRR/4      # V P                  R4      ^,          p\        4       pVP                  4       p VP                  RV34       VP                  4       pV'       g    \	        RRRR/4      VP                  4        # VP                  R	VR
,          34       VP                  4       pV'       g    \	        RRRR/4      VP                  4        # \        \        RR4      4      pVP                  RVR,          34       VP                  4       ^ ,          pWv8  d+   \	        RRRRV RV R2RVRV/4      VP                  4        # \	        RRRRRVRV/4      VP                  4        #   TP                  4        i ; i)AuthorizationzBearer 
can_submitFr5   u   请先登录 zMSELECT user_id FROM sessions WHERE token = ? AND expires_at > datetime("now")u!   登录已过期，请重新登录zESELECT phone, nickname FROM users WHERE id = ? AND deleted_at IS NULLuser_idu   用户不存在max_suggestions_per_day1SSELECT COUNT(*) FROM suggestions WHERE phone = ? AND date(created_at) = date('now')r      您今天已提交!   条建议，每天最多可提交u   条today_count	max_countTu   可以提交建议)r   headersr   
startswithr   splitr   r   r   r   r   r   r	   )auth_headertokenr!   r   sessionusermax_suggestionscounts           r+   can_submit_suggestion9register_suggestion_routes.<locals>.can_submit_suggestionS   s   oo))/:+"8"8"C"CL%NKLL!!#&q)x$	NNjmrltuoo'GeY@cde> JJL; NNbelmvewdyz??$DeY@QRS2 JJL/ ""23Lc"RSONNeg  OO%a(E' %!3E7:[\k[llop!5	   JJL d/u_	  JJLDJJLs%   9F5 1F5 =F5 A%F5 F5 5Gz/api/suggestionsPOSTc            
         \         P                  p V P                  R 4      pV P                  R4      pV P                  R4      pV'       d	   V'       g   \        R4      # \	        \        RR4      4      p\        4       pVP                  4       p VP                  RV34       VP                  4       ^ ,          pWt8  d)   \        RRR	R
V RV R2RR/4      VP                  4        # VP                  RWV34       VP                  4        WG,
          ^,
          pRp	V^ 8  d   V	RV R2,          p	\        RRR	V	/4      VP                  4        #   \         d   p
TP                  4        T
hRp
?
ii ; i  TP                  4        i ; i)r   r   r   u$   手机号和建议内容不能为空rB   rC   rD   r4   Tr5   rE   rF   u   条，感谢您的关注！already_submittedzCINSERT INTO suggestions (phone, nickname, content) VALUES (?, ?, ?)u*   建议提交成功，感谢您的反馈！u   （今天还可提交u   条）N)r   jsonr   r   r   r	   r   r   r   r   r   r   r6   r8   r9   )datar   r   r   rP   r!   r   rQ   	remainingr5   r:   s              r+   create_suggestion5register_suggestion_routes.<locals>.create_suggestion   sz   ||!88J'((9%G!"HII ./H#NOx	NNe OO%a(E't!3E7:[\k[l  mH   I'  , JJL! NNU'* KKM'/!3IBG1}29+VDDItY@A
 JJL	  	MMOG	 JJLs,   AE 'AE E1E,,E11E4 4FN)router   )appr,   r0   r;   rR   rZ   s   &     r+   register_suggestion_routesr^      s    YY'%Y9$  :$L 	YY;eWYM  N 	YY;hZYP  Q" 	YY,ugY>- ?-^ 	YY!F8Y4- 5-    N)flaskr   r   utils.databaser   
utils.authr   utils.helpersr   r   utils.configr	   r^    r_   r+   <module>rf      s    " ! % A )jr_   