Skip to content

Commit

Permalink
Add discounts
Browse files Browse the repository at this point in the history
Co-Authored-By: Miłosz Urbaniak <[email protected]>
  • Loading branch information
m-strzelec and murban11 committed Jun 19, 2024
1 parent 87718bd commit b3c8065
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 19 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Build and Deploy to Azure Container Apps
on:
push:
branches:
- strzelec
- main

jobs:
build-and-deploy:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,7 @@
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.zzpj.tabi.dto.reservation.ReservationCreateDTO;
import org.zzpj.tabi.dto.reservation.ReservationOutputDTO;
import org.zzpj.tabi.entities.Account;
Expand Down Expand Up @@ -136,7 +133,7 @@ public ResponseEntity<?> getOwnReservations() {
examples = @ExampleObject("500 Internal Server Error"))}
)
})
public ResponseEntity<?> createReservation(@Valid ReservationCreateDTO reservationCreateDTO) {
public ResponseEntity<?> createReservation(@RequestBody ReservationCreateDTO reservationCreateDTO) {
String login = SecurityContextHolder.getContext().getAuthentication().getName();
try {
Account account = accountService.getAccountByLogin(login);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
import java.util.UUID;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Positive;
import lombok.Data;

@Data
Expand All @@ -14,7 +12,5 @@ public class ReservationCreateDTO {
private UUID travelId;

@Schema(example = "1")
@NotEmpty
@Positive
private int guestCount;
}
2 changes: 0 additions & 2 deletions src/main/java/org/zzpj/tabi/dto/review/ReviewUpdateDTO.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotEmpty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
Expand All @@ -22,6 +21,5 @@ public class ReviewUpdateDTO {
private String comment;

@Schema(example = "00000000-0000-0000-0001-000000000001")
@NotEmpty
private UUID travelId;
}
3 changes: 0 additions & 3 deletions src/main/java/org/zzpj/tabi/dto/travel/TravelCreateDTO.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ public class TravelCreateDTO {
private String place;

@Schema(example = "4999.99")
@Positive
private BigDecimal basePrice;

@Schema(example = "2025-12-15")
Expand All @@ -41,10 +40,8 @@ public class TravelCreateDTO {
private LocalDate endDate;

@Schema(example = "100")
@Positive
private int maxPlaces;

@Schema(example = "10")
@Positive
private int available;
}
4 changes: 0 additions & 4 deletions src/main/java/org/zzpj/tabi/dto/travel/TravelUpdateDTO.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package org.zzpj.tabi.dto.travel;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Positive;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.Setter;
Expand All @@ -26,7 +24,5 @@ public class TravelUpdateDTO {
private String description;

@Schema(example = "0")
@Positive
@NotEmpty
private Long version;
}
10 changes: 10 additions & 0 deletions src/main/java/org/zzpj/tabi/services/ReservationService.java
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,16 @@ public void createReservation(Client client, Travel travel, int guestCount) thro
throw new InvalidGuestCountException("Not enough available places");
}
BigDecimal amount = travel.getBasePrice().multiply(new BigDecimal(guestCount));
switch (client.getStatus()) {
case Client.Status.BRONZE:
break;
case Client.Status.SILVER:
amount = amount.multiply(new BigDecimal("0.9"));
break;
case Client.Status.GOLD:
amount = amount.multiply(new BigDecimal("0.8"));
break;
}
String title = "travel " + travel.getId();
travel.setAvailablePlaces(travel.getAvailablePlaces() - guestCount);
if (!travel.getVersion().equals(travelRepository.findById(travel.getId()).orElseThrow().getVersion())) {
Expand Down

0 comments on commit b3c8065

Please sign in to comment.