package cn.ey.biz.module.system.convert.codeblock;

import cn.ey.biz.common.pojo.PageResult;
import cn.ey.biz.module.system.api.codeblock.dto.CodeBlockInfoRespDTO;
import cn.ey.biz.module.system.api.codeblock.dto.CodeBlockWideTableDTO;
import cn.ey.biz.module.system.api.permission.dto.CodeBlockListDataRespDTO;
import cn.ey.biz.module.system.controller.admin.codeblock.vo.CodeBlockPageRespVO;
import cn.ey.biz.module.system.controller.admin.codeblock.vo.CodeBlockWideTableVO;
import cn.ey.biz.module.system.dal.dataobject.codeblock.CodeBlockDO;
import cn.ey.biz.module.system.dal.dataobject.codeblock.GdsRateCodeBlockDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * codeBlock-编码表 Convert
 */
@Mapper
public interface CodeBlockConvert {

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

    CodeBlockWideTableDTO voConvertDto(CodeBlockWideTableVO blockWideTableVO);

    PageResult<CodeBlockPageRespVO> convertPage(PageResult<CodeBlockDO> bean);

    List<CodeBlockInfoRespDTO> convertList(List<CodeBlockDO> codeBlockDOS);

    List<CodeBlockDO> convertGdsRateCodeBlock(List<GdsRateCodeBlockDO> gdsRateCodeBlockDOS);

    List<CodeBlockListDataRespDTO> convertDTOList(List<CodeBlockDO> codeBlockDOS);

}
