package com.kxs.system.api.model;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 训练营报备(KxsCampReport)表实体类
 *
 * @author 系统
 * @since 2024-07-02 15:10:28
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class KxsCampReport extends Model<KxsCampReport> implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    
    
    /**
     * 主键ID
     */
    @Schema(description = "主键ID")
    @TableId(type = IdType.AUTO)
    private Integer id;


    /**
     * 新增时间
     */
    @TableField(fill = FieldFill.INSERT)
    @Schema(description = "新增时间")
    private LocalDateTime createTime;


    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.UPDATE)
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;


    /**
     * 删除标记，0未删除，1已删除
     */
    @Schema(description = "删除标记，0未删除，1已删除")
    private String delFlag;


    /**
     * 版本
     */
    @Schema(description = "版本")
    private Integer version;


    /**
     * 报备类型 广电开卡=0 来客吧=1 业绩报备=2 商城下单=3 其他=-1
     */
    @Schema(description = "报备类型 广电开卡=0 来客吧=1 业绩报备=2 商城下单=3 其他=-1")
    @NotNull(message = "报备类型不能为空")
    private Integer reportType;


    /**
     * 报备说明
     */
    @Schema(description = "报备说明")
    @NotBlank(message = "报备说明不能为空")
    private String title;


    /**
     * 图片数组
     */
    @Schema(description = "图片数组")
    private String imgs;


    /**
     * 状态 0审核中 1审核通过 -1审核失败
     */
    @Schema(description = "状态 0审核中 1审核通过 -1审核失败")
    private Integer status;


    /**
     * 报备创客ID
     */
    @Schema(description = "报备创客ID")
    private Long userId;

    /**
     * 训练营ID
     */
    @Schema(description = "训练营ID")
    @NotNull(message = "训练营ID不能为空")
    private Integer campId;


    /**
     * 创客姓名
     */
    @Schema(description = "创客姓名")
    private String username;


    /**
     * 创客编号
     */
    @Schema(description = "创客编号")
    private String userCode;


    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;


    /**
     * 操作人
     */
    @Schema(description = "操作人")
    private String createBy;




}

