package com.xjrsoft.module.banding.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.yulichang.annotation.EntityMapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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


/**
* @title: 新生分班任务
* @Author dzx
* @Date: 2024-07-01
* @Version 1.0
*/
@Data
@TableName("banding_task")
@ApiModel(value = "banding_task", description = "新生分班任务")
public class BandingTask implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 
    */
    @ApiModelProperty("")
    @TableId
    private Long id;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private Long createUserId;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private Date createDate;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.UPDATE)
    private Long modifyUserId;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.UPDATE)
    private Date modifyDate;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    private Integer deleteMark;
    /**
    * 
    */
    @ApiModelProperty("")
    @TableField(fill = FieldFill.INSERT)
    private Integer enabledMark;
    /**
    * 
    */
    @ApiModelProperty("")
    private Integer sortCode;
    /**
    * 年级id
    */
    @ApiModelProperty("年级id")
    private Long gradeId;
    /**
    * 招生类型
    */
    @ApiModelProperty("招生类型")
    private String enrollType;
    /**
    * 分班任务名称
    */
    @ApiModelProperty("分班任务名称")
    private String name;

    /**
    * bandingTaskRule
    */
    @ApiModelProperty("bandingTaskRule子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "bandingTaskId")
    private List<BandingTaskRule> bandingTaskRuleList;
    /**
    * bandingTaskClass
    */
    @ApiModelProperty("bandingTaskClass子表")
    @TableField(exist = false)
    @EntityMapping(thisField = "id", joinField = "bandingTaskId")
    private List<BandingTaskClass> bandingTaskClassList;

    @ApiModelProperty("任务状态（0：未确认 1：已确认）")
    private Integer status;

}