Skip to content

Commit 606bf13

Browse files
committed
feature #112: 정산 수정
정산 내역 조회시 환불 내역이 있으면 환불 상태 반환, 그렇지 않으면 주문 상태 반환 및 기타 수정
1 parent 44067f0 commit 606bf13

6 files changed

Lines changed: 23 additions & 8 deletions

File tree

src/main/java/com/irum/come2us/domain/coupon/domain/repository/AppliedCouponRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55
import java.util.List;
66
import java.util.UUID;
77
import org.springframework.data.jpa.repository.JpaRepository;
8+
import org.springframework.stereotype.Repository;
89

10+
@Repository
911
public interface AppliedCouponRepository extends JpaRepository<AppliedCoupon, UUID> {
1012
List<AppliedCoupon> findByCouponId(UUID couponId);
1113

src/main/java/com/irum/come2us/domain/order/application/service/OwnerOrderService.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.irum.come2us.domain.order.application.service;
22

3-
import com.irum.come2us.domain.coupon.domain.repository.AppliedCouponRepository;
43
import com.irum.come2us.domain.order.application.mapper.OrderMapper;
54
import com.irum.come2us.domain.order.domain.entity.Order;
65
import com.irum.come2us.domain.order.domain.entity.OrderDetail;
@@ -13,6 +12,7 @@
1312
import com.irum.come2us.domain.order.presentation.dto.request.OwnerOrderShippedRequest;
1413
import com.irum.come2us.domain.order.presentation.dto.response.OrderDetailResponse;
1514
import com.irum.come2us.domain.order.presentation.dto.response.OwnerOrderListResponse;
15+
import com.irum.come2us.domain.payment.domain.repository.PaymentRepository;
1616
import com.irum.come2us.global.presentation.advice.exception.CommonException;
1717
import com.irum.come2us.global.presentation.advice.exception.errorcode.OrderErrorCode;
1818
import java.util.List;
@@ -34,7 +34,7 @@ public class OwnerOrderService {
3434
private final OrderRepository orderRepository;
3535
private final OrderRepositoryCustom orderRepositoryCustom;
3636
private final OrderMapper orderMapper;
37-
private final AppliedCouponRepository appliedCouponRepository;
37+
private final PaymentRepository paymentRepository;
3838

3939
@Transactional(readOnly = true)
4040
public OwnerOrderListResponse getPreparingOrderList(UUID storeId, UUID cursor, Integer size) {
@@ -249,8 +249,8 @@ public OrderDetailResponse detailResponse(UUID orderId) {
249249
od.getQuantity(),
250250
od.getOptionName()))
251251
.toList();
252-
String couponName = getCouponName(order.getPaymentId());
253-
int discountAmount = getDiscountAmount(order.getPaymentId());
252+
String couponName = getCouponName(order.getPayment().getPaymentId());
253+
int discountAmount = getDiscountAmount(order.getPayment().getPaymentId());
254254
// 아직 결제 상태 Field 없음
255255
String trackingNumber =
256256
order.getOrderDetails().stream()
@@ -291,14 +291,14 @@ public OrderDetailResponse detailResponse(UUID orderId) {
291291
}
292292

293293
private String getCouponName(UUID paymentId) {
294-
return appliedCouponRepository.findByPaymentIdWithCoupon(paymentId).stream()
294+
return paymentRepository.findByPayment_Id(paymentId).stream()
295295
.findFirst()
296296
.map(ac -> ac.getCoupon().getName())
297297
.orElse(null);
298298
}
299299

300300
private int getDiscountAmount(UUID paymentId) {
301-
Integer sum = appliedCouponRepository.getTotalDiscountByPaymentId(paymentId);
301+
Integer sum = paymentRepository.getTotalDiscountByPaymentId(paymentId);
302302
return sum != null ? sum : 0;
303303
}
304304
}

src/main/java/com/irum/come2us/domain/order/application/service/SalesService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public SalesResponse getSalesList(UUID storeId) {
3232
.orElseThrow(() -> new CommonException(StoreErrorCode.STORE_NOT_FOUND));
3333
memberUtil.assertMemberResourceAccess(store.getMember());
3434

35-
List<Order> orders = orderRepository.findSalesAll(storeId);
35+
List<Order> orders = orderRepository.findAllByStore_Id(storeId);
3636
List<SalesResponse.OrderSummary> orderList =
3737
orders.stream().map(this::toOrderSummary).toList();
3838
return new SalesResponse(orderList, null, false);

src/main/java/com/irum/come2us/domain/order/domain/repository/OrderRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ public interface OrderRepository extends JpaRepository<Order, UUID> {
2424
@Query("UPDATE Order o SET o.orderStatusAll = 'FAILED' WHERE o.orderId IN :orderIds")
2525
int updateStatusToFailedByIds(@Param("orderIds") List<UUID> orderIds);
2626

27-
List<Order> findSalesAll(@Param("storeId") UUID storeId);
27+
List<Order> findAllByStore_Id(@Param("storeId") UUID storeId);
2828
}

src/main/java/com/irum/come2us/domain/payment/domain/entity/Payment.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
package com.irum.come2us.domain.payment.domain.entity;
22

3+
import com.irum.come2us.domain.coupon.domain.entity.AppliedCoupon;
34
import com.irum.come2us.domain.member.domain.entity.Member;
45
import com.irum.come2us.domain.payment.application.client.dto.TossPaymentsResponse;
56
import com.irum.come2us.domain.payment.domain.entity.enums.PaymentCorp;
67
import com.irum.come2us.domain.payment.domain.entity.enums.PaymentMethod;
78
import com.irum.come2us.domain.payment.domain.entity.enums.PaymentStatus;
89
import com.irum.come2us.global.domain.BaseEntity;
910
import jakarta.persistence.*;
11+
import java.util.ArrayList;
12+
import java.util.List;
1013
import java.util.UUID;
1114
import lombok.*;
1215
import org.hibernate.annotations.SQLDelete;
@@ -50,6 +53,9 @@ public class Payment extends BaseEntity {
5053
@JoinColumn(name = "member_id")
5154
private Member member;
5255

56+
@OneToMany(mappedBy = "payment", fetch = FetchType.LAZY)
57+
private List<AppliedCoupon> appliedCoupons = new ArrayList<>();
58+
5359
public void updateStatus(PaymentStatus paymentStatus) {
5460
this.paymentStatus = paymentStatus;
5561
}

src/main/java/com/irum/come2us/domain/payment/domain/repository/PaymentRepository.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.irum.come2us.domain.payment.domain.repository;
22

3+
import com.irum.come2us.domain.coupon.domain.entity.AppliedCoupon;
34
import com.irum.come2us.domain.payment.domain.entity.Payment;
45
import java.util.List;
56
import java.util.UUID;
@@ -15,4 +16,10 @@ public interface PaymentRepository extends JpaRepository<Payment, UUID> {
1516
@Modifying(clearAutomatically = true)
1617
@Query("UPDATE Payment p SET p.paymentStatus = 'FAILED' WHERE p.paymentId IN :paymentIds")
1718
int updateStatusToFailedByIds(@Param("paymentIds") List<UUID> paymentIds);
19+
20+
@Query("SELECT ac FROM AppliedCoupon ac JOIN ac.payment p WHERE p.id = :paymentId")
21+
List<AppliedCoupon> findByPayment_Id(@Param("paymentId") UUID paymentId);
22+
23+
@Query("SELECT p.totalDiscountAmount FROM Payment p WHERE p.id = :paymentId")
24+
Integer getTotalDiscountByPaymentId(@Param("paymentId") UUID paymentId);
1825
}

0 commit comments

Comments
 (0)