
    Nhn	                     X    d dl Z d dlmZ d dlmZ d dlmZ  e j        e          Z	d Z
dS )    N)get_setting_value)ShoppingPoint)send_purchase_reward_emailc           
         | r| j         s.t                              dt          | dd                      d S | j        }	 t          t          d                    }n,# t          $ r t                              d           d}Y nw xY w	 t          | j         |z  dz  d          }t                              d	| j
         d
| j          d|            |dk    r$t                              d| j
                    d S t          j                            || d                                          }|r$t                              d| j
                    d S t          j                            |d|d| j
         |            t                              d|j
         d|j                    |j        pd|z   |_        |                                 t                              d| d|j
         d| j
         d|j                    	 t%          j        |j
        || j
                   t                              d| j
                    d S # t(          $ r=}t                              d| j
         dt-          |                      Y d }~d S d }~ww xY w# t(          $ r=}t                              d| j
         dt-          |                      Y d }~d S d }~ww xY w)Nz6Missing or invalid order or grand_total for Order ID: idUnknownpurchase_point_percentagezAInvalid 'purchase_point_percentage' in settings. Defaulting to 0.r   d      zOrder #z total: z, reward points: zNo points to credit for Order #credit)userordertransaction_typez#Points already credited for Order #z!Shopping Points Credit on Order #)r   r   pointsdescriptionr   z#[SHOPPING] ShoppingPoint for buyer z with points : z[SHOPPING] Credited z points to user z for Order #z. [SHOPPING] New total_points: zReward email queued for Order #z'Failed to send reward email for Order #z: z*Error applying purchase reward for Order #)grand_totalloggerinfogetattrbuyerintr   
ValueErrorerrorroundr   r   objectsfilterexistscreatetotal_pointssaver   delay	Exception	exceptionstr)r   r   purchase_pointsshopping_point_creditorder_point_existses         -/var/www/html/e360mart/order/utils/rewards.pyapply_purchase_rewardr*   
   sz    ) nWUZ\`bkMlMlnnoooKE/0KLLMM   XYYY-\ %u'8?'Jc&QST U Ukehkk0AkkTikklll A%%KKD%(DDEEEF*299% : 
 
 &((	 	  	KKHehHHIIIF 	$$%(FEHFF 	% 	
 	
 	
 	g%(ggSXSegghhh#05A9NN

A#8 A A%( A A`e`h A A,1,>A A	
 	
 	

	]&,UX7LehWWWKKD%(DDEEEEE 	] 	] 	][ux[[SVWXSYSY[[\\\\\\\\\	]  \ \ \ZehZZRUVWRXRXZZ[[[[[[[[[\s^    A &BB
A0J <AJ B0J AI 
J2JJ JJ 
K2KK)loggingsetting.viewsr   wallet.modelsr   vendor_listing.tasksr   	getLogger__name__r   r*        r)   <module>r3      sv     + + + + + + ' ' ' ' ' ' ; ; ; ; ; ;		8	$	$:\ :\ :\ :\ :\r2   