entity.java.vm 5.02 KB
package ${package.Entity};

#if(${activeRecord})
import java.io.Serializable;
#end
#foreach($pkg in ${table.importPackages})
import ${pkg};
#end

#if(${swagger2})
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
#end

#if(${entityLombokModel})
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotations.Version;
#end

#if(${cfg.paramValidation})
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
#end
import cn.wisenergy.chnmuseum.party.common.validator.groups.Add;
import cn.wisenergy.chnmuseum.party.common.validator.groups.Update;
import com.baomidou.mybatisplus.annotation.TableField;

/**
 * <p>
 * $!{table.comment}
 * </p>
 *
 * @author ${author}
 * @since ${date}
 */
#if(${entityLombokModel})
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
#if(${superEntityClass})
@EqualsAndHashCode(callSuper = true)
#else
@EqualsAndHashCode(callSuper = false)
#end
#end
#if(${table.convert})
@TableName("${table.name}")
#end
#if(${swagger2})
@ApiModel(value = "$!{table.comment}", description = "$!{table.comment}")
#end
#if(${superEntityClass})
public class ${entity} extends ${superEntityClass}#if(${activeRecord})<${entity}>#end {
#elseif(${activeRecord})
public class ${entity} extends Model<${entity}> {
#else
public class ${entity} implements Serializable {
#end

    private static final long serialVersionUID = 1L;
## ----------  BEGIN 字段循环遍历  ----------
#foreach($field in ${table.fields})
## 自定义属性,是否是主键
#set($custom_is_pk=false)

#if(${field.keyFlag})
#set($keyPropertyName=${field.propertyName})
#end
#if("$!field.comment" != "")
#if(${swagger2})
    @ApiModelProperty("${field.comment}")
#else
    /**
     * ${field.comment}
     */
#end
#end
#if(${field.keyFlag})
## 主键
#if(${field.keyIdentityFlag})
    @TableId(value = "${field.name}", type = IdType.AUTO)
#elseif(!$null.isNull(${idType}) && "$!idType" != "")
## 设置主键注解
    @TableId(value = "${field.name}", type = IdType.${idType})
    @NotNull(message = "${field.comment}不能为空", groups = {Update.class})
## 是主键类型
#set($custom_is_pk=true)
#elseif(${field.convert})
    @TableId("${field.name}")
#end
## 普通字段
#elseif(${field.fill})
## -----   存在字段填充设置   -----
#if(${field.convert})
    @TableField(value = "${field.name}", fill = FieldFill.${field.fill})
#else
    @TableField(fill = FieldFill.${field.fill})
#end
#elseif(${field.convert})
    @TableField("${field.name}")
#end
## 乐观锁注解
#if(${versionFieldName}==${field.name})
    @Version
#end
## 逻辑删除注解
#if(${logicDeleteFieldName}==${field.name})
    @TableLogic
#end
#if(${custom_is_pk})
    private ${field.propertyType} ${field.propertyName};
#else
## 如果没有默认值,且不为空,则设置非空校验
#if(${cfg.paramValidation} && ${field.customMap.null} == 'NO' && !${field.customMap.default})
    #if(${field.keyIdentityFlag})
    @NotNull(message = "${field.propertyName}不能为空", groups = {Update.class})
    #elseif(${field.propertyType} == 'String')
    @NotBlank(message = "${field.comment}不能为空", groups = {Add.class, Update.class})
    #else
    @NotNull(message = "${field.comment}不能为空", groups = {Add.class, Update.class})
    #end
    private ${field.propertyType} ${field.propertyName};
    #else
    private ${field.propertyType} ${field.propertyName};
    #end
#end
#end

## ----------  END 字段循环遍历  ----------
#if(!${entityLombokModel})
    #foreach($field in ${table.fields})
        #if(${field.propertyType.equals("boolean")})
            #set($getprefix="is")
        #else
            #set($getprefix="get")
        #end

    public ${field.propertyType} ${getprefix}${field.capitalName}() {
        return ${field.propertyName};
    }

    #if(${entityBuilderModel})
    public ${entity} set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
    #else
    public void set${field.capitalName}(${field.propertyType} ${field.propertyName}) {
    #end
        this.${field.propertyName} = ${field.propertyName};
    #if(${entityBuilderModel})
        return this;
    #end
    }
    #end
#end

#if(${entityColumnConstant})
    #foreach($field in ${table.fields})
    public static final String ${field.name.toUpperCase()} ="${field.name}";
    #end
#end

#if(${activeRecord})
    @Override
    protected Serializable pkVal() {
        #if(${keyPropertyName})
            return this.${keyPropertyName};
        #else
            return this.id;
        #end
    }
#end

#if(!${entityLombokModel})
    @Override
    public String toString() {
        return "${entity} {" +
    #foreach($field in ${table.fields})
        #if($!{velocityCount} == 1)
                "${field.propertyName} = " + ${field.propertyName} +
        #else
                ", ${field.propertyName} = " + ${field.propertyName} +
        #end
    #end
        "}";
    }
#end
}