Changeset e272096 for src/main/java/mk/ukim/finki/busngo
- Timestamp:
- 02/18/24 22:01:54 (9 months ago)
- Branches:
- master
- Children:
- 4251327
- Parents:
- bde8b13
- Location:
- src/main/java/mk/ukim/finki/busngo
- Files:
-
- 2 added
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
src/main/java/mk/ukim/finki/busngo/repository/BiletRepository.java
rbde8b13 re272096 15 15 // List<Bilet> findAllByKorisnikByPatnikKId(Korisnik korisnik); 16 16 Optional<Bilet> findByBIdAndAndKorisnikByPatnikKId(Long bid, Patnik patnik); 17 // List<Bilet> findAllByKorisnikByPatnikKIdAndBStatus(Patnik patnik, BILET_STATUS status); 17 18 } -
src/main/java/mk/ukim/finki/busngo/repository/VozenjeRepository.java
rbde8b13 re272096 3 3 import mk.ukim.finki.busngo.model.entities.Patnik; 4 4 import mk.ukim.finki.busngo.model.entities.Vozenje; 5 import mk.ukim.finki.busngo.model.enums.VOZENJE_STATUS; 5 6 import org.springframework.data.jpa.repository.JpaRepository; 6 7 … … 9 10 public interface VozenjeRepository extends JpaRepository<Vozenje, Long> { 10 11 List<Vozenje> findAllByKorisnikByPatnikKId(Patnik patnik); 12 List<Vozenje> findAllByKorisnikByPatnikKIdAndAndVozenjeStatus(Patnik patnik, VOZENJE_STATUS vozenjeStatus); 11 13 } -
src/main/java/mk/ukim/finki/busngo/service/AuthService.java
rbde8b13 re272096 2 2 3 3 import mk.ukim.finki.busngo.model.entities.Korisnik; 4 import mk.ukim.finki.busngo.model.enums.VrabotenType; 4 5 5 6 public interface AuthService { 6 7 Korisnik login(String email, String password); 7 8 Korisnik registerPatnik(String ime, String email, String password, String confirmPassword, String address, String telefon); 9 Korisnik registerVraboten(String ime, String email, String password, String confirmPassword, String address, String telefon, VrabotenType type, Double salary); 8 10 9 11 } -
src/main/java/mk/ukim/finki/busngo/service/BiletService.java
rbde8b13 re272096 16 16 17 17 List<Bilet> findAllByPatnikEmail(String email); 18 // List<Bilet> findAllByPatnikEmailACTIVE(String email); 18 19 Bilet findBybIdAndPatnikEmail(Long bId, String email); 19 20 -
src/main/java/mk/ukim/finki/busngo/service/InstancaNaLinijaService.java
rbde8b13 re272096 11 11 Instancanalinija findById(Long inlId); 12 12 Instancanalinija start(Long liId, String a_registracija, String email); 13 Instancanalinija end(Long inlId );13 Instancanalinija end(Long inlId, String email); 14 14 List<Instancanalinija> findAllActive(); 15 15 -
src/main/java/mk/ukim/finki/busngo/service/KaznaService.java
rbde8b13 re272096 8 8 List<Kazna> findAll(); 9 9 List<Kazna> findAllByKontrolaId(Long kontrolaId); 10 Kazna pay(Long kaznaId); 11 Kazna findById(Long id); 10 12 } -
src/main/java/mk/ukim/finki/busngo/service/KaznaZaRegistriranService.java
rbde8b13 re272096 1 1 package mk.ukim.finki.busngo.service; 2 2 3 import mk.ukim.finki.busngo.model.entities.Kazna; 3 4 import mk.ukim.finki.busngo.model.entities.Kaznazaregistriran; 4 5 import mk.ukim.finki.busngo.model.exceptions.UserShouldNotBeTicketedException; … … 10 11 11 12 Kaznazaregistriran create(Long kontrolaId, String dokument, Double iznos, Long patnik, String email) throws UserShouldNotBeTicketedException; 13 Kaznazaregistriran pay(Long kaznaId); 14 Kaznazaregistriran findById(Long id); 12 15 } -
src/main/java/mk/ukim/finki/busngo/service/VozenjeService.java
rbde8b13 re272096 2 2 3 3 import mk.ukim.finki.busngo.model.entities.Vozenje; 4 import mk.ukim.finki.busngo.model.enums.VOZENJE_STATUS; 4 5 5 6 import java.util.List; … … 7 8 public interface VozenjeService { 8 9 List<Vozenje> findVozenjaByPatnik(String email); 10 List<Vozenje> findVozenjaByPatnikAndStatus(String email, VOZENJE_STATUS status); 9 11 Vozenje start(String email, Long bId, Long pnlId, Long inlId); 10 12 Vozenje end(Long vozenjeId, Long pnlId); -
src/main/java/mk/ukim/finki/busngo/service/impl/AuthServiceImpl.java
rbde8b13 re272096 1 1 package mk.ukim.finki.busngo.service.impl; 2 2 3 import mk.ukim.finki.busngo.model.entities.Kondukter; 3 4 import mk.ukim.finki.busngo.model.entities.Korisnik; 4 5 import mk.ukim.finki.busngo.model.entities.Patnik; 6 import mk.ukim.finki.busngo.model.entities.Vozac; 7 import mk.ukim.finki.busngo.model.enums.VrabotenType; 5 8 import mk.ukim.finki.busngo.model.exceptions.InvalidCredentialsException; 6 9 import mk.ukim.finki.busngo.model.exceptions.UserAlreadyExistsException; 10 import mk.ukim.finki.busngo.repository.KondukterRepository; 7 11 import mk.ukim.finki.busngo.repository.KorisnikRepository; 8 12 import mk.ukim.finki.busngo.repository.PatnikRepository; 9 import mk.ukim.finki.busngo.service.AuthService; 13 import mk.ukim.finki.busngo.repository.VozacRepository; 14 import mk.ukim.finki.busngo.service.*; 10 15 import org.springframework.security.crypto.password.PasswordEncoder; 11 16 import org.springframework.stereotype.Service; 17 18 import java.sql.Date; 19 import java.time.LocalDate; 12 20 13 21 @Service … … 15 23 private final KorisnikRepository korisnikRepository; 16 24 private final PatnikRepository patnikRepository; 25 private final VozacRepository vozacRepository; 26 private final KondukterRepository kondukterRepository; 17 27 private final PasswordEncoder passwordEncoder; 28 private final PatnikService patnikService; 29 private final KondukterService kondukterService; 30 private final VozacService vozacService; 18 31 19 public AuthServiceImpl(KorisnikRepository korisnikRepository, PatnikRepository patnikRepository, PasswordEncoder passwordEncoder) {32 public AuthServiceImpl(KorisnikRepository korisnikRepository, PatnikRepository patnikRepository, VozacRepository vozacRepository, KondukterRepository kondukterRepository, PasswordEncoder passwordEncoder, PatnikService patnikService, KondukterService kondukterService, VozacService vozacService) { 20 33 this.korisnikRepository = korisnikRepository; 21 34 this.patnikRepository = patnikRepository; 35 this.vozacRepository = vozacRepository; 36 this.kondukterRepository = kondukterRepository; 22 37 this.passwordEncoder = passwordEncoder; 38 this.patnikService = patnikService; 39 this.kondukterService = kondukterService; 40 this.vozacService = vozacService; 23 41 } 24 42 … … 52 70 korisnik.setKIsAdmin(false); 53 71 72 return patnikRepository.save(korisnik); 73 } 54 74 55 return patnikRepository.save(korisnik); 75 @Override 76 public Korisnik registerVraboten(String ime, String email, String password, String confirmPassword, String address, String telefon, VrabotenType type, Double salary) { 77 if (email == null || password == null || email.isEmpty() || password.isEmpty()) { 78 throw new InvalidCredentialsException(); 79 } 80 81 if (!password.equals(confirmPassword)) { 82 throw new InvalidCredentialsException(); 83 } 84 85 if(this.korisnikRepository.findByKEmail(email).isPresent()) { 86 throw new UserAlreadyExistsException(email); 87 } 88 89 90 switch (type){ 91 case ADMIN: 92 Korisnik korisnik = new Korisnik(); 93 korisnik.setKIme(ime); 94 korisnik.setKAdresa(address); 95 korisnik.setKLozinka(passwordEncoder.encode(password)); 96 korisnik.setKEmail(email); 97 korisnik.setKTelefon(telefon); 98 korisnik.setKIsAdmin(true); 99 return korisnikRepository.save(korisnik); 100 case VOZAC: 101 Vozac vozac = new Vozac(); 102 vozac.setKIme(ime); 103 vozac.setKAdresa(address); 104 vozac.setKLozinka(passwordEncoder.encode(password)); 105 vozac.setKEmail(email); 106 vozac.setKTelefon(telefon); 107 vozac.setKIsAdmin(false); 108 vozac.setVPlata(salary); 109 vozac.setVDatumNaVrabotuvanje(Date.valueOf(LocalDate.now())); 110 this.korisnikRepository.save(vozac); 111 112 return vozacRepository.save(vozac); 113 case KONDUKTER: 114 Kondukter kondukter = new Kondukter(); 115 kondukter.setKIme(ime); 116 kondukter.setKAdresa(address); 117 kondukter.setKLozinka(passwordEncoder.encode(password)); 118 kondukter.setKEmail(email); 119 kondukter.setKTelefon(telefon); 120 kondukter.setKIsAdmin(false); 121 kondukter.setVPlata(salary); 122 kondukter.setVDatumNaVrabotuvanje(Date.valueOf(LocalDate.now())); 123 this.korisnikRepository.save(kondukter); 124 125 return kondukterRepository.save(kondukter); 126 } 127 return null; 56 128 } 57 129 -
src/main/java/mk/ukim/finki/busngo/service/impl/BiletServiceImpl.java
rbde8b13 re272096 16 16 import org.springframework.security.crypto.password.PasswordEncoder; 17 17 import org.springframework.stereotype.Service; 18 import org.thymeleaf.expression.Lists; 18 19 19 20 import java.sql.Timestamp; … … 75 76 } 76 77 78 // @Override 79 // public List<Bilet> findAllByPatnikEmailACTIVE(String email) { 80 // Patnik patnik = patnikService.loadUserByEmail(email); 81 // List<Bilet> allByKorisnikByPatnikKIdAndBStatus = biletRepository.findAllByKorisnikByPatnikKIdAndBStatus(patnik, BILET_STATUS.ACTIVE); 82 // List<Bilet> allByKorisnikByPatnikKIdAndBStatus1 = biletRepository.findAllByKorisnikByPatnikKIdAndBStatus(patnik, BILET_STATUS.INACTIVE); 83 // allByKorisnikByPatnikKIdAndBStatus1.addAll(allByKorisnikByPatnikKIdAndBStatus); 84 // return allByKorisnikByPatnikKIdAndBStatus1; 85 // } 86 77 87 @Override 78 88 public Bilet findBybIdAndPatnikEmail(Long bId, String email) { -
src/main/java/mk/ukim/finki/busngo/service/impl/InstancaNaLinijaServiceImpl.java
rbde8b13 re272096 52 52 53 53 @Override 54 public Instancanalinija end(Long inlId) { 54 public Instancanalinija end(Long inlId, String email) { 55 Vozac vozac = vozacService.findByEmail(email); 55 56 Instancanalinija instancanalinija = this.findById(inlId); 56 57 instancanalinija.setInlDatumEnd(Timestamp.valueOf(LocalDateTime.now())); -
src/main/java/mk/ukim/finki/busngo/service/impl/KaznaServiceImpl.java
rbde8b13 re272096 8 8 import org.springframework.stereotype.Service; 9 9 10 import java.sql.Timestamp; 11 import java.time.LocalDateTime; 10 12 import java.util.List; 11 13 … … 30 32 return kaznaRepository.findAllByKontroliByKontrolaId(kontroli); 31 33 } 34 35 @Override 36 public Kazna pay(Long kaznaId) { 37 Kazna kazna = this.findById(kaznaId); 38 kazna.setKzPlateno(true); 39 kazna.setKzDatumPlateno(Timestamp.valueOf(LocalDateTime.now())); 40 return kaznaRepository.save(kazna); 41 } 42 43 @Override 44 public Kazna findById(Long id) { 45 return kaznaRepository.findById(id).orElseThrow(RuntimeException::new); 46 } 32 47 } -
src/main/java/mk/ukim/finki/busngo/service/impl/KaznaZaRegistriranServiceImpl.java
rbde8b13 re272096 59 59 kontroli.getInstancanalinijaByInlId().getInlId())); 60 60 } 61 62 @Override 63 public Kaznazaregistriran pay(Long kaznaId) { 64 Kaznazaregistriran kazna = this.findById(kaznaId); 65 if(!kazna.getKzPlateno()){ 66 kazna.setKzPlateno(true); 67 kazna.setKzDatumPlateno(Timestamp.valueOf(LocalDateTime.now())); 68 } 69 return kaznaZaRegistriranRepository.save(kazna); 70 } 71 72 @Override 73 public Kaznazaregistriran findById(Long id) { 74 return kaznaZaRegistriranRepository.findById(id).orElseThrow(RuntimeException::new); 75 } 61 76 } -
src/main/java/mk/ukim/finki/busngo/service/impl/VozenjeServiceImpl.java
rbde8b13 re272096 33 33 Patnik patnik = patnikService.loadUserByEmail(email); 34 34 return vozenjeRepository.findAllByKorisnikByPatnikKId(patnik); 35 } 36 37 @Override 38 public List<Vozenje> findVozenjaByPatnikAndStatus(String email, VOZENJE_STATUS status) { 39 Patnik patnik = patnikService.loadUserByEmail(email); 40 return vozenjeRepository.findAllByKorisnikByPatnikKIdAndAndVozenjeStatus(patnik, status); 35 41 } 36 42 -
src/main/java/mk/ukim/finki/busngo/web/BiletController.java
rbde8b13 re272096 41 41 Patnik patnik = null; 42 42 try{ 43 patnik = patnikService.loadUserByEmail(authentication.getName()); 43 44 model.addAttribute("bileti", biletService.findAllByPatnikEmail(authentication.getName())); 44 45 } -
src/main/java/mk/ukim/finki/busngo/web/InstancaNaLinijaController.java
rbde8b13 re272096 71 71 72 72 @PostMapping("/{inlId}/end") 73 public String endInstanca(@PathVariable Long inlId){ 74 Instancanalinija ended = instancaNaLinijaService.end(inlId); 73 public String endInstanca(@PathVariable Long inlId, 74 Authentication authentication){ 75 Instancanalinija ended = instancaNaLinijaService.end(inlId, authentication.getName()); 75 76 return "redirect:/instanca-na-linija/" + ended.getInlId(); 76 77 } -
src/main/java/mk/ukim/finki/busngo/web/KaznaController.java
rbde8b13 re272096 9 9 import org.springframework.ui.Model; 10 10 import org.springframework.web.bind.annotation.GetMapping; 11 import org.springframework.web.bind.annotation.PathVariable; 12 import org.springframework.web.bind.annotation.PostMapping; 11 13 import org.springframework.web.bind.annotation.RequestMapping; 12 14 … … 37 39 return "master-template"; 38 40 } 41 42 @PostMapping("/{id}/pay") 43 public String pay(@PathVariable Long id, 44 Model model){ 45 kaznaZaRegistriranService.pay(id); 46 return "redirect:/kazna"; 47 } 48 39 49 } -
src/main/java/mk/ukim/finki/busngo/web/RegisterController.java
rbde8b13 re272096 2 2 3 3 import mk.ukim.finki.busngo.model.entities.Korisnik; 4 import mk.ukim.finki.busngo.model.enums.VrabotenType; 4 5 import mk.ukim.finki.busngo.model.exceptions.InvalidCredentialsException; 5 6 import mk.ukim.finki.busngo.model.exceptions.UserAlreadyExistsException; … … 34 35 } 35 36 37 model.addAttribute("types", VrabotenType.values()); 38 36 39 model.addAttribute("bodyContent", "register"); 37 40 return "master-template"; … … 44 47 @RequestParam String confirmPassword, 45 48 @RequestParam String address, 46 @RequestParam String phone 47 ) { 49 @RequestParam String phone, 50 @RequestParam(required = false)VrabotenType vrabotenType, 51 @RequestParam(required = false) Double salary 52 ) { 48 53 try{ 49 Korisnik korisnik = this.authService.registerPatnik(name, email, password, confirmPassword, address, phone); 50 this.patnikService.save(korisnik); 54 Korisnik korisnik; 55 if(vrabotenType != null){ 56 korisnik = this.authService.registerVraboten(name, email, password, confirmPassword, address, phone, vrabotenType, salary); 57 58 } 59 else 60 korisnik = this.authService.registerPatnik(name, email, password, confirmPassword, address, phone); 51 61 return "redirect:/login"; 52 62 } catch (InvalidCredentialsException | UserAlreadyExistsException exception) { -
src/main/java/mk/ukim/finki/busngo/web/VozenjeController.java
rbde8b13 re272096 4 4 import mk.ukim.finki.busngo.model.entities.Patnik; 5 5 import mk.ukim.finki.busngo.model.entities.Vozenje; 6 import mk.ukim.finki.busngo.model.enums.VOZENJE_STATUS; 6 7 import mk.ukim.finki.busngo.model.exceptions.InvalidPatnikIdException; 7 8 import mk.ukim.finki.busngo.model.exceptions.InvalidPostojkaNaLinijaIdException; … … 29 30 @GetMapping() 30 31 public String getVozenjePage(Model model, 31 Authentication authentication){ 32 Authentication authentication, 33 @RequestParam(required = false) VOZENJE_STATUS status){ 32 34 model.addAttribute("bodyContent", "listVozenja"); 33 35 Patnik patnik = null; 34 36 try{ 35 model.addAttribute("vozenja", vozenjeService.findVozenjaByPatnik(authentication.getName())); 37 if(status != null) 38 model.addAttribute("vozenja", vozenjeService.findVozenjaByPatnikAndStatus(authentication.getName(), status)); 39 else 40 model.addAttribute("vozenja", vozenjeService.findVozenjaByPatnikAndStatus(authentication.getName(), VOZENJE_STATUS.ACTIVE)); 41 model.addAttribute("vozStatus", VOZENJE_STATUS.values()); 36 42 } 37 43 catch (InvalidPatnikIdException e){
Note:
See TracChangeset
for help on using the changeset viewer.