Ë
    ÊBiè  ã                  óZ   — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
  G d„ de«      Zy	)
zGGenerate daily rewards and referral commissions for active investments.é    )Úannotations)Údate)ÚBaseCommand)Útimezone)ÚCalculateRewardsTaskc                  ó$   — e Zd ZdZd„ Zd„ Zdd„Zy)ÚCommandz;Calculate daily rewards (Phase 1) using the CronTask logic.c                ó4   — |j                  dt        d¬«       y )Nz--datez6ISO date (YYYY-MM-DD) to calculate. Defaults to today.)ÚtypeÚhelp)Úadd_argumentÚstr)ÚselfÚparsers     úg/home/cursorai/projects/telegram-earn/backend/apps/investments/management/commands/calculate_rewards.pyÚadd_argumentszCommand.add_arguments   s   € Ø×ÑØÜØIð 	õ 	
ó    c           	     ó  — | j                  |j                  d«      «      }| j                  j                  d|› d�«       t	        |«      }	 |j                  |«      }|j                  d«      rG| j                  j                  | j                  j                  d|j                  d«      › �«      «       y | j                  j                  | j                  j                  d|j                  d«      › �«      «       | j                  j                  | j                  j                  d«      «       y # t        $ rJ}| j                  j                  | j                  j                  d	t        |«      › �«      «       Y d }~y d }~ww xY w)
Nr   z!Running CalculateRewardsTask for z...ÚerrorzError: Úmessagez	Success: zwNote: This command only calculates rewards (Phase 1). To distribute rewards (Phase 2), run the distribute-rewards task.zException: )Ú_parse_dateÚgetÚstdoutÚwriter   ÚexecuteÚstyleÚERRORÚSUCCESSÚWARNINGÚ	Exceptionr   )r   ÚargsÚoptionsÚtarget_dateÚtaskÚresultÚes          r   ÚhandlezCommand.handle   s1  € Ø×&Ñ& w§{¡{°6Ó':Ó;ˆà�‰×ÑÐ=¸k¸]È#ÐNÔOä# KÓ0ˆð	Hà—\‘\ +Ó.ˆFà�z‰z˜'Ô"Ø—‘×!Ñ! $§*¡*×"2Ñ"2°W¸V¿Z¹ZÈ	Ó=RÐ<SÐ3TÓ"UÕVà—‘×!Ñ! $§*¡*×"4Ñ"4°yÀÇÁÈIÓAVÐ@WÐ5XÓ"YÔZØ—‘×!Ñ! $§*¡*×"4Ñ"4ðXó#õ øô
 ò 	HØ�K‰K×Ñ˜dŸj™j×.Ñ.°¼SÀ»V¸HÐ/EÓF×GÑGûð	Hús!   ÁA(D0 Â5A:D0 Ä0	FÄ9A E>Å>Fc                ót   — |rt        j                  |«      S t        j                  «       j                  «       S )N)r   Úfromisoformatr   Únow)r   Údate_strs     r   r   zCommand._parse_date.   s+   € ÙÜ×%Ñ% hÓ/Ð/Ü�|‰|‹~×"Ñ"Ó$Ð$r   N)r+   z
str | NoneÚreturnr   )Ú__name__Ú
__module__Ú__qualname__r   r   r'   r   © r   r   r	   r	      s   „ ØH€Dò
òHô.%r   r	   N)Ú__doc__Ú
__future__r   Údatetimer   Údjango.core.management.baser   Údjango.utilsr   Úapps.investments.cron_tasksr   r	   r0   r   r   Ú<module>r7      s#   ðÙ Må "å å 3Ý !å <ô$%ˆkõ $%r   