Извшување на патувањето - UseCase08
Во овој случај инволвирани се и возачот и патникот. Најбитниот дел од апликацијата е извшувањето на патувањето, односно кога возачот ке го однесе патникот од точка А до точка Б и ке му наплати за тоа.
Актери
- Патник
- Возач
Предуслов
- Возачот го прифатил барањето за патување на патникот и се упатил кон него.
Чекори
- Возачот пристигнува на pick up адресата на патникот.
- Патникот влегува во автомобилот на возачот.
- Патникот му кажува на возачот до каде сака да оди.
- Возачот ја внесува дестинацијата до каде патникот сака да оди.
- Возачот го потврдува завршувањето на барањето и креирањето на патување кликајќи на „Започни патување“.
- Апликацијата го завршува барањето(го сетира статусот на барањето на „Завршено“) и го креира патувањето.
- Возачот и патникот пристигнуваат на дестинациската адреса.
- Апликацијата го завршува патувањето означувајќи го за завршено и ги внесува изминатите километри.
- Патникот ја отвара апликацијата и го одбира начинот на кој сака да го плати патувањето(во овој случај ја одбира картичката).
- Патникот ја внесува својата кредитна картичка и го извршува плаќањето.
- Апликацијата го променува статусот на возачот во „Слободен“.
Постуслов
- Возачот успешно стигнал на дестинациската адреса
- Патникот успешно го извршил плаќањето
SQL
INSERT query за точка 6
INSERT INTO drive (driver_id, request_id, car_id, destination_latitude, destination_longitude) VALUES ((SELECT driver_id FROM driver WHERE first_name='Goce'), (SELECT request_id _id FROM request WHERE number_address=100), (SELECT car_id FROM car WHERE driver_id=(SELECT driver_id FROM driver WHERE first_name='Goce')), 41.98658487414903, 21.41777925176125)
UPDATE query за точка 6
UPDATE request r SET status = 'Finished' WHERE status = 'Confirmed' AND r.passenger_id = (SELECT passenger_id FROM passenger WHERE first_name='Marko')
UPDATE query за точка 8
UPDATE drive d SET km_travelled = 10.1 AND status= 'Finished' WHERE status = 'Confirmed' AND r.passenger_id = (SELECT passenger_id FROM passenger WHERE first_name='Marko')
INSERT query за точка 9-10
INSERT INTO payment (total_sum_payed, drive_id, passenger_id) VALUES ((SELECT km_travelled FROM drive WHERE (SELECT request_id FROM request WHERE number_address=100)=request_id) * (SELECT price_per_km FROM driver WHERE driver_id = (SELECT driver_id FROM drive WHERE (SELECT request_id FROM request WHERE number_address=100)=request_id)), (SELECT drive_id FROM drive WHERE (SELECT request_id FROM request WHERE number_address=100)=request_id AND drive.status = 'Finished'), (SELECT passenger_id FROM passenger WHERE first_name='Marko'))
UPDATE query за точка 11
UPDATE driver d SET status = 'Available' WHERE d.driver_id= (SELECT driver_id FROM drive WHERE (SELECT request_id FROM request WHERE number_address=100)=request_id AND drive.status = 'Finished')
Last modified
2 years ago
Last modified on 12/19/22 15:59:58
Attachments (3)
- mockup_5.JPG (39.2 KB ) - added by 2 years ago.
- mockup_6.JPG (33.7 KB ) - added by 2 years ago.
- mockup_7.JPG (30.9 KB ) - added by 2 years ago.
Download all attachments as: .zip
Note:
See TracWiki
for help on using the wiki.