Merge branch '512-cmb-warranty-expiration-computation' into '488-cmb-live'

Recommit warranty computation changes. #512

See merge request jankstudio/resq!599
This commit is contained in:
Kendrick Chan 2020-10-02 03:34:04 +00:00
commit 75c03863bb
6 changed files with 53 additions and 6 deletions

View file

@ -196,6 +196,12 @@ services:
$upload_dir: "%jo_extra_upload_directory%"
App\Service\RiderAPIHandlerInterface: "@App\\Service\\RiderAPIHandler\\CMBRiderAPIHandler"
# warranty handler service
App\Service\WarrantyHandler\CMBWarrantyHandler: ~
# warranty handler interface
App\Service\WarrantyHandlerInterface: "@App\\Service\\WarrantyHandler\\CMBWarrantyHandler"
# map manager
#App\Service\GISManager\Bing: ~
@ -221,6 +227,12 @@ services:
event: 'postPersist'
entity: 'App\Entity\JobOrder'
App\Service\NotificationManager:
arguments:
$redis_prov: "@App\\Service\\RedisClientProvider"
$redis_mqtt_key: "mqtt_events"
$em: "@doctrine.orm.entity_manager"
App\Service\JobOrderCache:
arguments:
$redis_prov: "@App\\Service\\RedisClientProvider"

View file

@ -196,6 +196,12 @@ services:
$upload_dir: "%jo_extra_upload_directory%"
App\Service\RiderAPIHandlerInterface: "@App\\Service\\RiderAPIHandler\\CMBRiderAPIHandler"
# warranty handler service
App\Service\WarrantyHandler\CMBWarrantyHandler: ~
# warranty handler interface
App\Service\WarrantyHandlerInterface: "@App\\Service\\WarrantyHandler\\CMBWarrantyHandler"
# map manager
#App\Service\GISManager\Bing: ~

View file

@ -4,12 +4,14 @@ namespace App\Ramcar;
class CMBWarrantyClass extends NameValue
{
const WTY_PASSENGER = 'passenger';
const WTY_COMMERCIAL = 'commercial';
const WTY_PASSENGER = 'passenger';
const WTY_COMMERCIAL = 'commercial';
const WTY_GRAB = 'grab';
const COLLECTION = [
'passenger' => 'Passenger',
'commercial' => 'Commercial',
'grab' => 'Grab',
];
}

View file

@ -44,7 +44,7 @@ use App\Service\InvoiceGeneratorInterface;
use App\Service\JobOrderHandlerInterface;
use App\Service\RiderAssignmentHandlerInterface;
use App\Service\CustomerHandlerInterface;
use App\Service\WarrantyHandler;
use App\Service\WarrantyHandlerInterface;
use App\Service\MQTTClient;
use App\Service\APNSClient;
use App\Service\MapTools;
@ -75,7 +75,7 @@ class CMBJobOrderHandler implements JobOrderHandlerInterface
public function __construct(Security $security, EntityManagerInterface $em,
InvoiceGeneratorInterface $ic, ValidatorInterface $validator,
TranslatorInterface $translator, RiderAssignmentHandlerInterface $rah,
string $country_code, WarrantyHandler $wh,
string $country_code, WarrantyHandlerInterface $wh,
CustomerHandlerInterface $cust_handler)
{
$this->em = $em;

View file

@ -20,7 +20,7 @@ use App\Service\RiderAPIHandlerInterface;
use App\Service\RedisClientProvider;
use App\Service\RiderCache;
use App\Service\MQTTClient;
use App\Service\WarrantyHandler;
use App\Service\WarrantyHandlerInterface;
use App\Service\JobOrderHandlerInterface;
use App\Service\InvoiceGeneratorInterface;
use App\Service\RiderTracker;
@ -61,7 +61,7 @@ class CMBRiderAPIHandler implements RiderAPIHandlerInterface
public function __construct(EntityManagerInterface $em, RedisClientProvider $redis,
EncoderFactoryInterface $ef, RiderCache $rcache,
string $country_code, MQTTClient $mclient,
WarrantyHandler $wh, JobOrderHandlerInterface $jo_handler,
WarrantyHandlerInterface $wh, JobOrderHandlerInterface $jo_handler,
InvoiceGeneratorInterface $ic, string $upload_dir,
RiderTracker $rider_tracker, NotificationManager $nm,
UrlGeneratorInterface $router)

View file

@ -0,0 +1,27 @@
<?php
namespace App\Service;
use App\Entity\Warranty;
use DateTime;
interface WarrantyHandlerInterface
{
public function createWarranty(string $serial, string $plate_number, string $first_name, string$last_name,
string $mobile_number, array $batt_list, DateTime $date_purchase,
string $warranty_class);
public function updateCustomerVehicle(string $serial, array $batteries, string $plate_number, DateTime $date_expire);
public function updateWarranty(Warranty $warr, string $first_name, string $last_name, string $mobile_number,
array $batt_list, DateTime $date_purchase);
public function computeDateExpire(DateTime $date_create, int $warranty_period);
public function getWarrantyPeriod(array $batteries, string $warranty_class);
public function getBatteriesForWarranty(Warranty $warr);
public function cleanPlateNumber(string $plate);
}