Add files via upload
initial commit
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package com.example.match.query;
|
||||
|
||||
import com.example.match.api.InquiryCreatedEvent;
|
||||
import com.example.match.api.InquiryScoredEvent;
|
||||
import com.example.match.api.InquirySummaryQuery;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.axonframework.eventhandling.EventHandler;
|
||||
import org.axonframework.queryhandling.QueryHandler;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.persistence.EntityManager;
|
||||
|
||||
/**
|
||||
* @author simar bawa
|
||||
*/
|
||||
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
//@Profile("query")
|
||||
public class InquirySummaryProjector {
|
||||
|
||||
private final EntityManager entityManager;
|
||||
|
||||
@EventHandler
|
||||
public void on(InquiryCreatedEvent evt) {
|
||||
log.debug("projecting evt {}", evt);
|
||||
entityManager.persist(new InquirySummaryView(evt.getId(), evt.getFirstName(), evt.getStatus(), evt.getStatus(), 0));
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void on(InquiryScoredEvent evt) {
|
||||
log.debug("projecting evt {}", evt);
|
||||
InquirySummaryView summary = entityManager.find(InquirySummaryView.class, evt.getId());
|
||||
summary.score = evt.getScore();
|
||||
summary.currentState = evt.getStatus();
|
||||
}
|
||||
|
||||
@QueryHandler
|
||||
public InquirySummaryView handle(InquirySummaryQuery qry) {
|
||||
return entityManager.find(InquirySummaryView.class, qry.getId());
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user