package com.tashow.cloud.pay.convert.transfer;

import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.pay.controller.admin.transfer.vo.PayTransferCreateReqVO;
import com.tashow.cloud.pay.controller.admin.transfer.vo.PayTransferPageItemRespVO;
import com.tashow.cloud.pay.controller.admin.transfer.vo.PayTransferRespVO;
import com.tashow.cloud.pay.dal.dataobject.transfer.PayTransferDO;
import com.tashow.cloud.payapi.api.transfer.dto.PayTransferCreateReqDTO;
import com.tashow.cloud.sdk.payment.dto.transfer.PayTransferUnifiedReqDTO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

@Mapper
public interface PayTransferConvert {

    PayTransferConvert INSTANCE = Mappers.getMapper(PayTransferConvert.class);

    PayTransferDO convert(PayTransferCreateReqDTO dto);

    PayTransferUnifiedReqDTO convert2(PayTransferDO dto);

    PayTransferCreateReqDTO convert(PayTransferCreateReqVO vo);

    PayTransferRespVO convert(PayTransferDO bean);

    PageResult<PayTransferPageItemRespVO> convertPage(PageResult<PayTransferDO> pageResult);

}
