package ${basePackage}.module.${table.moduleName}.convert.${table.businessName};

import java.util.*;
import ${PageResultClassName};
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import ${basePackage}.module.${table.moduleName}.vo.${table.businessName}.*;
import ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}.${table.className}DO;

/**
 * ${table.classComment} Convert
 * @author ${table.author}
 */
@Mapper
public interface ${table.className}Convert {
    /*****转换MapStruct*****/
    ${table.className}Convert INSTANCE = Mappers.getMapper(${table.className}Convert.class);

    /***
     * 创建VO转实体
     * @param bean
     * @return
     */
    ${table.className}DO convert(${sceneEnum.prefixClass}${table.className}CreateReqVO bean);

    /***
     * 修改VO转实体
     * @param bean
     * @return
     */
    ${table.className}DO convert(${sceneEnum.prefixClass}${table.className}UpdateReqVO bean);

    /***
     * 实体转返回VO
     * @param bean
     * @return
    */
    ${sceneEnum.prefixClass}${table.className}BackVO convert(${table.className}DO bean);

    /***
     * 实体列表转返回VO列表
     * @param list
     * @return
     */
    List<${sceneEnum.prefixClass}${table.className}BackVO> convertList(List<${table.className}DO> list);

    /***
     * 实体分页转返回分页
     * @param page
     * @return
     */
    PageResult<${sceneEnum.prefixClass}${table.className}BackVO> convertPage(PageResult<${table.className}DO> page);
}