BatchCalculationMapperImpl.java
package com.github.jenkaby.bikerental.tariff.web.query.mapper;
import com.github.jenkaby.bikerental.shared.domain.model.vo.DiscountPercent;
import com.github.jenkaby.bikerental.shared.domain.model.vo.Money;
import com.github.jenkaby.bikerental.shared.mapper.DiscountMapper;
import com.github.jenkaby.bikerental.shared.mapper.DurationMapper;
import com.github.jenkaby.bikerental.shared.mapper.MoneyMapper;
import com.github.jenkaby.bikerental.tariff.EquipmentCostItem;
import com.github.jenkaby.bikerental.tariff.RentalCostCalculationCommand;
import com.github.jenkaby.bikerental.tariff.web.query.dto.CostCalculationRequest;
import java.time.Duration;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;
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 BatchCalculationMapperImpl extends BatchCalculationMapper {
private final MoneyMapper moneyMapper;
private final DurationMapper durationMapper;
private final DiscountMapper discountMapper;
@Autowired
public BatchCalculationMapperImpl(MoneyMapper moneyMapper, DurationMapper durationMapper, DiscountMapper discountMapper) {
this.moneyMapper = moneyMapper;
this.durationMapper = durationMapper;
this.discountMapper = discountMapper;
}
@Override
public RentalCostCalculationCommand toCommand(CostCalculationRequest request) {
if ( request == null ) {
return null;
}
List<EquipmentCostItem> equipments = null;
Duration plannedDuration = null;
Duration actualDuration = null;
DiscountPercent discount = null;
Long specialTariffId = null;
Money specialPrice = null;
LocalDate rentalDate = null;
equipments = equipmentItemRequestListToEquipmentCostItemList( request.equipments() );
plannedDuration = durationMapper.toDuration( request.plannedDurationMinutes() );
actualDuration = durationMapper.toDuration( request.actualDurationMinutes() );
discount = discountMapper.toDiscount( request.discountPercent() );
specialTariffId = request.specialTariffId();
specialPrice = moneyMapper.toMoney( request.specialPrice() );
rentalDate = request.rentalDate();
RentalCostCalculationCommand rentalCostCalculationCommand = new RentalCostCalculationCommand( equipments, plannedDuration, actualDuration, discount, specialTariffId, specialPrice, rentalDate );
return rentalCostCalculationCommand;
}
@Override
public EquipmentCostItem toItem(CostCalculationRequest.EquipmentItemRequest item) {
if ( item == null ) {
return null;
}
String equipmentType = null;
equipmentType = item.equipmentType();
EquipmentCostItem equipmentCostItem = new EquipmentCostItem( equipmentType );
return equipmentCostItem;
}
protected List<EquipmentCostItem> equipmentItemRequestListToEquipmentCostItemList(List<CostCalculationRequest.EquipmentItemRequest> list) {
if ( list == null ) {
return null;
}
List<EquipmentCostItem> list1 = new ArrayList<EquipmentCostItem>( list.size() );
for ( CostCalculationRequest.EquipmentItemRequest equipmentItemRequest : list ) {
list1.add( toItem( equipmentItemRequest ) );
}
return list1;
}
}