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
4 changes: 2 additions & 2 deletions src/main/java/in/koreatech/koin/domain/order/model/Order.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,11 @@ public class Order extends BaseEntity {
@Column(name = "is_deleted", nullable = false)
private Boolean isDeleted = FALSE;

@JoinColumn(name = "orderable_shop_id")
@JoinColumn(name = "orderable_shop_id", nullable = false, updatable = false)
@ManyToOne(fetch = LAZY)
private OrderableShop orderableShop;

@JoinColumn(name = "user_id")
@JoinColumn(name = "user_id", nullable = false, updatable = false)
@ManyToOne(fetch = LAZY)
private User user;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,12 @@ public class OrderDelivery {
@Column(name = "address", length = 100, nullable = false, updatable = false)
private String address;

@NotNull
@Size(max = 50)
@Column(name = "to_owner", length = 50, nullable = false, updatable = false)
@Column(name = "to_owner", length = 50, updatable = false)
private String toOwner;

@NotNull
@Size(max = 50)
@Column(name = "to_rider", length = 50, nullable = false, updatable = false)
@Column(name = "to_rider", length = 50, updatable = false)
private String toRider;

@NotNull
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,24 +33,23 @@ public class OrderMenu {
@GeneratedValue(strategy = IDENTITY)
private Integer id;

@NotNull
@NotBlank
@Column(name = "menu_name", nullable = false, updatable = false)
private String menuName;

@NotNull
@Column(name = "menu_option_name", nullable = false, updatable = false)
private String menuOptionName;

@NotNull
@Column(name = "menu_price", nullable = false, updatable = false)
private Integer menuPrice;

@Column(name = "menu_price_name", updatable = false)
private String menuPriceName;

@NotNull
@Column(name = "quantity", nullable = false, updatable = false)
private Integer quantity;

@ManyToOne(fetch = LAZY)
@JoinColumn(name = "order_id", nullable = false)
@JoinColumn(name = "order_id", nullable = false, updatable = false)
private Order order;

@OneToMany(mappedBy = "orderMenu", cascade = ALL, orphanRemoval = true)
Expand All @@ -59,13 +58,13 @@ public class OrderMenu {
@Builder
private OrderMenu(
String menuName,
String menuOptionName,
String menuPriceName,
Integer menuPrice,
Integer quantity,
Order order
) {
this.menuName = menuName;
this.menuOptionName = menuOptionName;
this.menuPriceName = menuPriceName;
this.menuPrice = menuPrice;
this.quantity = quantity;
this.order = order;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ public class OrderMenuOption {
@Column(name = "id", nullable = false, updatable = false)
private Integer id;

@NotNull
@NotBlank
@Column(name = "option_group_name", nullable = false, updatable = false)
private String optionGroupName;

@NotBlank
@Column(name = "option_name", nullable = false, updatable = false)
private String optionName;

Expand All @@ -46,11 +50,13 @@ public class OrderMenuOption {

@Builder
private OrderMenuOption(
String optionGroupName,
String optionName,
Integer optionPrice,
Integer quantity,
OrderMenu orderMenu
) {
this.optionGroupName = optionGroupName;
this.optionName = optionName;
this.optionPrice = optionPrice;
this.quantity = quantity;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,8 @@ public class OrderTakeout {
@JoinColumn(name = "order_id", referencedColumnName = "id")
private Order order;

@NotNull
@Size(max = 50)
@Column(name = "to_owner", length = 50, nullable = false, updatable = false)
@Column(name = "to_owner", length = 50, updatable = false)
private String toOwner;

@Builder
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ public interface PaymentsApi {
## 요청 Body 필드 설명
- `address`: 배달 받을 주소 (필수)
- `phone_number`: 수신자 연락처 (필수)
- `to_owner`: 사장님께 전달할 메시지 (선택 / null로 들어오면 서버로에서 공백으로 처리)
- `to_rider`: 라이더에게 전달할 메시지 (선택 / null로 들어오면 서버로에서 공백으로 처리)
- `to_owner`: 사장님께 전달할 메시지 (선택)
- `to_rider`: 라이더에게 전달할 메시지 (선택)
- `total_menu_price`: 메뉴 총 금액 (필수)
- `delivery_tip`: 배달 팁 (필수)
- `total_amount`: 총 결제 금액 (필수)
Expand All @@ -63,7 +63,7 @@ ResponseEntity<TemporaryPaymentResponse> createTemporaryDeliveryPayment(

## 요청 Body 필드 설명
- `phone_number`: 수신자 연락처 (필수)
- `to_owner`: 사장님께 전달할 메시지 (선택 / null로 들어오면 서버로에서 공백으로 처리)
- `to_owner`: 사장님께 전달할 메시지 (선택)
- `total_menu_price`: 메뉴 총 금액 (필수)
- `total_amount`: 총 결제 금액 (필수)
"""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,5 @@ public record TemporaryDeliveryPaymentSaveRequest(
@NotNull(message = "결제 금액은 필수 입력사항입니다.")
Integer totalAmount
) {
public TemporaryDeliveryPaymentSaveRequest {
if (toOwner == null) {
toOwner = "";
}

if (toRider == null) {
toRider = "";
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,5 @@ public record TemporaryTakeoutPaymentSaveRequest(
@NotNull(message = "결제 금액은 필수 입력사항입니다.")
Integer totalAmount
) {
public TemporaryTakeoutPaymentSaveRequest {
if (toOwner == null) {
toOwner = "";
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@

import in.koreatech.koin.domain.order.model.Order;
import in.koreatech.koin.domain.order.model.OrderDelivery;
import in.koreatech.koin.domain.order.model.OrderMenu;
import in.koreatech.koin.domain.order.model.OrderMenuOption;
import in.koreatech.koin.domain.order.model.OrderTakeout;
import in.koreatech.koin.domain.order.model.Payment;
import in.koreatech.koin.domain.order.shop.model.entity.shop.OrderableShop;
import in.koreatech.koin.domain.shop.model.shop.Shop;
import in.koreatech.payment.model.domain.TemporaryMenuItems;
import in.koreatech.payment.model.domain.TemporaryMenuOption;
import io.swagger.v3.oas.annotations.media.Schema;

@JsonNaming(value = SnakeCaseStrategy.class)
Expand All @@ -34,7 +34,7 @@ public record PaymentConfirmResponse(
@Schema(description = "가게 주소", example = "충청남도 천안시 동남구 병천면 충절로 1600 은솔관 422호", requiredMode = NOT_REQUIRED)
String shopAddress,

@Schema(description = "사장님에게", example = "리뷰 이벤트 감사합니다.", requiredMode = REQUIRED)
@Schema(description = "사장님에게", example = "리뷰 이벤트 감사합니다.", requiredMode = NOT_REQUIRED)
String toOwner,

@Schema(description = "라이더에게", example = "문 앞에 놔주세요.", requiredMode = NOT_REQUIRED)
Expand Down Expand Up @@ -75,18 +75,18 @@ public record InnerCartItemResponse(
@Schema(description = "선택한 옵션 목록", requiredMode = NOT_REQUIRED)
List<InnerMenuOptionResponse> options
) {
public static InnerCartItemResponse from(TemporaryMenuItems temporaryMenuItems) {
public static InnerCartItemResponse from(OrderMenu orderMenu) {
List<InnerMenuOptionResponse> optionResponses = new ArrayList<>();

if (temporaryMenuItems.options() != null && !temporaryMenuItems.options().isEmpty()) {
optionResponses = temporaryMenuItems.options().stream()
if (orderMenu.getOrderMenuOptions() != null && !orderMenu.getOrderMenuOptions().isEmpty()) {
optionResponses = orderMenu.getOrderMenuOptions().stream()
.map(InnerMenuOptionResponse::from)
.toList();
}

return new InnerCartItemResponse(
temporaryMenuItems.name(),
temporaryMenuItems.quantity(),
orderMenu.getMenuName(),
orderMenu.getQuantity(),
optionResponses
);
}
Expand All @@ -99,18 +99,18 @@ public record InnerMenuOptionResponse(
@Schema(description = "옵션 이름", example = "레드디핑 소스", requiredMode = REQUIRED)
String optionName
) {
public static InnerMenuOptionResponse from(TemporaryMenuOption temporaryMenuOption) {
public static InnerMenuOptionResponse from(OrderMenuOption orderMenuOption) {
return new InnerMenuOptionResponse(
temporaryMenuOption.optionGroupName(),
temporaryMenuOption.optionName()
orderMenuOption.getOptionGroupName(),
orderMenuOption.getOptionName()
);
}
}

public static PaymentConfirmResponse of(
Payment payment,
Order order,
List<TemporaryMenuItems> temporaryMenuItems
List<OrderMenu> orderMenus
) {
OrderableShop orderableShop = order.getOrderableShop();
Shop shop = orderableShop.getShop();
Expand All @@ -137,7 +137,7 @@ public static PaymentConfirmResponse of(
toRider,
payment.getAmount(),
shop.getName(),
temporaryMenuItems.stream()
orderMenus.stream()
.map(InnerCartItemResponse::from)
.toList(),
order.getOrderType().name(),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package in.koreatech.payment.model.domain;

import java.util.List;
import java.util.Objects;

import in.koreatech.koin.domain.order.model.Order;
import in.koreatech.koin.domain.order.model.OrderMenu;
Expand All @@ -16,10 +15,10 @@ public record TemporaryMenuItems(
) {
public OrderMenu toOrderMenu(Order order) {
OrderMenu orderMenu = OrderMenu.builder()
.menuName(Objects.requireNonNullElse(name, ""))
.menuName(name)
.quantity(quantity)
.menuOptionName(Objects.requireNonNullElse(price.name(), ""))
.menuPrice(price.price())
.menuPriceName(price.name())
.order(order)
.build();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package in.koreatech.payment.model.domain;

import java.util.Objects;

import in.koreatech.koin.domain.order.model.OrderMenu;
import in.koreatech.koin.domain.order.model.OrderMenuOption;

Expand All @@ -13,7 +11,8 @@ public record TemporaryMenuOption(
) {
public OrderMenuOption toOrderMenuOption(OrderMenu orderMenu) {
return OrderMenuOption.builder()
.optionName(Objects.requireNonNullElse(optionName, ""))
.optionGroupName(optionGroupName)
.optionName(optionName)
.optionPrice(optionPrice)
.quantity(quantity)
.orderMenu(orderMenu)
Expand Down
3 changes: 1 addition & 2 deletions src/main/java/in/koreatech/payment/service/TossService.java
Original file line number Diff line number Diff line change
Expand Up @@ -164,10 +164,9 @@ public PaymentConfirmResponse confirmPayment(String accessToken, String paymentK

Payment payment = tossPaymentResponse.toEntity(order);
paymentRepository.save(payment);
final PaymentConfirmResponse response = PaymentConfirmResponse.of(payment, order, temporaryPayment.getTemporaryMenuItems());
temporaryPaymentRedisRepository.deleteById(orderId);
cartRepository.deleteByUserId(user.getId());
return response;
return PaymentConfirmResponse.of(payment, order, orderMenus);
}

@Transactional
Expand Down
Loading