package com.goafanti.common.model;

import java.util.Date;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.goafanti.common.constant.AFTConstants;
import com.goafanti.common.utils.FileUtils;

public class DemandOrder {
    private String id;

    /**
    * 编号
    */
    private Integer serialNumber;

    /**
    * 科技需求ID
    */
    private String demandId;

    /**
    * 接单人ID
    */
    private String uid;

    /**
    * 接单时间
    */
    private Date createTime;

    /**
    * 附件URL
    */
    private String enclosureUrl;

    /**
    * 流程变动(0--初始意向,1--意向金,2--签订合同,3--合同金,4--佣金,5--服务金,6--关闭)
    */
    private Integer status;

    /**
    * 意向金
    */
    private Integer intentionMoney;

    /**
    * 合同金
    */
    private Integer contractMoney;

    /**
    * 佣金
    */
    private Integer commission;

    /**
    * 服务金
    */
    private Integer serviceMoney;

    /**
    * 是否退款(0--未退款,1--已退款)
    */
    private Integer refund;

    /**
    * 删除标记(0--未删除,1--已删除)
    */
    private Integer deletedSign;

    public String getId() {
        return id;
    }

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

    public Integer getSerialNumber() {
        return serialNumber;
    }

    public void setSerialNumber(Integer serialNumber) {
        this.serialNumber = serialNumber;
    }

    public String getDemandId() {
        return demandId;
    }

    public void setDemandId(String demandId) {
        this.demandId = demandId;
    }

    public String getUid() {
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getEnclosureUrl() {
        return enclosureUrl;
    }

    public void setEnclosureUrl(String enclosureUrl) {
        this.enclosureUrl = enclosureUrl;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getIntentionMoney() {
        return intentionMoney;
    }

    public void setIntentionMoney(Integer intentionMoney) {
        this.intentionMoney = intentionMoney;
    }

    public Integer getContractMoney() {
        return contractMoney;
    }

    public void setContractMoney(Integer contractMoney) {
        this.contractMoney = contractMoney;
    }

    public Integer getCommission() {
        return commission;
    }

    public void setCommission(Integer commission) {
        this.commission = commission;
    }

    public Integer getServiceMoney() {
        return serviceMoney;
    }

    public void setServiceMoney(Integer serviceMoney) {
        this.serviceMoney = serviceMoney;
    }

    public Integer getRefund() {
        return refund;
    }

    public void setRefund(Integer refund) {
        this.refund = refund;
    }
    
    @JsonIgnore
    public Integer getDeletedSign() {
        return deletedSign;
    }

    public void setDeletedSign(Integer deletedSign) {
        this.deletedSign = deletedSign;
    }
    
    public String getCreateTimeFormattedDate() {
		if (this.createTime == null) {
			return null;
		} else {
			return DateFormatUtils.format(this.getCreateTime(), AFTConstants.YYYYMMDD);
		}
	}

	public void setCreateTimeFormattedDate(String createTimeFormattedDate) {

	}
    
    public String getEnclosureDownloadFileName(){
		if (StringUtils.isBlank(this.enclosureUrl)){
			return null;
		} else {
			return FileUtils.getDownloadFileName(this.enclosureUrl);
		}
	}
		
	public void setEnclosureDownloadFileName(String enclosureDownloadFileName){
			
	}
}