package com.example.demo.model;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 业务实体。
 * <p>对应数据库 business 表，管理业务数据的全生命周期。</p>
 */
@Schema(description = "业务实体")
public class BusinessItem {

    @Schema(description = "业务ID", example = "1")
    private Long businessId;

    @Schema(description = "业务编号", example = "BIZ-2024-001")
    private String businessNo;

    @Schema(description = "业务类型", example = "采购申请")
    private String businessType;

    @Schema(description = "申请人ID", example = "1")
    private Long applicantId;

    @Schema(description = "申请时间", example = "2024-01-15 10:00:00")
    private String applyTime;

    @Schema(description = "业务内容", example = "申请采购服务器设备")
    private String content;

    @Schema(description = "附件路径", example = "/attachments/biz_001.pdf")
    private String attachmentPath;

    @Schema(description = "状态：草稿/待审核/通过/驳回/已归档", example = "草稿")
    private String status;

    @Schema(description = "审核人ID", example = "2")
    private Long auditorId;

    @Schema(description = "审核意见", example = "同意")
    private String comment;

    public BusinessItem() {}

    public BusinessItem(Long businessId, String businessNo, String businessType, Long applicantId,
                        String applyTime, String content, String attachmentPath, String status,
                        Long auditorId, String comment) {
        this.businessId = businessId;
        this.businessNo = businessNo;
        this.businessType = businessType;
        this.applicantId = applicantId;
        this.applyTime = applyTime;
        this.content = content;
        this.attachmentPath = attachmentPath;
        this.status = status;
        this.auditorId = auditorId;
        this.comment = comment;
    }

    public Long getBusinessId() { return businessId; }
    public void setBusinessId(Long businessId) { this.businessId = businessId; }
    public String getBusinessNo() { return businessNo; }
    public void setBusinessNo(String businessNo) { this.businessNo = businessNo; }
    public String getBusinessType() { return businessType; }
    public void setBusinessType(String businessType) { this.businessType = businessType; }
    public Long getApplicantId() { return applicantId; }
    public void setApplicantId(Long applicantId) { this.applicantId = applicantId; }
    public String getApplyTime() { return applyTime; }
    public void setApplyTime(String applyTime) { this.applyTime = applyTime; }
    public String getContent() { return content; }
    public void setContent(String content) { this.content = content; }
    public String getAttachmentPath() { return attachmentPath; }
    public void setAttachmentPath(String attachmentPath) { this.attachmentPath = attachmentPath; }
    public String getStatus() { return status; }
    public void setStatus(String status) { this.status = status; }
    public Long getAuditorId() { return auditorId; }
    public void setAuditorId(Long auditorId) { this.auditorId = auditorId; }
    public String getComment() { return comment; }
    public void setComment(String comment) { this.comment = comment; }
}
