Version 2 (modified by marek, 14 years ago) |
---|
Ogłoszenia gazetowe
Podział wg rodzaju klienta
Klient bez abonamentu
1. Płatność online
Klient zamawia ogłoszenia do gazety za pomocą systemu zamawiania, dodaje ogłoszenia do koszyka i płaci za zamówienie online. W tej sytuacji mamy zapłacone zamówienie, które zawiera ogłoszenia z dodatkiem gazetowym, które powinno się ukazać w następnym wydaniu gazety.
2. Płatność za pomocą kredytu kupieckiego
Klient posiada pewien kredyt do wykorzystania na zamówienie produktów w systemie zamawiania. Gdy wartość zamówienia nie przekracza wysokości kredytu kupieckiego klient nie musi płacić online za takie zamówienie, może zapłacić przelewem w późniejszym terminie. Wówczas tworzymy zamówienie, które zawiera ogłoszenia z dodatkiem gazetowym, które powinno się ukazać w następnym wydaniu gazety.
Klient z abonamentu
W tym przypadku nie mamy do czynienia z koszykiem, mamy za to aktywny abonament, w ramach którego klient może dodawać ogłoszenia. Każde z ogłoszeń abonamentowych może mieć dodany pakiet gazetowy. Za pakiet gazetowy klient powinien zapłacić dodatkowo. Podczas generowania (na żądanie) ogłoszeń gazetowych powinniśmy dla każdego klienta posiadającego abonament i aktywne ogłoszenia z dodatkiem gazetowym:
- utworzyć zamówienie na ogłoszenia gazetowe, ale tylko wtedy gdy wartość tego zamówienia nie przekracza wysokości kredytu kupieckiego
- w przypadku gdy wartość zamówienia przekracza wysokość kredytu kupieckiego wysyłamy maila klientowi z informacją, że jego ogłoszenia gazetowe się nie ukażą w najnowszym wydaniu, bo ma jakieś zaległości lub wartość zamówienia przekracza dopuszczalny kredyt kupiecki.
- tylko te ogłoszenia, dla których zostały utworzone zamówienia przekazujemy do produkcji gazety
Generowanie
Funkcja generująca ogłoszenia do gazety powinna posiadać przynajmniej jeden parametr:
- generateOrders [true, false]
Jeśli 'true' to wtedy powinny być utworzone zamówienia oraz wysłane maile do klientów. Jeśli 'false' to zwracamy tylko ogłoszenia z dodatkiem gazetowym, które są aktualnie online.
Funkcja z parametrem 'generateOrders = true' powinna zostać wywołana tylko raz na dane wydanie.