Set jumpstart fee for motolite users, depending on JO source. #760

This commit is contained in:
Korina Cordero 2023-09-04 15:36:44 +08:00
parent 32f3f957be
commit 041248ae0c

View file

@ -55,22 +55,18 @@ class Jumpstart implements InvoiceRuleInterface
public function getServiceTypeFee($source, CustomerVehicle $cv)
{
$code = 'jumpstart_fee';
// check if customer vehicle has a motolite battery
// if yes, set the code to the motolite user service fee
if ($cv->hasMotoliteBattery())
$code = 'motolite_user_service_fee';
else
// check the source of JO
// (1) if from app, service fee is 0 if motolite user. jumpstart fee for app if non-motolite user.
// (2) any other source, jumpstart fees are charged whether motolite user or not
if ($source == TransactionOrigin::MOBILE_APP)
{
// find the service fee for jumpstart using the code
// if we can't find the fee, return 0
// jumpstart fee depends on the JO source. Jumpstart from app has a different fee
// we set the code to search for the default
if ($source == TransactionOrigin::MOBILE_APP)
if ($cv->hasMotoliteBattery())
$code = 'motolite_user_service_fee';
else
$code = 'jumpstart_fee_mobile_app';
}
else
$code = 'jumpstart_fee';
$fee = $this->em->getRepository(ServiceOffering::class)->findOneBy(['code' => $code]);