fix voor bijwerken mislukt en overtijd

This commit is contained in:
ErikHommel 2022-02-07 12:14:11 +01:00
parent fffbab9858
commit a3ed7dc958
1 changed files with 36 additions and 7 deletions

View File

@ -142,13 +142,8 @@ class CRM_Bij1migratie_Migratie {
}
}
else {
\Civi\Api4\MigratieLog::create()
->addValue('mollie_customer_id', $rij['mollie_customer_id'])
->addValue('migratiedatum', $migratieDatum->format("y-m-d"))
->addValue('type_migratie', $migratieType)
->addValue('type_melding', 'waarschuwing')
->addValue('melding', 'Waarschuwing, betaling bestaat al dus niet gemigreerd, data: ' . json_encode($rij))
->execute();
// als het om mislukte gaat, bijwerken
self::bijwerkenBetaling($contactId, $rij, $migratieDatum, $migratieType);
}
}
else {
@ -172,6 +167,40 @@ class CRM_Bij1migratie_Migratie {
}
}
}
public static function bijwerkenBetaling(int $contactId, array $rij, DateTime $migratieDatum, string $migratieType) {
$receiveDate = new DateTime($rij['aanmaakdatum']);
if ($rij['status'] == Civi::service('bij1Migratie')->getOverdueContributionStatusId() || $rij['status'] == Civi::service('bij1Migratie')->getFailedContributionStatusId()) {
try {
\Civi\Api4\Contribution::update()
->addValue('contribution_status', $rij['status'])
->addWhere('contact_id', '=', $contactId)
->addWhere('receive_date', '=', $receiveDate->format("Y-md-d"))
->addWhere('total_amount', '=', $rij['bedrag'])
->addWhere('contribution_status_id', '=', Civi::service('bij1Migratie')->getCompletedContributionStatusId(),)
->execute();
}
catch (API_Exception $ex) {
}
$update = "UPDATE civicrm_contribution SET contribution_status_id = %1 WHERE contact_id = %2 AND receive_date = %3 AND total_amount = %4 AND contribution_status_id = %5";
$updateParams = [
1 => [$rij['status'], "Integer"],
2 => [$contactId, "Integer"],
3 => [$receiveDate->format("Y-m-d"), "String"],
4 => [$rij['bedrag'], "String"],
5 => [Civi::service('bij1Migratie')->getCompletedContributionStatusId(), "Integer"],
];
CRM_Core_DAO::executeQuery($update, $updateParams);
}
else {
\Civi\Api4\MigratieLog::create()
->addValue('mollie_customer_id', $rij['mollie_customer_id'])
->addValue('migratiedatum', $migratieDatum->format("y-m-d"))
->addValue('type_migratie', $migratieType)
->addValue('type_melding', 'waarschuwing')
->addValue('melding', 'Waarschuwing, betaling bestaat al dus niet gemigreerd, data: ' . json_encode($rij))
->execute();
}
}
/**
* Method om contact te migreren