DiscountDetailMapperImpl.java

package com.github.jenkaby.bikerental.tariff.web.query.mapper;

import com.github.jenkaby.bikerental.shared.mapper.DiscountMapper;
import com.github.jenkaby.bikerental.shared.mapper.MoneyMapper;
import com.github.jenkaby.bikerental.tariff.DiscountDetail;
import com.github.jenkaby.bikerental.tariff.web.query.dto.CostCalculationResponse;
import java.math.BigDecimal;
import javax.annotation.processing.Generated;
import org.springframework.beans.factory.annotation.Autowired;
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 DiscountDetailMapperImpl implements DiscountDetailMapper {

    private final DiscountMapper discountMapper;
    private final MoneyMapper moneyMapper;

    @Autowired
    public DiscountDetailMapperImpl(DiscountMapper discountMapper, MoneyMapper moneyMapper) {

        this.discountMapper = discountMapper;
        this.moneyMapper = moneyMapper;
    }

    @Override
    public CostCalculationResponse.DiscountDetailResponse toResponse(DiscountDetail source) {
        if ( source == null ) {
            return null;
        }

        BigDecimal percent = null;
        BigDecimal amount = null;

        percent = discountMapper.toBigDecimal( source.percent() );
        amount = moneyMapper.toBigDecimal( source.amount() );

        CostCalculationResponse.DiscountDetailResponse discountDetailResponse = new CostCalculationResponse.DiscountDetailResponse( percent, amount );

        return discountDetailResponse;
    }
}