RentalCommandMapperImpl.java
package com.github.jenkaby.bikerental.rental.web.command.mapper;
import com.github.jenkaby.bikerental.finance.PaymentMethod;
import com.github.jenkaby.bikerental.rental.application.usecase.CreateRentalUseCase;
import com.github.jenkaby.bikerental.rental.application.usecase.ReturnEquipmentUseCase;
import com.github.jenkaby.bikerental.rental.web.command.dto.CreateRentalRequest;
import com.github.jenkaby.bikerental.rental.web.command.dto.ReturnEquipmentRequest;
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.MoneyMapper;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
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 RentalCommandMapperImpl extends RentalCommandMapper {
private final MoneyMapper moneyMapper;
private final DiscountMapper discountMapper;
@Autowired
public RentalCommandMapperImpl(MoneyMapper moneyMapper, DiscountMapper discountMapper) {
this.moneyMapper = moneyMapper;
this.discountMapper = discountMapper;
}
@Override
public CreateRentalUseCase.CreateRentalCommand toCreateCommand(CreateRentalRequest request) {
if ( request == null ) {
return null;
}
UUID customerId = null;
List<Long> equipmentIds = null;
Duration duration = null;
String operatorId = null;
Long tariffId = null;
Long specialTariffId = null;
Money specialPrice = null;
DiscountPercent discountPercent = null;
customerId = request.customerId();
List<Long> list = request.equipmentIds();
if ( list != null ) {
equipmentIds = new ArrayList<Long>( list );
}
duration = request.duration();
operatorId = request.operatorId();
tariffId = request.tariffId();
specialTariffId = request.specialTariffId();
specialPrice = moneyMapper.toMoney( request.specialPrice() );
discountPercent = discountMapper.toDiscount( request.discountPercent() );
CreateRentalUseCase.CreateRentalCommand createRentalCommand = new CreateRentalUseCase.CreateRentalCommand( customerId, equipmentIds, duration, operatorId, tariffId, specialTariffId, specialPrice, discountPercent );
return createRentalCommand;
}
@Override
public ReturnEquipmentUseCase.ReturnEquipmentCommand toReturnCommand(ReturnEquipmentRequest request) {
if ( request == null ) {
return null;
}
Long rentalId = null;
List<Long> equipmentIds = null;
List<String> equipmentUids = null;
PaymentMethod paymentMethod = null;
String operatorId = null;
rentalId = request.rentalId();
List<Long> list = request.equipmentIds();
if ( list != null ) {
equipmentIds = new ArrayList<Long>( list );
}
List<String> list1 = request.equipmentUids();
if ( list1 != null ) {
equipmentUids = new ArrayList<String>( list1 );
}
paymentMethod = request.paymentMethod();
operatorId = request.operatorId();
ReturnEquipmentUseCase.ReturnEquipmentCommand returnEquipmentCommand = new ReturnEquipmentUseCase.ReturnEquipmentCommand( rentalId, equipmentIds, equipmentUids, paymentMethod, operatorId );
return returnEquipmentCommand;
}
}