Skip to content

Commit 755a9b6

Browse files
authored
Merge pull request #106 from umcMuses/dev
merge dev to main
2 parents d5e1100 + b16076c commit 755a9b6

3 files changed

Lines changed: 46 additions & 6 deletions

File tree

src/main/java/org/muses/backendbulidtest251228/domain/order/service/OrderSRV.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import lombok.RequiredArgsConstructor;
44
import lombok.extern.slf4j.Slf4j;
5+
import org.muses.backendbulidtest251228.domain.alarm.service.AlarmSRVI;
56
import org.muses.backendbulidtest251228.domain.billingAuth.entity.BillingAuthENT;
67
import org.muses.backendbulidtest251228.domain.billingAuth.repository.BillingAuthREP;
78
import org.muses.backendbulidtest251228.domain.order.dto.OrderCreateReqDT;
@@ -10,8 +11,11 @@
1011
import org.muses.backendbulidtest251228.domain.order.entity.OrderENT;
1112
import org.muses.backendbulidtest251228.domain.order.enums.OrderStatus;
1213
import org.muses.backendbulidtest251228.domain.orderItem.repository.OrderItemREP;
14+
import org.muses.backendbulidtest251228.domain.project.entity.RewardENT;
15+
import org.muses.backendbulidtest251228.domain.project.enums.RewardType;
1316
import org.muses.backendbulidtest251228.domain.project.repository.RewardRepo;
1417
import org.muses.backendbulidtest251228.domain.settlement.repository.SettlementRepo;
18+
import org.muses.backendbulidtest251228.domain.ticket.service.TicketIssueSRV;
1519
import org.muses.backendbulidtest251228.global.apiPayload.code.ErrorCode;
1620
import org.muses.backendbulidtest251228.global.businessError.BusinessException;
1721
import org.muses.backendbulidtest251228.domain.order.repository.OrderREP;
@@ -46,6 +50,9 @@ public class OrderSRV {
4650

4751
private final TossBillingClient tossBillingClient;
4852

53+
private final AlarmSRVI alarmSRVI;
54+
private final TicketIssueSRV ticketIssueSRV;
55+
4956

5057
@Transactional
5158
public OrderCreateResDT prepare(String baseSuccessUrl, String baseFailUrl, Long userId, OrderCreateReqDT dto) {
@@ -110,6 +117,38 @@ public OrderCreateResDT prepare(String baseSuccessUrl, String baseFailUrl, Long
110117

111118
projectStatSRV.recalc(project);
112119

120+
// 여기서 티켓 발행 / 알림 적재를 진행
121+
for (OrderItemENT item : saved.getOrderItems()) {
122+
Long rewardId = item.getRewardId();
123+
124+
RewardENT reward = rewardRepo.findById(rewardId)
125+
.orElseThrow(() -> new BusinessException(
126+
ErrorCode.BAD_REQUEST,
127+
"해당 리워드를 찾을 수 없습니다.",
128+
Map.of("rewardId", rewardId, "orderId", saved.getId(), "projectId", project.getId())
129+
));
130+
131+
if (reward.getType() == RewardType.NONE) {
132+
// 주문 시점에 보내는게 맞는지 한 번만 체크
133+
alarmSRVI.send(
134+
saved.getMember().getId(),
135+
4L,
136+
Map.of("projectName", saved.getProject().getTitle())
137+
);
138+
continue;
139+
}
140+
141+
// 티켓 발행 (idempotent하게)
142+
ticketIssueSRV.issueIfAbsent(item);
143+
144+
// 2번 템플릿(QR 발급)
145+
alarmSRVI.send(
146+
saved.getMember().getId(),
147+
7L,
148+
Map.of("projectName", saved.getProject().getTitle())
149+
);
150+
}
151+
113152

114153

115154
return OrderCreateResDT.builder()

src/main/java/org/muses/backendbulidtest251228/domain/payment/application/orchestrator/ProjectClosingOrchestrator.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ public void processProject(Long projectId) {
155155

156156
boolean success = paymentOrchestrator.processOrderPayment(order.getId());
157157

158-
if(success){
158+
/*if(success){
159159
log.info("[PROJECT-PAYMENT-SUCCESS] 결제 성공 | OrderID: {}. 후속 작업(티켓/알림) 진행", order.getId());
160160
161161
for (OrderItemENT item : order.getOrderItems()) {
@@ -180,7 +180,8 @@ public void processProject(Long projectId) {
180180
181181
log.info("[PROJECT-TICKET-ISSUE] 티켓 발행 및 QR 알림 발송 | OrderItemID: {}", item.getId());
182182
183-
ticketIssueSRV.issueIfAbsent(item);
183+
184+
//ticketIssueSRV.issueIfAbsent(item);
184185
185186
// 2번 템플릿(QR 발급) - 주문자에게 적재
186187
alarmSRVI.send(
@@ -190,7 +191,7 @@ public void processProject(Long projectId) {
190191
);
191192
192193
}
193-
}
194+
}*/
194195

195196

196197

src/main/java/org/muses/backendbulidtest251228/domain/payment/application/scheduler/PaymentRetryScheduler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public void run() {
7373
}
7474

7575
// 티켓 생성
76-
if(success){
76+
/*if(success){
7777
for (OrderItemENT item : order.getOrderItems()) {
7878
Long rewardId = item.getRewardId();
7979
@@ -95,7 +95,7 @@ public void run() {
9595
continue;
9696
}
9797
98-
ticketIssueSRV.issueIfAbsent(item);
98+
//ticketIssueSRV.issueIfAbsent(item);
9999
100100
// 2번 템플릿(QR 발급) - 주문자에게 적재
101101
alarmSRVI.send(
@@ -104,7 +104,7 @@ public void run() {
104104
Map.of("projectName", order.getProject().getTitle())
105105
);
106106
}
107-
}
107+
}*/
108108

109109
ProjectENT project = order.getProject();
110110

0 commit comments

Comments
 (0)