wiki:ImportantUseCase4

Барање на понуда од артист за одреден настан

*сликите во наредните чекори не се конечен изглед на апликацијата, туку само цртежи/скици

Актери:

  • Организатор

Чекор 1

Организаторот треба да го отвори профилот на одреден артист.

select u.email, u.username, u.name, u.created_at, u.type,
        a.*, at2.name as artist_type_name, u2.name as manager_full_name
        from users u 
        inner join artists a
                on u.id = a.user_id 
        inner join artist_types at2 
                on a.artist_type_id = at2.id 
        inner join managers m 
                on a.manager_id = m.user_id 
        inner join users u2 
                on u2.id = m.user_id
        where u.username like '%taylor-swift%';

select g.name as genre_name
        from users u 
        inner join artists a
                on u.id = a.user_id 
        inner join artist_sings_genres asg 
                on a.user_id = asg.artist_id
        inner join genres g 
                on g.id = asg.genre_id 
        where u.username like '%taylor-swift%';

select ai.path as image_path
        from users u 
        inner join artists a
                on u.id = a.user_id 
        inner join artist_images ai 
                on a.user_id = ai.artist_id 
        where u.username like '%taylor-swift%';

Чекор 2

Со клик на копчето “Побарај понуда” тој ќе биде пренасочен кон страната за барање на понуда. Доколку Организаторот има претходно креирани настани, тој ќе има можност да избере настан за кој ќе сака да побара понуда од артистот, но исто така ќе има можност и да побара понуда за некој нов настан. Во случај да бара понуда за нов настан - ќе биде прикажана форма со информации за настанот која Организаторот треба да ја пополни за да испрати барање за понуда до артистот.

-- gi lista nastanite - dokolku organizatorot ima vekje postoecki
select * from events e
        where e.organizer_id = (
                select u.id from users u 
                where u.email = 'v_organizer@mail.com'
        );

-- vmetnuva nov nastan
INSERT INTO project.events (title, slug, start_time, end_time, event_date, city, country, description,
                            event_type_id, organizer_id, created_at)
VALUES ('Igor''s Birthday', 'igors-birthday', '21:00:00', '23:30:00', '2022-09-15', 'Belgrade', 'Serbia',
        'It''s my birthday!', (select e.id from event_types e where e.name = 'Birthday'), (
                select u.id from users u 
                where u.email = 'v_organizer@mail.com'
        ), NOW());

-- kreira ponuda so prethodno vneseniot nastan
INSERT INTO project.offers (slug,payment_type,status,created_at,artist_id,event_id)
        VALUES ('offer-igors-birthday-jkASHDhASD',1,1,now(),(select u.id from users u where u.email = 'v_artist@mail.com'), (select e.id from events e where e.slug = 'igors-birthday'));

Чекор 3

Плаќање на артистот за одреден настан.

INSERT INTO project.transactions ("name",stripe_id,stripe_price,created_at,offer_id)
        VALUES ('t-init-iH3NAezVs23ytMB8dLx8pxTOIQZPLnLceVFUHTMJa1lvVkiJkMYhpFSfJtMNLLQIjcaSKKVKA5ELmnjySYYwTIXz7J0RlihS9FUfXXP2dcG2ROeLPN0ndhYL','1234','1',now(),(select o.id from offers o where o.slug = 'offer-igors-birthday-jkASHDhASD'))
Last modified 2 years ago Last modified on 03/10/22 17:19:08

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.