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) public function getServiceTypeFee($source, CustomerVehicle $cv)
{ {
$code = 'jumpstart_fee'; // check the source of JO
// (1) if from app, service fee is 0 if motolite user. jumpstart fee for app if non-motolite user.
// check if customer vehicle has a motolite battery // (2) any other source, jumpstart fees are charged whether motolite user or not
// if yes, set the code to the motolite user service fee if ($source == TransactionOrigin::MOBILE_APP)
{
if ($cv->hasMotoliteBattery()) if ($cv->hasMotoliteBattery())
$code = 'motolite_user_service_fee'; $code = 'motolite_user_service_fee';
else else
{
// 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)
$code = 'jumpstart_fee_mobile_app'; $code = 'jumpstart_fee_mobile_app';
} }
else
$code = 'jumpstart_fee';
$fee = $this->em->getRepository(ServiceOffering::class)->findOneBy(['code' => $code]); $fee = $this->em->getRepository(ServiceOffering::class)->findOneBy(['code' => $code]);