package com.red.circle.console.app.convertor;


import com.red.circle.console.app.dto.clienobject.user.BeanBalanceCO;
import com.red.circle.console.app.dto.clienobject.user.UserBeanIncomeExpenditureCO;
import com.red.circle.console.app.dto.clienobject.user.UserDiamondBalanceCO;
import com.red.circle.console.app.dto.clienobject.user.UserDiamondOriginCO;
import com.red.circle.console.app.dto.clienobject.user.UserDiamondRunWaterCO;
import com.red.circle.console.app.dto.clienobject.user.UserFreightBalanceCO;
import com.red.circle.console.app.dto.clienobject.user.UserFreightBalanceRunningWaterCO;
import com.red.circle.console.app.dto.clienobject.user.UserFreightSellerCO;
import com.red.circle.console.app.excel.model.freight.UserFreightBalanceRunningWaterExportModel;
import com.red.circle.framework.core.convertor.ConvertorModel;
import com.red.circle.wallet.inner.model.cmd.FreightBalanceCmd;
import com.red.circle.wallet.inner.model.dto.BeanBalanceDTO;
import com.red.circle.wallet.inner.model.dto.UserBeanIncomeExpenditureDTO;
import com.red.circle.wallet.inner.model.dto.DiamondBalanceDTO;
import com.red.circle.wallet.inner.model.dto.UserDiamondOriginDTO;
import com.red.circle.wallet.inner.model.dto.UserDiamondRunWaterDTO;
import com.red.circle.wallet.inner.model.dto.UserFreightBalanceDTO;
import com.red.circle.wallet.inner.model.dto.UserFreightBalanceRunningWaterDTO;
import com.red.circle.wallet.inner.model.dto.UserFreightSellerDTO;
import com.red.circle.wallet.inner.model.dto.UserGoldRunningWaterDTO;
import com.red.circle.wallet.inner.model.dto.UserGoldRunningWaterHistoryDTO;
import org.mapstruct.Mapper;

/**
 * @author pengliang on 2023/5/12
 */
@Mapper(componentModel = ConvertorModel.SPRING)
public interface WalletAppConvertor {

  BeanBalanceCO toBeanBalanceCO(BeanBalanceDTO dto);

  UserBeanIncomeExpenditureCO toUserBeanIncomeExpenditureCO(UserBeanIncomeExpenditureDTO dto);

  UserDiamondBalanceCO toUserDiamondBalanceCO(DiamondBalanceDTO dto);

  UserDiamondRunWaterCO toUserDiamondRunWaterCO(UserDiamondRunWaterDTO dto);

  FreightBalanceCmd toUserFreightBalanceCmd(UserFreightBalanceDTO dto);

  UserFreightBalanceCO toUserFreightBalanceCO(UserFreightBalanceDTO dto);

  UserFreightBalanceRunningWaterCO toUserFreightBalanceRunningWaterCO(
      UserFreightBalanceRunningWaterDTO dto);

  UserFreightBalanceRunningWaterExportModel toUserFreightBalanceRunningWaterExportModel(
      UserFreightBalanceRunningWaterDTO dto);

  UserFreightSellerCO toUserFreightSellerCO(UserFreightSellerDTO dto);

  UserDiamondOriginCO toUserDiamondOriginCO(UserDiamondOriginDTO dto);

  UserGoldRunningWaterDTO toUserGoldRunningWaterDTO(UserGoldRunningWaterHistoryDTO dto);
}
