Skip to content

Commit e4b57e7

Browse files
committed
feat: add query to fetch exam and virtual account details by exam application ID
1 parent c128248 commit e4b57e7

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

src/main/java/life/mosu/mosuserver/application/notify/NotifyVariableFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ private LunaNotificationVariable createApplicationVariable(Long targetId) {
8585
}
8686

8787
private LunaNotificationVariable createApplicationGuestVariable(Long targetId) {
88-
ExamApplicationNotifyProjection projection = examApplicationRepository.findExamAndPaymentByExamApplicationId(
88+
ExamApplicationNotifyProjection projection = examApplicationRepository.findExamAndVirtualAccountByExamApplicationId(
8989
targetId)
9090
.orElseThrow(
9191
() -> new CustomRuntimeException(ErrorCode.EXAM_APPLICATION_NOT_FOUND));

src/main/java/life/mosu/mosuserver/domain/examapplication/repository/ExamApplicationJpaRepository.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,25 @@ Optional<ExamApplicationNotifyProjection> findExamAndPaymentByExamApplicationId(
115115
@Param("targetId") Long targetId);
116116

117117

118+
@Query("""
119+
SELECT new life.mosu.mosuserver.domain.examapplication.projection.ExamApplicationNotifyProjection(
120+
va.orderId,
121+
e.examDate,
122+
e.schoolName,
123+
ea.isLunchChecked,
124+
e.lunchName
125+
)
126+
FROM ExamApplicationJpaEntity ea
127+
JOIN ExamJpaEntity e ON ea.examId = e.id
128+
JOIN ApplicationJpaEntity a ON ea.applicationId = a.id
129+
JOIN VirtualAccountLogJpaEntity va ON va.applicationId = ea.id
130+
WHERE ea.id = :examApplicationId
131+
AND va.depositStatus = 'DONE'
132+
""")
133+
Optional<ExamApplicationNotifyProjection> findExamAndVirtualAccountByExamApplicationId(
134+
@Param("examApplicationId") Long examApplicationId);
135+
136+
118137
@Query("""
119138
SELECT new life.mosu.mosuserver.domain.examapplication.projection.ExamInfoProjection(
120139
e.examDate,

0 commit comments

Comments
 (0)