Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,9 @@ dependencies {
annotationProcessor 'jakarta.annotation:jakarta.annotation-api'
annotationProcessor 'jakarta.persistence:jakarta.persistence-api'

// dotenv
implementation 'io.github.cdimascio:java-dotenv:+'

// Hibernate
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-hibernate6:2.18.2'
implementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.18.2'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@
@Repository
public interface AiRepository extends JpaRepository<Ai, UUID>, AiRepositoryCustom {

boolean existsByMenuId(UUID menuId);
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package com.sparta.spring_deep._delivery.admin.restaurant;

import com.sparta.spring_deep._delivery.domain.restaurant.Restaurant.CategoryEnum;
import lombok.Getter;
import lombok.Data;
import lombok.RequiredArgsConstructor;

@Getter
@Data
@RequiredArgsConstructor
public class RestaurantAdminCreateRequestDto {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.web.PageableDefault;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.DeleteMapping;
Expand Down Expand Up @@ -41,7 +42,7 @@ public ResponseEntity<AddressResponseDto> createAddress(

AddressResponseDto responseDto = addressService.createAddress(requestDto, userDetails);

return ResponseEntity.ok(responseDto);
return ResponseEntity.status(HttpStatus.CREATED).body(responseDto);
}

// 배솑지 쑰회
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package com.sparta.spring_deep._delivery.domain.address.dto;

import lombok.Getter;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Getter
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AddressRequestDto {

private String addressId;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@

import com.sparta.spring_deep._delivery.domain.address.entity.Address;
import java.util.UUID;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Getter
@RequiredArgsConstructor
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AddressResponseDto {

private UUID id;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import jakarta.persistence.Table;
import jakarta.validation.constraints.NotNull;
import java.util.UUID;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.UuidGenerator;
Expand Down Expand Up @@ -42,6 +43,13 @@ public class Address extends BaseEntity {
@Column(name = "address_name")
private String addressName;

@Builder
public Address(User user, String address, String addressName) {
this.user = user;
this.address = address;
this.addressName = addressName;
}

public Address(AddressRequestDto requestDto, User user) {
super(user.getUsername());
this.user = user;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.sparta.spring_deep._delivery.domain.address.repository;

import com.sparta.spring_deep._delivery.domain.address.entity.Address;
import jakarta.validation.constraints.NotNull;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
Expand All @@ -20,4 +21,7 @@ public interface AddressRepository extends JpaRepository<Address, UUID>, Address
Optional<Address> findByIdAndIsDeletedFalse(UUID addressId);

List<Address> findAllByUserUsernameAndIsDeletedFalse(String username);


boolean existsByAddressName(@NotNull String addressName);
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import jakarta.persistence.ManyToOne;
import jakarta.persistence.Table;
import java.util.UUID;
import lombok.Builder;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.hibernate.annotations.UuidGenerator;
Expand All @@ -36,6 +37,7 @@ public class Ai extends BaseEntity {
@Column(nullable = false)
private String response;

@Builder
public Ai(
Menu menu,
String request,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.sparta.spring_deep._delivery.domain.menu;

import com.sparta.spring_deep._delivery.domain.restaurant.Restaurant;
import java.util.Optional;
import java.util.UUID;
import org.springframework.data.jpa.repository.JpaRepository;
Expand All @@ -9,4 +10,6 @@
public interface MenuRepository extends JpaRepository<Menu, UUID>, MenuRepositoryCustom {

Optional<Menu> findByIdAndIsDeletedFalse(UUID menuId);

boolean existsByRestaurantAndName(Restaurant restaurant, String name);
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
package com.sparta.spring_deep._delivery.domain.menu;

import java.math.BigDecimal;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class MenuRequestDto {

private String name;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
import java.util.UUID;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class MenuResponseDto {

private UUID id;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
import com.sparta.spring_deep._delivery.domain.restaurant.RestaurantRepository;
import com.sparta.spring_deep._delivery.domain.user.details.UserDetailsImpl;
import com.sparta.spring_deep._delivery.domain.user.entity.User;
import com.sparta.spring_deep._delivery.domain.user.repository.UserRepository;
import com.sparta.spring_deep._delivery.exception.ResourceNotFoundException;
import com.sparta.spring_deep._delivery.util.AuthTools;
import java.util.UUID;
Expand All @@ -26,7 +25,6 @@
public class MenuService {

private final MenuRepository menuRepository;
private final UserRepository userRepository;
private final GoogleAiService googleAiService;
private final AiRepository aiRepository;
private final RestaurantRepository restaurantRepository;
Expand Down Expand Up @@ -63,25 +61,6 @@ public MenuResponseDto addMenu(
return new MenuResponseDto(menu);
}

// // restaurant_id 기반 λͺ¨λ“  메뉴 쑰회
// public Page<MenuResponseDto> getAllMenus(
// Restaurant restaurantId,
// String name,
// String sortBy,
// int page, int size
// ) {
// log.info("restaurant_id 기반 λͺ¨λ“  메뉴 쑰회");
//
// int pageSize = (size == 10 || size == 30 || size == 50) ? size : 10;
//
// Pageable pageable = PageRequest.of(page, pageSize, Sort.by(Direction.DESC, sortBy));
//
// Page<Menu> menus = menuRepository.findAllByRestaurantIdAndIsDeletedFalse(restaurantId,
// pageable);
//
// return menus.map(MenuResponseDto::new);
// }

public Page<MenuResponseDto> searchMenus(UUID restaurantId, MenuSearchDto searchDto,
Pageable pageable) {
log.info("restaurant_id 기반 λͺ¨λ“  메뉴 검색 및 쑰회");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import jakarta.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.UUID;
import lombok.Builder;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.hibernate.annotations.JdbcTypeCode;
Expand Down Expand Up @@ -60,6 +61,7 @@ public class Order extends BaseEntity {
@Size(max = 50)
private String request;

@Builder
public Order(User customer, Restaurant restaurant, Address address,
@NotNull @Digits(integer = 10, fraction = 2) BigDecimal totalPrice,
@Size(max = 50) String request) {
Expand All @@ -71,6 +73,7 @@ public Order(User customer, Restaurant restaurant, Address address,
this.request = request;
}


public void updateTotalPrice(BigDecimal totalPrice) {
this.totalPrice = totalPrice;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.UUID;
import lombok.Builder;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
Expand Down Expand Up @@ -50,6 +51,7 @@ public class OrderItem extends BaseEntity {
private BigDecimal price;


@Builder
public OrderItem(Order order, Menu menu, int quantity,
@NotNull @Digits(integer = 10, fraction = 2) BigDecimal price) {
super(order.getCustomer().getUsername());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import java.util.UUID;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class OrderItemDto {

@NotNull
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import jakarta.validation.constraints.Digits;
import java.math.BigDecimal;
import java.util.UUID;
import lombok.Builder;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import org.hibernate.annotations.JdbcTypeCode;
Expand Down Expand Up @@ -56,6 +57,18 @@ public Payment(String username, Order order, BigDecimal amount) {
this.amount = amount;
}

@Builder
public Payment(String username,
Order order,
BigDecimal amount,
PaymentStatusEnum paymentStatus) {
super(username);
this.order = order;
this.amount = amount;
this.paymentMethod = PaymentMethodEnum.CARD;
this.paymentStatus = (paymentStatus != null) ? paymentStatus : PaymentStatusEnum.PENDING;
}

public void completePayment() {
this.paymentStatus = PaymentStatusEnum.COMPLETED;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
package com.sparta.spring_deep._delivery.domain.restaurant;

import com.sparta.spring_deep._delivery.domain.restaurant.Restaurant.CategoryEnum;
import jakarta.persistence.AttributeConverter;
import jakarta.persistence.Converter;
import java.util.Arrays;

@Converter(autoApply = true)
public class CategoryEnumConverter implements AttributeConverter<CategoryEnum, String> {

@Override
public String convertToDatabaseColumn(Restaurant.CategoryEnum attribute) {
return attribute == null ? null : attribute.getLabel();
}

@Override
public Restaurant.CategoryEnum convertToEntityAttribute(String dbData) {
if (dbData == null) {
return null;
}
return Arrays.stream(Restaurant.CategoryEnum.values())
.filter(e -> e.getLabel().equals(dbData))
.findFirst()
.orElseThrow(() -> new IllegalArgumentException("Unknown value: " + dbData));
}
}
//package com.sparta.spring_deep._delivery.domain.restaurant;
//
//import com.sparta.spring_deep._delivery.domain.restaurant.Restaurant.CategoryEnum;
//import jakarta.persistence.AttributeConverter;
//import jakarta.persistence.Converter;
//import java.util.Arrays;
//
//@Converter(autoApply = true)
//public class CategoryEnumConverter implements AttributeConverter<CategoryEnum, String> {
//
// @Override
// public String convertToDatabaseColumn(Restaurant.CategoryEnum attribute) {
// return attribute == null ? null : attribute.getLabel();
// }
//
// @Override
// public Restaurant.CategoryEnum convertToEntityAttribute(String dbData) {
// if (dbData == null) {
// return null;
// }
// return Arrays.stream(Restaurant.CategoryEnum.values())
// .filter(e -> e.getLabel().equals(dbData))
// .findFirst()
// .orElseThrow(() -> new IllegalArgumentException("Unknown value: " + dbData));
// }
//}
Loading
Loading