TransactionHistoryQueryMapperImpl.java
package com.github.jenkaby.bikerental.finance.web.query.mapper;
import com.github.jenkaby.bikerental.finance.application.usecase.GetTransactionHistoryUseCase;
import com.github.jenkaby.bikerental.finance.web.query.dto.TransactionResponse;
import java.math.BigDecimal;
import java.time.Instant;
import java.util.UUID;
import javax.annotation.processing.Generated;
import org.springframework.stereotype.Component;
@Generated(
value = "org.mapstruct.ap.MappingProcessor",
comments = "version: 1.6.3, compiler: IncrementalProcessingEnvironment from gradle-language-java-9.4.1.jar, environment: Java 21.0.10 (Amazon.com Inc.)"
)
@Component
public class TransactionHistoryQueryMapperImpl implements TransactionHistoryQueryMapper {
@Override
public TransactionResponse toResponse(GetTransactionHistoryUseCase.TransactionDto dto) {
if ( dto == null ) {
return null;
}
UUID customerId = null;
BigDecimal amount = null;
String type = null;
Instant recordedAt = null;
String paymentMethod = null;
String reason = null;
String sourceType = null;
String sourceId = null;
customerId = dto.customerId();
amount = dto.amount();
if ( dto.type() != null ) {
type = dto.type().name();
}
recordedAt = dto.recordedAt();
if ( dto.paymentMethod() != null ) {
paymentMethod = dto.paymentMethod().name();
}
reason = dto.reason();
if ( dto.sourceType() != null ) {
sourceType = dto.sourceType().name();
}
sourceId = dto.sourceId();
TransactionResponse transactionResponse = new TransactionResponse( customerId, amount, type, recordedAt, paymentMethod, reason, sourceType, sourceId );
return transactionResponse;
}
}