Changeset 3b17c69 for sources/app/src/main/java/parkup/services
- Timestamp:
- 02/12/22 15:38:23 (3 years ago)
- Branches:
- master
- Children:
- 0707e4e
- Parents:
- b6e52e1
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sources/app/src/main/java/parkup/services/ParkingSessionService.java
rb6e52e1 r3b17c69 77 77 Authentication token = ParkUpApplication.getToken(); 78 78 Plate plate = plateRepository.findByPlate(tablica); 79 if(plate ==null) {80 plateRepository.save(new Plate(tablica));81 }82 plate = plateRepository.findByPlate(tablica);83 79 ParkingSession sessionToAdd = new ParkingSession(plate); 84 80 sessionToAdd.setParkingZone(parkingZone); … … 145 141 @Transactional 146 142 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){ 143 ParkingSession parkingSession=getParkingSession(); 144 if(parkingSession==null){ 145 throw new IllegalStateException("No such session exists"); 146 } 147 else if(parkingSession.getStatus()==SessionStatus.ENDED_UNPAID){ 163 148 throw new IllegalStateException("The session you are trying to end has already been ended"); 164 149 } 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; 150 parkingSession.setStatus(SessionStatus.ENDED_UNPAID); 151 parkingSession.setTimeEnd(LocalDateTime.now()); 152 return parkingSession; 178 153 } 179 154 @Transactional … … 196 171 throw new IllegalStateException("Your card has expired or the date that you have entered is incorrect"); 197 172 } 173 ParkingSession parkingSession=getParkingSession(); 174 if(parkingSession==null){ 175 throw new IllegalStateException("No such session exists"); 176 } 177 else if(parkingSession.getStatus()==SessionStatus.ENDED_PAID){ 178 throw new IllegalStateException("The session has already been paid for"); 179 } 180 parkingSession.setStatus(SessionStatus.ENDED_PAID); 181 parkingSession.getParkingSpace().setTaken(false); 182 return true; 183 } 184 185 public SessionStatus getStatusOfParkirac(int regParkId){ 186 RegisteredUser registeredUser = registeredUserRepository.findByRegParkId(regParkId); 187 List<String> plates =parkingSessionRepository.findAll().stream().filter(ps->registeredUser.getPlates().contains(ps.getPlate())).map(ps->ps.getPlate().getPlate()).collect(Collectors.toList()); 188 if(plates.size()>0) 189 return parkingSessionRepository.findAll().stream().filter(ps->ps.getPlate().getPlate().equals(plates.get(0))).collect(Collectors.toList()).get(0).getStatus(); 190 return null; 191 } 192 193 public ParkingSession getParkingSession() { 198 194 Authentication token = ParkUpApplication.getToken(); 199 195 String role =token.getAuthorities().stream().findFirst().get().getAuthority(); … … 208 204 parkingSession=user.getSession(); 209 205 } 210 if(parkingSession==null){ 211 throw new IllegalStateException("No such session exists"); 212 } 213 else if(parkingSession.getStatus()==SessionStatus.ENDED_PAID){ 214 throw new IllegalStateException("The session has already been paid for"); 215 } 216 parkingSession.setStatus(SessionStatus.ENDED_PAID); 217 parkingSession.getParkingSpace().setTaken(false); 218 return true; 219 } 220 221 public SessionStatus getStatusOfParkirac(int regParkId){ 222 RegisteredUser registeredUser = registeredUserRepository.findByRegParkId(regParkId); 223 List<String> plates =parkingSessionRepository.findAll().stream().filter(ps->registeredUser.getPlates().contains(ps.getPlate())).map(ps->ps.getPlate().getPlate()).collect(Collectors.toList()); 224 if(plates.size()>0) 225 return parkingSessionRepository.findAll().stream().filter(ps->ps.getPlate().getPlate().equals(plates.get(0))).collect(Collectors.toList()).get(0).getStatus(); 226 return null; 206 return parkingSession; 227 207 } 228 208 }
Note:
See TracChangeset
for help on using the changeset viewer.