package com.microservices.dms.resourceLibrary.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.microservices.dms.resourceLibrary.domain.vo.KeyValVo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.microservices.common.core.annotation.Excel;
import com.microservices.common.core.web.domain.BaseEntity;

/**
 * @author microservices
 * @date 2025-04-08
 */
public class TaskResourceLibrary extends BaseEntity {
    private static final long serialVersionUID = 1L;

    //
    private Long id;
    //创客任务ID
    private Long taskId;
    //
    private Long paperId;
    //创客任务名称
    private String taskName;
    //任务领域
    private String taskDomain;
    //创客任务金额
    private BigDecimal taskAmount;
    //胜出交稿名称
    private String submissionName;
    //交稿时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date submissionDate;
    //交稿人
    private String submitterName;
    //交稿类型
    private String submissionType;
    //交稿单位
    private String submissionOrganization;
    //交稿摘要
    private String submissionSummary;
    //交稿详情
    private String releaseDetails;
    //联系人
    private String contactName;
    //联系电话
    private String contactPhone;
    //是否已转入成果库
    private Long isTransferredToResultsLibrary;
    //转入成果库时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date transferToResultsDate;
    //是否精选成果 0否 1是
    private Long isSelectedResult;
    //图片
    private String imageUrl;
    //附件
    private String attachmentUrl;
    private List<KeyValVo<String, String>> attachmentList;
    //专家审核
    private Integer expertReview;

    public Integer getExpertReview() {
        return expertReview;
    }

    public void setExpertReview(Integer expertReview) {
        this.expertReview = expertReview;
    }

    public List<KeyValVo<String, String>> getAttachmentList() {
        return attachmentList;
    }

    public void setAttachmentList(List<KeyValVo<String, String>> attachmentList) {
        this.attachmentList = attachmentList;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setTaskId(Long taskId) {
        this.taskId = taskId;
    }

    public Long getTaskId() {
        return taskId;
    }

    public void setPaperId(Long paperId) {
        this.paperId = paperId;
    }

    public Long getPaperId() {
        return paperId;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    public String getTaskName() {
        return taskName;
    }

    public void setTaskDomain(String taskDomain) {
        this.taskDomain = taskDomain;
    }

    public String getTaskDomain() {
        return taskDomain;
    }

    public void setTaskAmount(BigDecimal taskAmount) {
        this.taskAmount = taskAmount;
    }

    public BigDecimal getTaskAmount() {
        return taskAmount;
    }

    public void setSubmissionName(String submissionName) {
        this.submissionName = submissionName;
    }

    public String getSubmissionName() {
        return submissionName;
    }

    public void setSubmissionDate(Date submissionDate) {
        this.submissionDate = submissionDate;
    }

    public Date getSubmissionDate() {
        return submissionDate;
    }

    public void setSubmitterName(String submitterName) {
        this.submitterName = submitterName;
    }

    public String getSubmitterName() {
        return submitterName;
    }

    public void setSubmissionType(String submissionType) {
        this.submissionType = submissionType;
    }

    public String getSubmissionType() {
        return submissionType;
    }

    public void setSubmissionOrganization(String submissionOrganization) {
        this.submissionOrganization = submissionOrganization;
    }

    public String getSubmissionOrganization() {
        return submissionOrganization;
    }

    public void setSubmissionSummary(String submissionSummary) {
        this.submissionSummary = submissionSummary;
    }

    public String getSubmissionSummary() {
        return submissionSummary;
    }

    public void setReleaseDetails(String releaseDetails) {
        this.releaseDetails = releaseDetails;
    }

    public String getReleaseDetails() {
        return releaseDetails;
    }

    public void setContactName(String contactName) {
        this.contactName = contactName;
    }

    public String getContactName() {
        return contactName;
    }

    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }

    public String getContactPhone() {
        return contactPhone;
    }

    public void setIsTransferredToResultsLibrary(Long isTransferredToResultsLibrary) {
        this.isTransferredToResultsLibrary = isTransferredToResultsLibrary;
    }

    public Long getIsTransferredToResultsLibrary() {
        return isTransferredToResultsLibrary;
    }

    public void setTransferToResultsDate(Date transferToResultsDate) {
        this.transferToResultsDate = transferToResultsDate;
    }

    public Date getTransferToResultsDate() {
        return transferToResultsDate;
    }

    public void setIsSelectedResult(Long isSelectedResult) {
        this.isSelectedResult = isSelectedResult;
    }

    public Long getIsSelectedResult() {
        return isSelectedResult;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setAttachmentUrl(String attachmentUrl) {
        this.attachmentUrl = attachmentUrl;
    }

    public String getAttachmentUrl() {
        return attachmentUrl;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("taskId", getTaskId())
                .append("paperId", getPaperId())
                .append("taskName", getTaskName())
                .append("taskDomain", getTaskDomain())
                .append("taskAmount", getTaskAmount())
                .append("submissionName", getSubmissionName())
                .append("submissionDate", getSubmissionDate())
                .append("submitterName", getSubmitterName())
                .append("submissionType", getSubmissionType())
                .append("submissionOrganization", getSubmissionOrganization())
                .append("submissionSummary", getSubmissionSummary())
                .append("releaseDetails", getReleaseDetails())
                .append("contactName", getContactName())
                .append("contactPhone", getContactPhone())
                .append("isTransferredToResultsLibrary", getIsTransferredToResultsLibrary())
                .append("transferToResultsDate", getTransferToResultsDate())
                .append("isSelectedResult", getIsSelectedResult())
                .append("imageUrl", getImageUrl())
                .append("attachmentUrl", getAttachmentUrl())
                .toString();
    }
}
