Untitled

 avatar
unknown
plain_text
2 years ago
1.6 kB
7
Indexable
add_action('salesking_after_calculated_earnings', function($order_id, $agent_id){

	$site_time = time()+(get_option('gmt_offset')*3600);
	$current_day = date_i18n( 'd', $site_time );

	$total_number = 0;
	$earnings_number = 0;
	$earnings = get_posts( array( 
	    'post_type' => 'salesking_earning',
	    'numberposts' => -1,
	    'post_status'    => 'any',
	    'date_query' => array(
	            'after' => date('Y').'-01-01' 
	        ),
	    'fields'    => 'ids',
	    'meta_key'   => 'agent_id',
	    'meta_value' => get_current_user_id(),
	));

	foreach ($earnings as $earning_id){
	    $order_id = get_post_meta($earning_id,'order_id', true);
	    $orderobj = wc_get_order($order_id);
	    if ($orderobj !== false){
	    	$total_number += $orderobj->get_total();
	        $status = $orderobj->get_status();
	        $earnings_total = get_post_meta($earning_id,'salesking_commission_total', true);
	        // check if approved
	        if (in_array($status,apply_filters('salesking_earning_completed_statuses', array('completed')))){
	            $earnings_number+=$earnings_total;
	        }
	    }
	}

	$current_earnings_year = $earnings_number;


	if ($current_earnings_year > 22000){
		$difference = $current_earnings_year - 22000;

		$earning_id = get_post_meta($order_id,'salesking_earning_id', true);
		if (!empty($earning_id)){
			$commission = get_post_meta($earning_id,'salesking_commission_total', true);
			if ($commission < $difference){
				$commission = 0;
			} else {
				$commission = $commission - $difference;
			}

			update_post_meta($earning_id,'salesking_commission_total', $commission);
		}
	}

});
Editor is loading...