Skip to content

Commit 5643063

Browse files
committed
feat: 도메인 타입으로 검증할 수 있도록 수정
1 parent 3555228 commit 5643063

6 files changed

Lines changed: 23 additions & 2 deletions

File tree

apps/commerce-streamer/src/main/java/com/loopers/application/auditlog/AuditLogFacade.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public class AuditLogFacade {
1818

1919
@Transactional
2020
public void processAuditLog(AuditLogCommand command) {
21-
if (eventHandledService.isEventHandled(command.eventId())) {
21+
if (eventHandledService.isEventHandled(command.eventId(), DOMAIN_TYPE)) {
2222
return;
2323
}
2424

apps/commerce-streamer/src/main/java/com/loopers/domain/eventhandled/EventHandled.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@
99

1010
@Entity
1111
@Getter
12-
@Table(name = "event_handled")
12+
@Table(
13+
name = "event_handled",
14+
uniqueConstraints = {
15+
@UniqueConstraint(columnNames = {"event_id", "domain_type"})
16+
}
17+
)
1318
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1419
public class EventHandled {
1520

apps/commerce-streamer/src/main/java/com/loopers/domain/eventhandled/EventHandledRepository.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@ public interface EventHandledRepository {
44

55
boolean existsByEventId(String eventId);
66

7+
boolean existsByEventIdAndDomainType(String eventId, EventHandledDomainType domainType);
8+
79
EventHandled save(EventHandled eventHandled);
810
}

apps/commerce-streamer/src/main/java/com/loopers/domain/eventhandled/EventHandledService.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ public boolean isEventHandled(String eventId) {
1515
return eventHandledRepository.existsByEventId(eventId);
1616
}
1717

18+
@Transactional(readOnly = true)
19+
public boolean isEventHandled(String eventId, EventHandledDomainType domainType) {
20+
return eventHandledRepository.existsByEventIdAndDomainType(eventId, domainType);
21+
}
22+
1823
@Transactional
1924
public void saveEventHandled(String eventId, EventHandledDomainType domainType, String eventType) {
2025
EventHandled eventHandled = EventHandled.create(eventId, domainType, eventType);
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package com.loopers.infrastructure.eventhandled;
22

33
import com.loopers.domain.eventhandled.EventHandled;
4+
import com.loopers.domain.eventhandled.EventHandledDomainType;
45
import org.springframework.data.jpa.repository.JpaRepository;
56

67
public interface EventHandledJpaRepository extends JpaRepository<EventHandled, String> {
78

89
boolean existsByEventId(String eventId);
10+
11+
boolean existsByEventIdAndDomainType(String eventId, EventHandledDomainType domainType);
912
}

apps/commerce-streamer/src/main/java/com/loopers/infrastructure/eventhandled/EventHandledRepositoryImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.loopers.infrastructure.eventhandled;
22

33
import com.loopers.domain.eventhandled.EventHandled;
4+
import com.loopers.domain.eventhandled.EventHandledDomainType;
45
import com.loopers.domain.eventhandled.EventHandledRepository;
56
import lombok.RequiredArgsConstructor;
67
import org.springframework.stereotype.Repository;
@@ -16,6 +17,11 @@ public boolean existsByEventId(String eventId) {
1617
return eventHandledJpaRepository.existsByEventId(eventId);
1718
}
1819

20+
@Override
21+
public boolean existsByEventIdAndDomainType(String eventId, EventHandledDomainType domainType) {
22+
return eventHandledJpaRepository.existsByEventIdAndDomainType(eventId, domainType);
23+
}
24+
1925
@Override
2026
public EventHandled save(EventHandled eventHandled) {
2127
return eventHandledJpaRepository.save(eventHandled);

0 commit comments

Comments
 (0)