[b101b69] | 1 | package mk.ukim.finki.busngo.service.impl;
|
---|
| 2 |
|
---|
| 3 | import mk.ukim.finki.busngo.model.entities.Bilet;
|
---|
| 4 | import mk.ukim.finki.busngo.model.entities.Korisnik;
|
---|
| 5 | import mk.ukim.finki.busngo.model.entities.Tipbilet;
|
---|
| 6 | import mk.ukim.finki.busngo.model.enums.BILET_STATUS;
|
---|
| 7 | import mk.ukim.finki.busngo.model.exceptions.InvalidTipBiletIdException;
|
---|
| 8 | import mk.ukim.finki.busngo.repository.BiletRepository;
|
---|
| 9 | import mk.ukim.finki.busngo.repository.TipBIletRepository;
|
---|
| 10 | import mk.ukim.finki.busngo.service.BiletService;
|
---|
| 11 | import mk.ukim.finki.busngo.service.KorisnikService;
|
---|
| 12 | import mk.ukim.finki.busngo.service.PatnikService;
|
---|
| 13 | import org.springframework.stereotype.Service;
|
---|
| 14 |
|
---|
| 15 | import java.sql.Timestamp;
|
---|
| 16 | import java.time.LocalDateTime;
|
---|
| 17 | import java.util.ArrayList;
|
---|
| 18 | import java.util.List;
|
---|
| 19 |
|
---|
| 20 | @Service
|
---|
| 21 | public class BiletServiceImpl implements BiletService {
|
---|
| 22 | private final BiletRepository biletRepository;
|
---|
| 23 | private final KorisnikService korisnikService;
|
---|
| 24 | private final TipBIletRepository tipBIletRepository;
|
---|
| 25 | private final PatnikService patnikService;
|
---|
| 26 |
|
---|
| 27 | public BiletServiceImpl(BiletRepository biletRepository, KorisnikService korisnikService, TipBIletRepository tipBIletRepository, PatnikService patnikService) {
|
---|
| 28 | this.biletRepository = biletRepository;
|
---|
| 29 | this.korisnikService = korisnikService;
|
---|
| 30 | this.tipBIletRepository = tipBIletRepository;
|
---|
| 31 | this.patnikService = patnikService;
|
---|
| 32 | }
|
---|
| 33 |
|
---|
| 34 | @Override
|
---|
| 35 | public List<Bilet> listAll() {
|
---|
| 36 | return biletRepository.findAll();
|
---|
| 37 | }
|
---|
| 38 |
|
---|
| 39 | @Override
|
---|
| 40 | public List<Bilet> findAllByPatnikId(Long id) {
|
---|
| 41 | Korisnik korisnik = korisnikService.findById(id);
|
---|
| 42 | return new ArrayList<>();
|
---|
| 43 | }
|
---|
| 44 |
|
---|
| 45 | @Override
|
---|
| 46 | public List<Bilet> findAllByPatnikIdAndStatus(Long id, BILET_STATUS status) {
|
---|
| 47 | Korisnik korisnik = korisnikService.findById(id);
|
---|
| 48 | return new ArrayList<>();
|
---|
| 49 | }
|
---|
| 50 |
|
---|
| 51 | @Override
|
---|
| 52 | public Bilet buy(Long tipbilet, LocalDateTime now, BILET_STATUS biletStatus, String name) {
|
---|
| 53 | Tipbilet tipbilet1 = tipBIletRepository.findById(tipbilet).orElseThrow(InvalidTipBiletIdException::new);
|
---|
| 54 | Korisnik korisnik = korisnikService.loadUserByEmail(name);
|
---|
| 55 | Bilet bilet = new Bilet();
|
---|
| 56 | bilet.setBStatus(biletStatus);
|
---|
| 57 | bilet.setTipbiletByTbId(tipbilet1);
|
---|
| 58 | bilet.setBDatumNaKupuvanje(Timestamp.valueOf(now));
|
---|
| 59 | bilet.setKorisnikByPatnikKId(korisnik);
|
---|
| 60 | return biletRepository.save(bilet);
|
---|
| 61 | }
|
---|
| 62 | }
|
---|