Changes between Initial Version and Version 1 of UseCase0004


Ignore:
Timestamp:
09/17/26 01:58:00 (2 weeks ago)
Author:
201178
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase0004

    v1 v1  
     1= UseCase0004 - Процесирање на плаќање =
     2
     3'''Актер иницијатор:''' Келнер
     4
     5'''Други актери:''' нема
     6
     7== Опис ==
     8
     9Келнерот го процесира плаќањето на нарачката. Системот ја пресметува вкупната сума, го внесува плаќањето, ја ажурира состојбата на нарачката на „платена", ја ослободува масата и генерира фактура.
     10
     11== Сценарио ==
     12
     13 1. Келнерот избира нарачка за плаќање (order_id = 8).
     14
     15 2. Системот ја пресметува вкупната сума:
     16{{{
     17SELECT SUM(quantity * unit_price) AS total
     18FROM project.order_item
     19WHERE order_id = 8;
     20}}}
     21
     22 3. Системот ја прикажува сумата и ги нуди методите на плаќање (кеш, картичка, трансфер).
     23
     24 4. Келнерот избира метод (на пр. „кеш") и потврдува.
     25
     26 5. Системот го внесува плаќањето:
     27{{{
     28INSERT INTO project.payment (order_id, amount, method)
     29VALUES (8, 160.00, 'кеш')
     30RETURNING payment_id;
     31}}}
     32
     33 6. Системот генерира фактура:
     34{{{
     35INSERT INTO project.invoice (payment_id, invoice_number)
     36VALUES (currval('project.payment_payment_id_seq'), 'INV-2026-0008')
     37RETURNING invoice_id, invoice_number;
     38}}}
     39
     40 7. Системот ја ажурира состојбата на нарачката:
     41{{{
     42UPDATE project.orders
     43SET status = 'платена'
     44WHERE order_id = 8;
     45}}}
     46
     47 8. Системот ја ослободува масата:
     48{{{
     49UPDATE project.restaurant_table
     50SET status = 'слободна'
     51WHERE table_id = (SELECT table_id FROM project.orders WHERE order_id = 8);
     52}}}
     53
     54 9. Системот го запишува настанот:
     55{{{
     56INSERT INTO project.audit_log (user_id, action, entity_name)
     57VALUES (3, 'PAY_ORDER', 'payment');
     58}}}
     59
     60 10. Системот прикажува потврда и ја печати фактурата.