package ${packageName}.domain.vo;

    #foreach ($import in $importList)
    import ${import};
    #end
import ${packageName}.domain.${ClassName};
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;


/**
 * ${functionName}视图对象 ${tableName}
 *
 * @author ${author}
 * @date ${datetime}
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ${ClassName}.class)

public class ${ClassName}Vo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    #foreach ($column in $columns)
        #if($column.list)
            /**
             * $column.columnComment
             */
            #set($parentheseIndex=$column.columnComment.indexOf("（"))
            #if($parentheseIndex != -1)
                #set($comment=$column.columnComment.substring(0, $parentheseIndex))
            #else
                #set($comment=$column.columnComment)
            #end
            #if(${column.dictType} && ${column.dictType} != '')
            @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
            @ExcelDictFormat(dictType = "${column.dictType}")
            #elseif($parentheseIndex != -1)
            @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
            @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
            #else
            @ExcelProperty(value = "${comment}")
            #end
        private $column.javaType $column.javaField;

            #if($column.htmlType == "imageUpload")
                /**
                 * ${column.columnComment}Url
                 */
                @Translation(type = TransConstant.OSS_ID_TO_URL, mapper = "${column.javaField}")
                private String ${column.javaField}Url;
            #end
        #end
    #end

}
