package com.brilliance.isc.transfer.transaction;

import com.brilliance.isc.bo.lc.BttsndStoreBo;
import com.brilliance.isc.transfer.IBaseStructMapper;
import com.brilliance.isc.vo.lc.BttsndStoreVo;
import org.mapstruct.Mapper;
import org.mapstruct.MappingTarget;
import org.mapstruct.Mappings;
import org.mapstruct.factory.Mappers;

/**
 * 转让证开证vo/bo转换
 *
 */
@Mapper(componentModel = "spring")
public interface BttsndStructMapper extends IBaseStructMapper<BttsndStoreBo, BttsndStoreVo> {

    /**
     * 此行语句一定要写,StructMapper需要
     */
    BttsndStructMapper INSTANCE = Mappers.getMapper(BttsndStructMapper.class);

    /**
     * Vo转为Bo
     *
     * @param vo vo
     * @return 返回业务Bo
     */
    @Override
    BttsndStoreBo voTransferToBo(BttsndStoreVo vo);

    /**
     * Vo追加更新至Bo
     * 忽略oldgrp的复制
     *
     * @param vo vo
     * @param bo bo
     */
    @Override
    @Mappings({
    })
    void voUpdateToBo(BttsndStoreVo vo, @MappingTarget BttsndStoreBo bo);

    /**
     * Bo转为Vo
     *
     * @param bo bo
     * @return 返回Vo
     */
    @Override
    BttsndStoreVo boTransferToVo(BttsndStoreBo bo);

    /**
     * bo追加更新至Bo
     *
     * @param bo bo
     * @param vo vo
     */
    @Override
    void boUpdateToVo(BttsndStoreBo bo, @MappingTarget BttsndStoreVo vo);
}