Changes between Version 1 and Version 2 of UseCase0007


Ignore:
Timestamp:
09/20/26 18:06:29 (10 days ago)
Author:
223306
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase0007

    v1 v2  
    1 = Use-case UC0005 - Персонализирани препораки за книги =
     1= Use-case UC0007 - Управување со преференции =
    22
    33'''Иницирачки актер:''' Купувач
    … …  
    77'''Опис:'''
    88
    9 Најавениот купувач може да добие персонализирани препораки за книги врз основа на неговите преферирани жанрови, категории и избрани расположенија.
     9Најавениот купувач може да управува со своите преференции преку додавање и отстранување на преферирани жанрови, категории и расположенија. Овие податоци се користат при генерирање на персонализирани препораки за книги.
    1010
    1111== Сценарио ==
    1212
    13 1. Купувачот ја отвора страницата со персонализирани препораки.
     131. Купувачот ја отвора страницата за управување со преференции.
    1414
    15 2. Системот ги пронаоѓа преферираните жанрови на најавениот купувач.
     152. Системот ги прикажува моментално избраните жанрови на купувачот.
    1616
    1717{{{
    … …  
    2323}}}
    2424
    25 3. Системот ги пронаоѓа книгите што одговараат на преферираните жанрови.
     253. Купувачот додава нов префериран жанр.
    2626
    2727{{{
    28 SELECT DISTINCT k.kniga_id, k.naslov, k.cena
    29 FROM project.knigi k
    30 JOIN project.ima_zhanr iz ON k.kniga_id = iz.kniga_id
    31 JOIN project.preferira_zhanr pz ON iz.zhanr_id = pz.zhanr_id
    32 WHERE pz.korisnik_id = 1
    33 ORDER BY k.naslov;
     28INSERT INTO project.preferira_zhanr
     29    (korisnik_id, zhanr_id, datum_dodavanje)
     30VALUES
     31    (1, 3, CURRENT_DATE);
    3432}}}
    3533
    36 4. Системот ги пронаоѓа преферираните категории на купувачот.
     344. Купувачот може да отстрани префериран жанр.
     35
     36{{{
     37DELETE FROM project.preferira_zhanr
     38WHERE korisnik_id = 1
     39  AND zhanr_id = 3;
     40}}}
     41
     425. Системот ги прикажува моментално избраните категории на купувачот.
    3743
    3844{{{
    … …  
    4450}}}
    4551
    46 5. Системот ги пронаоѓа книгите што одговараат на преферираните категории.
     526. Купувачот додава нова преферирана категорија.
    4753
    4854{{{
    49 SELECT DISTINCT k.kniga_id, k.naslov, k.cena
    50 FROM project.knigi k
    51 JOIN project.ima_kategorija ik ON k.kniga_id = ik.kniga_id
    52 JOIN project.preferira_kategorija pk ON ik.kategorija_id = pk.kategorija_id
    53 WHERE pk.korisnik_id = 1
    54 ORDER BY k.naslov;
     55INSERT INTO project.preferira_kategorija
     56    (korisnik_id, kategorija_id, datum_dodavanje)
     57VALUES
     58    (1, 1, CURRENT_DATE);
    5559}}}
    5660
    57 6. Системот ги пронаоѓа избраните расположенија на купувачот.
     617. Купувачот може да отстрани преферирана категорија.
     62
     63{{{
     64DELETE FROM project.preferira_kategorija
     65WHERE korisnik_id = 1
     66  AND kategorija_id = 1;
     67}}}
     68
     698. Системот ги прикажува моментално избраните расположенија на купувачот.
    5870
    5971{{{
    … …  
    6678}}}
    6779
    68 7. Системот ги пронаоѓа книгите поврзани со избраните расположенија.
     809. Купувачот избира ново расположение.
    6981
    7082{{{
    71 SELECT DISTINCT k.kniga_id, k.naslov, k.cena
    72 FROM project.knigi k
    73 JOIN project.povrzana_so ps
    74     ON k.kniga_id = ps.kniga_id
    75 JOIN project.izbira_raspolozenie ir
    76     ON ps.raspolozenie_id = ir.raspolozenie_id
    77 WHERE ir.korisnik_id = 1
    78 ORDER BY k.naslov;
     83INSERT INTO project.izbira_raspolozenie
     84    (korisnik_id, raspolozenie_id, datum_izbor)
     85VALUES
     86    (1, 2, CURRENT_DATE);
    7987}}}
    8088
    81 8. Системот ги комбинира жанровите, категориите и расположенијата и ги прикажува персонализираните препораки.
     8910. Купувачот може да отстрани избрано расположение.
    8290
    8391{{{
    84 SELECT DISTINCT k.kniga_id, k.naslov, k.cena
    85 FROM project.knigi k
    86 
    87 LEFT JOIN project.ima_zhanr iz
    88     ON k.kniga_id = iz.kniga_id
    89 LEFT JOIN project.preferira_zhanr pz
    90     ON iz.zhanr_id = pz.zhanr_id
    91     AND pz.korisnik_id = 1
    92 
    93 LEFT JOIN project.ima_kategorija ik
    94     ON k.kniga_id = ik.kniga_id
    95 LEFT JOIN project.preferira_kategorija pk
    96     ON ik.kategorija_id = pk.kategorija_id
    97     AND pk.korisnik_id = 1
    98 
    99 LEFT JOIN project.povrzana_so ps
    100     ON k.kniga_id = ps.kniga_id
    101 LEFT JOIN project.izbira_raspolozenie ir
    102     ON ps.raspolozenie_id = ir.raspolozenie_id
    103     AND ir.korisnik_id = 1
    104 
    105 WHERE pz.korisnik_id IS NOT NULL
    106    OR pk.korisnik_id IS NOT NULL
    107    OR ir.korisnik_id IS NOT NULL
    108 
    109 ORDER BY k.naslov;
     92DELETE FROM project.izbira_raspolozenie
     93WHERE korisnik_id = 1
     94  AND raspolozenie_id = 2;
    11095}}}
    11196
    112 9. Купувачот ги добива книгите што одговараат на неговите преференции и избрани расположенија.
     9711. Системот ги зачувува промените во преференциите на купувачот.