TriggerCheckService.java
package com.deveagles.be15_deveagles_be.features.workflows.execution.application.service;
public interface TriggerCheckService {
void onCustomerVisit(CustomerVisitEvent event);
void onCustomerRegistration(CustomerRegistrationEvent event);
void onPaymentCompleted(PaymentCompletedEvent event);
class CustomerVisitEvent {
private final Long customerId;
private final Long shopId;
private final String treatmentId;
private final java.time.LocalDateTime visitTime;
public CustomerVisitEvent(
Long customerId, Long shopId, String treatmentId, java.time.LocalDateTime visitTime) {
this.customerId = customerId;
this.shopId = shopId;
this.treatmentId = treatmentId;
this.visitTime = visitTime;
}
public Long getCustomerId() {
return customerId;
}
public Long getShopId() {
return shopId;
}
public String getTreatmentId() {
return treatmentId;
}
public java.time.LocalDateTime getVisitTime() {
return visitTime;
}
}
class CustomerRegistrationEvent {
private final Long customerId;
private final Long shopId;
private final java.time.LocalDateTime registrationTime;
public CustomerRegistrationEvent(
Long customerId, Long shopId, java.time.LocalDateTime registrationTime) {
this.customerId = customerId;
this.shopId = shopId;
this.registrationTime = registrationTime;
}
public Long getCustomerId() {
return customerId;
}
public Long getShopId() {
return shopId;
}
public java.time.LocalDateTime getRegistrationTime() {
return registrationTime;
}
}
class PaymentCompletedEvent {
private final Long customerId;
private final Long shopId;
private final Long amount;
private final java.time.LocalDateTime paymentTime;
public PaymentCompletedEvent(
Long customerId, Long shopId, Long amount, java.time.LocalDateTime paymentTime) {
this.customerId = customerId;
this.shopId = shopId;
this.amount = amount;
this.paymentTime = paymentTime;
}
public Long getCustomerId() {
return customerId;
}
public Long getShopId() {
return shopId;
}
public Long getAmount() {
return amount;
}
public java.time.LocalDateTime getPaymentTime() {
return paymentTime;
}
}
}