| Version 1 (modified by , 3 weeks ago) ( diff ) |
|---|
Остави рецензија (Leave Review)
Актери
Најавен корисник (клиент)
Чекор 1
Корисникот ја отвора страницата „My Appointments“. Системот ги прикажува сите негови термини и го пресметува условот дали може да се остави рецензија (терминот мора да е платен и завршен).
SQL поглед што го користи системот:
SELECT appointment_id, appointment_time, end_time, paid_payment_id, can_review FROM v_user_appointments_payment_state WHERE user_id = $1;
Чекор 2
Корисникот избира термин за кој има право да остави рецензија и ја отвора формата за внес:
- рејтинг (1–5)
- коментар (опционално)
Чекор 3
Корисникот ја потврдува рецензијата. Системот ги проверува условите:
- плаќањето постои,
- статусот е PAID,
- терминот е завршен,
- терминот е од истиот корисник,
- нема постоечка рецензија за ова плаќање.
SQL што се користи:
SELECT sp_create_review( $1::int, -- user_id $2::int, -- payment_id $3::int, -- rating $4::text -- comment ) AS review_id;
Чекор 4
Системот ја креира рецензијата во базата.
Внатрешната SQL операција во функцијата sp_create_review:
INSERT INTO review (rating, comment, payment_id) VALUES (p_rating, p_comment, p_payment_id) RETURNING review_id;
Резултат
Новата рецензија е успешно зачувана во базата.
Корисникот повеќе не може да остави друга рецензија за истиот термин.
Рецензијата станува видлива во „My Appointments“ и во „Преглед на услуги“ каде се пресметуваат новите просечни оценки.
