Changeset ad4da86


Ignore:
Timestamp:
02/10/22 11:13:18 (2 years ago)
Author:
andrejTavchioski <andrej.tavchioski@…>
Branches:
master
Children:
ccb2d72
Parents:
0c049e9
Message:

calculate payment fix and added error handling

Location:
sources/app
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • sources/app/src/main/java/parkup/configs/RegistrationServiceRP.java

    r0c049e9 rad4da86  
    5353        Mail mail = new Mail();
    5454        mail.setMailTo(request.getEmail());
    55         mail.setMailFrom("noreply_explore_buddy@gmail.com");
     55        mail.setMailFrom("noreply_parkup@gmail.com");
    5656        mail.setMailSubject("Account confirmation");
    5757        mail.setMailContent(buildEmail(request.getEmail(), link));
  • sources/app/src/main/java/parkup/repositories/ParkingSpaceRepository.java

    r0c049e9 rad4da86  
    1010    ParkingSpace findByPsId(int parkingSpaceId);
    1111    void deleteByPsId(int parkingSpaceId);
     12    void deleteAllByPsName(String name);
    1213}
  • sources/app/src/main/java/parkup/services/ParkingSessionService.java

    r0c049e9 rad4da86  
    4141        return parkingSessionRepository.findAll().stream()
    4242                .filter(s->!s.getStatus().equals(SessionStatus.ENDED_PAID))
     43                .collect(Collectors.toList());
     44    }
     45
     46    public List<ParkingSession> getAllParkingSessionsFromZone(Integer pzId) {
     47        //Get all sessions that arent paid
     48
     49        return parkingSessionRepository.findAll().stream()
     50                .filter(s->!s.getStatus().equals(SessionStatus.ENDED_PAID) && s.getParkingZone().getId()==pzId)
    4351                .collect(Collectors.toList());
    4452    }
     
    92100            throw new IllegalStateException("No such session exists");
    93101        }
    94         else if(session.getStatus()== SessionStatus.ENDED_UNPAID){
    95             throw new IllegalStateException("Cannot calculate payment on an ended session");
    96         }
     102//        else if(session.getStatus()!= SessionStatus.ENDED_PAID){
     103//            throw new IllegalStateException("Cannot calculate payment on a paid session");
     104//        }
    97105        int price = session.getParkingZone().getPrice();
    98         return (int) (Math.ceil(Duration.between(session.getTimeEnd(),session.getTimeStart()).toMinutes()/60.0)*price);
     106        return (int) (Math.ceil(Duration.between(session.getTimeStart(),session.getTimeEnd()).toMinutes()/60.0)*price);
    99107    }
    100108    @Transactional
     
    111119        if(!parkingZone.getParkingSpaces().contains(parkingSpaceRepository.findByPsName(parkingSpaceName))){
    112120            throw new IllegalStateException("Ivalid parking space inserted. Type in a new parking space or let the admin know that they should add the parking space to this zone");
     121        }
     122        if(parkingSpaceRepository.findByPsName(parkingSpaceName).isTaken()){
     123            throw new IllegalStateException("Ivalid parking space inserted. Type in a new parking space, this space is already in a session");
    113124        }
    114125        parkingSession.setStatus(SessionStatus.STARTED_VERIFIED);
  • sources/app/src/main/java/parkup/services/ParkingZoneService.java

    r0c049e9 rad4da86  
    1717import static parkup.ParkUpApplication.getToken;
    1818import javax.transaction.Transactional;
    19 import java.util.ArrayList;
    20 import java.util.List;
    21 import java.util.Objects;
    22 import java.util.Optional;
     19import java.util.*;
    2320import java.util.stream.Collectors;
    2421
     
    105102
    106103        //TODO prati niza od objekti ParkingSpaces i prati objekt ParkingZoneLocation
    107         ParkingZone parkingZone = parkingZoneRepository.findByPzId(parkingZoneId);
     104            ParkingZone parkingZone = parkingZoneRepository.findByPzId(parkingZoneId);
    108105            ParkingZone parkingZoneNov = parkingZoneRepository.findByPzId(parkingZoneId);
    109106            if (parkingZoneNov!=null) {
    110                 if (pzName != null && pzName.length() > 1) { ;
     107                if (pzName != null && pzName.length() > 1) {
    111108                    if (parkingZoneNov.getPzName().equals(pzName)&&parkingZoneNov.getId()!=parkingZoneId) {
    112109                        throw new IllegalStateException("There is already a ParkingZone with the same name");
     
    141138
    142139                if (!parkingSpaces.isEmpty()) {
    143                     List<String> psNamesInZone=parkingZoneNov.getParkingSpaces().stream().map(ParkingSpace::getPsName).collect(Collectors.toList());
    144                     List<ParkingSpace> psToAdd=parkingSpaces.stream().filter(ps->!psNamesInZone.contains(ps.getPsName())).collect(Collectors.toList());
    145                     for(ParkingSpace ps:psToAdd){
    146                         parkingZoneNov.getParkingSpaces().add(ps);
    147                     }
    148                 }else{
     140                    List<ParkingSpace> spacesToDelete = parkingZoneNov.getParkingSpaces();
     141                    parkingZoneNov.setParkingSpaces(null);
     142                    parkingSpaceRepository.deleteAll(spacesToDelete);
     143                    parkingZoneNov.setParkingSpaces(parkingSpaces);
     144                }
     145                else{
    149146                    parkingZoneNov.setParkingSpaces(new ArrayList<>());
    150147                }
  • sources/app/src/main/resources/application.properties

    r0c049e9 rad4da86  
    11spring.datasource.url=jdbc:postgresql://localhost:5432/parkupdb
    22spring.datasource.username=postgres
    3 spring.datasource.password=Lampion123
    4 spring.jpa.hibernate.ddl-auto=create-drop
     3spring.datasource.password=1234
     4spring.jpa.hibernate.ddl-auto=update
    55spring.jpa.show-sql=true
    66spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
  • sources/app/target/classes/application.properties

    r0c049e9 rad4da86  
    11spring.datasource.url=jdbc:postgresql://localhost:5432/parkupdb
    22spring.datasource.username=postgres
    3 spring.datasource.password=Lampion123
    4 spring.jpa.hibernate.ddl-auto=create-drop
     3spring.datasource.password=1234
     4spring.jpa.hibernate.ddl-auto=update
    55spring.jpa.show-sql=true
    66spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
Note: See TracChangeset for help on using the changeset viewer.