Changeset 3f0bf09 for sources/app/src/main/java/parkup/services
- Timestamp:
- 02/12/22 15:30:06 (2 years ago)
- Branches:
- master
- Children:
- b6e52e1
- Parents:
- 8f153ca
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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.