Skip to content

Commit

Permalink
utilizes Partner object to calculate comission
Browse files Browse the repository at this point in the history
  • Loading branch information
douglasfanucchi committed Apr 26, 2022
1 parent 7105a51 commit 7e41ef6
Showing 1 changed file with 19 additions and 11 deletions.
30 changes: 19 additions & 11 deletions includes/Pagarme/SplitRules.php
Original file line number Diff line number Diff line change
Expand Up @@ -66,23 +66,31 @@ private function partnersAmountOverOrder(\WC_Order $order)
$items = $order->get_items();
$partners = [];

foreach ( $items as $item ) {
$productPartners = carbon_get_post_meta(
$item->get_product_id(),
'psp_partners'
);

// Sum the total amount to be given to each partner on the order
foreach ($productPartners as $partner) {
$partner = new Partner($partner);

$partners[$partner->getID()]['value'] += $partner->calculateValue($item);
foreach ($items as $item) {
foreach ($this->getPartnersFromProduct($item->get_product_id()) as $partner) {
$userId = (int) $partner['psp_partner'][0]['id'];
$partner = new Partner($userId);
$partners[$userId]['value'] += $partner->calculateComission($item)->getComission();
}
}

return $partners;
}

private function getPartnersFromProduct(int $productId): array {
$partners = [
'percentage' => carbon_get_post_meta($productId, 'psp_percentage_partners'),
'fixed_amount' => [[
'psp_partner' => carbon_get_post_meta($productId, 'psp_fixed_partner'),
'psp_comission_value' => carbon_get_post_meta($productId, 'psp_comission_value')
]]
];

$comissionType = carbon_get_post_meta($productId, 'psp_comission_type');

return $partners[$comissionType];
}

private function log($order)
{
// Remove all partners related to order to be sure this info will be updated
Expand Down

0 comments on commit 7e41ef6

Please sign in to comment.