Changeset 3f0bf09
- Timestamp:
- 02/12/22 15:30:06 (2 years ago)
- Branches:
- master
- Children:
- b6e52e1
- Parents:
- 8f153ca
- Location:
- sources/app/src/main/java/parkup
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
sources/app/src/main/java/parkup/controllers/ParkingSessionController.java
r8f153ca r3f0bf09 23 23 } 24 24 25 // @GetMapping({"/parkingSession/{parkingSessionId}"}) 26 // public ParkingSession getParkingSession(@PathVariable int parkingSessionId) { 27 // ParkingSession parkingSession = parkingSessionService.findById(parkingSessionId); 28 // if (parkingSession != null) { 29 // return parkingSession; 30 // } else { 31 // throw new RuntimeException("ParkingSession not found"); 32 // } 33 // } 34 35 @PostMapping({"/parkingSession/{parkingZoneId}"}) 25 @PostMapping({"/parkingSession/{parkingZoneName}"}) 36 26 public Optional<ParkingSession> startParkingSession(@RequestParam String tablicka, @PathVariable String parkingZoneName) { 37 27 return this.parkingSessionService.startParkingSession(tablicka,parkingZoneName); 38 28 } 39 // TODO: vidi kako kje funkcionira update na sesija i nejzino plakjanje so frontot40 29 41 // @PutMapping({"/parkingSession/{parkingSessionId}"})42 // public void updateParkingSession(@PathVariable int parkingSessionId, @RequestBody ParkingSession parkingSession) {43 // parkingSessionService.updateParkingSession(parkingSessionId,44 // parkingSession.getTimeStart(), parkingSession.getTimeEnd(), parkingSession.getTablica());45 // }46 // @PutMapping({"/parkingSession/pay/{parkingSessionId"})47 // public void payParkingSession(@PathVariable int parkingSessionId){48 // parkingSessionService.paySession49 // }50 30 @PutMapping("/parkingSession/end/{parkingSessionId}") 51 31 public ParkingSession endParkingSession(@PathVariable int parkingSessionId){ -
sources/app/src/main/java/parkup/entities/ParkingSession.java
r8f153ca r3f0bf09 47 47 48 48 49 // public ParkingSpace getParkingSpace() {50 // return parkingSpace;51 // }52 //53 // public void setParkingSpace(ParkingSpace parkingSpace) {54 // this.parkingSpace = parkingSpace;55 // }56 49 57 50 public ParkingSession() { -
sources/app/src/main/java/parkup/services/ParkingSessionService.java
r8f153ca r3f0bf09 2 2 3 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.security.core.Authentication; 4 5 import org.springframework.stereotype.Service; 6 import parkup.ParkUpApplication; 5 7 import parkup.data.Plate; 6 8 import parkup.data.enumarations.SessionStatus; 7 import parkup.entities.ParkingSession; 8 import parkup.entities.ParkingSpace; 9 import parkup.entities.ParkingZone; 10 import parkup.entities.RegisteredUser; 9 import parkup.entities.*; 11 10 import parkup.repositories.*; 12 11 … … 25 24 private final RegisteredUserRepository registeredUserRepository; 26 25 private final PlateRepository plateRepository; 26 private final GuestRepository guestRepository; 27 27 28 28 @Autowired 29 public ParkingSessionService(ParkingSessionRepository parkingSessionRepository, ParkingZoneRepository parkingZoneRepository, ParkingSpaceRepository parkingSpaceRepository, RegisteredUserRepository registeredUserRepository, PlateRepository plateRepository ) {29 public ParkingSessionService(ParkingSessionRepository parkingSessionRepository, ParkingZoneRepository parkingZoneRepository, ParkingSpaceRepository parkingSpaceRepository, RegisteredUserRepository registeredUserRepository, PlateRepository plateRepository, GuestRepository guestRepository) { 30 30 this.parkingSessionRepository = parkingSessionRepository; 31 31 this.parkingZoneRepository = parkingZoneRepository; … … 33 33 this.registeredUserRepository = registeredUserRepository; 34 34 this.plateRepository = plateRepository; 35 this.guestRepository = guestRepository; 35 36 } 36 37 … … 74 75 public Optional<ParkingSession> startParkingSession(String tablica, String parkingZoneName) { 75 76 ParkingZone parkingZone = parkingZoneRepository.findByPzName(parkingZoneName); 77 Authentication token = ParkUpApplication.getToken(); 76 78 Plate plate = plateRepository.findByPlate(tablica); 77 79 if(plate ==null) { … … 82 84 sessionToAdd.setParkingZone(parkingZone); 83 85 parkingSessionRepository.save(sessionToAdd); 86 String role =token.getAuthorities().stream().findFirst().get().getAuthority(); 87 String email =token.getName(); 88 if(role.equals("ROLE_REG_USER")){ 89 RegisteredUser user = registeredUserRepository.findRegisteredUserByEmail(email).get(); 90 user.setSession(sessionToAdd); 91 } 92 else{ 93 Guest user = guestRepository.findGuestByEmail(email).get(); 94 user.setSession(sessionToAdd); 95 } 84 96 return Optional.of(sessionToAdd); 85 97 … … 132 144 } 133 145 @Transactional 134 public ParkingSession endParkingSession(int id){ 135 ParkingSession parkingSession = parkingSessionRepository.findByPssId(id); 136 if(parkingSession==null){ 137 throw new IllegalStateException("No such session exists"); 138 } 139 else if(parkingSession.getStatus()==SessionStatus.ENDED_UNPAID){ 146 public ParkingSession endParkingSession(){ 147 Authentication token = ParkUpApplication.getToken(); 148 String role =token.getAuthorities().stream().findFirst().get().getAuthority(); 149 String email =token.getName(); 150 ParkingSession session; 151 if(role.equals("ROLE_REG_USER")){ 152 RegisteredUser user = registeredUserRepository.findRegisteredUserByEmail(email).get(); 153 session=user.getSession(); 154 } 155 else{ 156 Guest user = guestRepository.findGuestByEmail(email).get(); 157 session=user.getSession(); 158 } 159 if(session==null){ 160 throw new IllegalStateException("No such session exists"); 161 } 162 else if(session.getStatus()==SessionStatus.ENDED_UNPAID){ 140 163 throw new IllegalStateException("The session you are trying to end has already been ended"); 141 164 } 142 parkingSession.setStatus(SessionStatus.ENDED_UNPAID); 143 parkingSession.setTimeEnd(LocalDateTime.now()); 144 return parkingSession; 165 session.setStatus(SessionStatus.ENDED_UNPAID); 166 session.setTimeEnd(LocalDateTime.now()); 167 return session; 168 // ParkingSession parkingSession = parkingSessionRepository.findByPssId(id); 169 // if(parkingSession==null){ 170 // throw new IllegalStateException("No such session exists"); 171 // } 172 // else if(parkingSession.getStatus()==SessionStatus.ENDED_UNPAID){ 173 // throw new IllegalStateException("The session you are trying to end has already been ended"); 174 // } 175 // parkingSession.setStatus(SessionStatus.ENDED_UNPAID); 176 // parkingSession.setTimeEnd(LocalDateTime.now()); 177 // return parkingSession; 145 178 } 146 179 @Transactional 147 180 public boolean payParkingSession(int id,String date){ 148 ParkingSession parkingSession = parkingSessionRepository.findByPssId(id);149 181 String expMonthString=date.split("/")[0]; 150 182 String expYearString=date.split("/")[1]; … … 164 196 throw new IllegalStateException("Your card has expired or the date that you have entered is incorrect"); 165 197 } 198 Authentication token = ParkUpApplication.getToken(); 199 String role =token.getAuthorities().stream().findFirst().get().getAuthority(); 200 String email =token.getName(); 201 ParkingSession parkingSession; 202 if(role.equals("ROLE_REG_USER")){ 203 RegisteredUser user = registeredUserRepository.findRegisteredUserByEmail(email).get(); 204 parkingSession=user.getSession(); 205 } 206 else{ 207 Guest user = guestRepository.findGuestByEmail(email).get(); 208 parkingSession=user.getSession(); 209 } 166 210 if(parkingSession==null){ 167 211 throw new IllegalStateException("No such session exists");
Note:
See TracChangeset
for help on using the changeset viewer.