package com.srs.dormitory.domain;

import com.srs.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import com.srs.common.core.domain.BaseEntity;

import java.util.List;


/**
 * 外宿申请附件对象 dms_outside_accommodation_attachment
 *
 * @author srs
 * @date 2025-12-05
 */
@Data
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(value = "DmsOutsideAccommodationAttachment对象" , description = "外宿申请附件表")
@TableName("dms_outside_accommodation_attachment")
public class DmsOutsideAccommodationAttachment extends BaseEntity{
private static final long serialVersionUID=1L;

    /**
     * 主键ID
     */
    @ApiModelProperty("主键ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 外宿申请ID（关联申请表）
     */
    @ApiModelProperty("外宿申请ID（关联申请表）")
    @TableField("apply_id")
    @Excel(name = "外宿申请ID" , readConverterExp = "关=联申请表")
    private Long applyId;

    /**
     * 附件名称
     */
    @ApiModelProperty("附件名称")
    @TableField("attachment_name")
    @Excel(name = "附件名称")
    private String attachmentName;

    /**
     * 附件存储URL
     */
    @ApiModelProperty("附件存储URL")
    @TableField("attachment_url")
    @Excel(name = "附件存储URL")
    private String attachmentUrl;

    /**
     * 附件类型（1=病例证明，2=住房证明，3=其他）
     */
    @ApiModelProperty("附件类型（1=病例证明，2=住房证明，3=其他）")
    @TableField("attachment_type")
    @Excel(name = "附件类型" , readConverterExp = "1==病例证明，2=住房证明，3=其他")
    private Long attachmentType;

    /**
     * 附件大小（字节）
     */
    @ApiModelProperty("附件大小（字节）")
    @TableField("file_size")
    @Excel(name = "附件大小" , readConverterExp = "字=节")
    private Long fileSize;

    /**
     * 附件后缀（如jpg、pdf）
     */
    @ApiModelProperty("附件后缀（如jpg、pdf）")
    @TableField("file_suffix")
    @Excel(name = "附件后缀" , readConverterExp = "如=jpg、pdf")
    private String fileSuffix;

    /**
     * 流程实例ID
     */
    @ApiModelProperty("流程实例ID")
    @TableField("process_instance_id")
    @Excel(name = "流程实例ID")
    private String processInstanceId;

    /**
     * 学生姓名
     */
    @ApiModelProperty("学生姓名")
    @TableField("student_name")
    @Excel(name = "学生姓名")
    private String studentName;

    /**
     * 学生学号
     */
    @ApiModelProperty("学生学号")
    @TableField("student_no")
    @Excel(name = "学生学号")
    private String studentNo;

    /**
     * 外宿申请表
     */
    @ApiModelProperty(value = "外宿申请表", hidden = true)
    @Excel(name = "外宿申请表")
    private List<DmsOutsideAccommodationApply> outsideAccommodationApplies;
}
