package ${packageName}.domain; #foreach ($import in $importList) import ${import}; #end import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.muyu.common.core.annotation.Excel; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.io.Serial; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.AllArgsConstructor; import lombok.experimental.SuperBuilder; import ${packageName}.domain.req.${ClassName}QueryReq; import ${packageName}.domain.req.${ClassName}SaveReq; import ${packageName}.domain.req.${ClassName}EditReq; #if($table.crud) import com.muyu.common.core.web.domain.BaseEntity; #elseif($table.tree) import com.muyu.common.core.web.domain.TreeEntity; #end /** * ${functionName}数据库映射对象 ${tableName} * * @author ${author} * @date ${datetime} */ #if($table.crud) #set($Entity="BaseEntity") #elseif($table.tree) #set($Entity="TreeEntity") #end @Data @SuperBuilder @NoArgsConstructor @AllArgsConstructor @TableName("${tableName}对数据库映射对象") @EqualsAndHashCode(callSuper = true) public class ${ClassName} extends ${Entity} { @Serial private static final long serialVersionUID = 1L; #foreach ($column in $columns) #if(!$table.isSuperColumn($column.javaField)) /** * $column.columnComment */ #if($column.list) #set($parentheseIndex=$column.columnComment.indexOf("(")) #if($parentheseIndex != -1) #set($comment=$column.columnComment.substring(0, $parentheseIndex)) #else #set($comment=$column.columnComment) #end #if($parentheseIndex != -1) @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") #elseif($column.javaType == 'Date') @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd") #else @Excel(name = "${comment}") #end #end #if($column.javaField == $pkColumn.javaField) @TableId(value = "${pkColumn.columnName}",type = IdType.AUTO) #end #set($comment='') #if($column.isRequired == '1') #set($comment=', required = true') #end private $column.javaType $column.javaField; #end #end /** * 添加构造器 */ public static ${ClassName} saveBuild(${ClassName}SaveReq ${className}SaveReq){ return ${ClassName}.builder() #foreach ($column in $columns) #if($column.isEdit == '1') #if(!$table.isSuperColumn($column.javaField)) #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) #set($AttrName=$column.javaField) #else #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) #end .${column.javaField}(${className}SaveReq.get${AttrName}()) #end #end #end .build(); } /** * 修改构造器 */ public static ${ClassName} editBuild(${pkColumn.javaType} ${pkColumn.javaField}, ${ClassName}EditReq ${className}EditReq){ return ${ClassName}.builder() .${pkColumn.javaField}(${pkColumn.javaField}) #foreach ($column in $columns) #if($column.isEdit == '1') #if(!$table.isSuperColumn($column.javaField)) #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) #set($AttrName=$column.javaField) #else #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) #end .${column.javaField}(${className}EditReq.get${AttrName}()) #end #end #end .build(); } }