123 lines
3.7 KiB
Plaintext
123 lines
3.7 KiB
Plaintext
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();
|
||
}
|
||
|
||
}
|