package cn.iocoder.yudao.module.pay.api.transfer; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.pay.framework.pay.core.client.impl.weixin.WxPayClientConfig; import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateReqDTO; import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferCreateRespDTO; import cn.iocoder.yudao.module.pay.api.transfer.dto.PayTransferRespDTO; import cn.iocoder.yudao.module.pay.dal.dataobject.channel.PayChannelDO; import cn.iocoder.yudao.module.pay.dal.dataobject.transfer.PayTransferDO; import cn.iocoder.yudao.module.pay.service.channel.PayChannelService; import cn.iocoder.yudao.module.pay.service.transfer.PayTransferService; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; /** * 转账单 API 实现类 * * @author jason */ @Service @Validated public class PayTransferApiImpl implements PayTransferApi { @Resource private PayTransferService payTransferService; @Resource private PayChannelService payChannelService; @Override public PayTransferCreateRespDTO createTransfer(PayTransferCreateReqDTO reqDTO) { return payTransferService.createTransfer(reqDTO); } @Override public PayTransferRespDTO getTransfer(Long id) { PayTransferDO transfer = payTransferService.getTransfer(id); if (transfer == null) { return null; } PayChannelDO channel = payChannelService.getChannel(transfer.getChannelId()); String mchId = null; if (channel != null && channel.getConfig() instanceof WxPayClientConfig) { mchId = ((WxPayClientConfig) channel.getConfig()).getMchId(); } return BeanUtils.toBean(transfer, PayTransferRespDTO.class).setChannelMchId(mchId); } }