MakePaymentEvent.java
package uk.gov.dhsc.htbhf.claimant.service.audit;
import lombok.Builder;
import uk.gov.dhsc.htbhf.logging.event.Event;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import static uk.gov.dhsc.htbhf.claimant.service.audit.ClaimEventMetadataKey.*;
public class MakePaymentEvent extends Event {
@Builder
public MakePaymentEvent(UUID claimId, String requestReference, String responseReference, Integer paymentAmountInPence, Integer entitlementAmountInPence) {
super(ClaimEventType.MAKE_PAYMENT,
LocalDateTime.now(),
constructMetaData(claimId, requestReference, responseReference, paymentAmountInPence, entitlementAmountInPence));
}
private static Map<String, Object> constructMetaData(UUID claimId,
String requestReference,
String responseReference,
Integer paymentAmountInPence,
Integer entitlementAmountInPence) {
Map<String, Object> metadata = new HashMap<>();
metadata.put(CLAIM_ID.getKey(), claimId);
metadata.put(ENTITLEMENT_AMOUNT_IN_PENCE.getKey(), entitlementAmountInPence);
metadata.put(PAYMENT_AMOUNT.getKey(), paymentAmountInPence);
metadata.put(PAYMENT_REQUEST_REFERENCE.getKey(), requestReference);
metadata.put(PAYMENT_RESPONSE_REFERENCE.getKey(), responseReference);
return metadata;
}
}