package cn.com.countrygarden.bi.main.model.investment;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import java.util.Date;


/**
 * 
 *
 * @author 汤婷
 * @email www.justintoforest@gamail.com
 * @url 
 * @date 2018-10-05
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@Table(name = "invest_project_account")
public class InvestProjectAccount implements Serializable{
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;
    /**
     * 关联个人区域投资ID
     */
 	@Column(name="invest_region_investment_id")
    private Integer investRegionInvestmentId;
    /**
     * 关联项目收益ID
     */
 	@Column(name="invest_project_investment_id")
    private Integer investProjectInvestmentId;
    /**
     * 单独资金账户跟投本金
     */
 	@Column(name="follow_capital_account")
    private BigDecimal followCapitalAccount;
    /**
     * 单独资金账户跟投时间
     */
 	@JSONField(format="yyyy/MM/dd HH:mm")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm",timezone = "GMT+8")
    private Date followCapitalAccountTime;
 	 /**
     * 标识符
     */
 	
 	@Column(name="flag")
    private String flag;
    /**
     * 创建人
     */
 	
 	@Column(name="create_by")
    private String createBy;
    /**
     * 创建时间
     */
 	@JSONField(format="yyyy/MM/dd HH:mm")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm",timezone = "GMT+8")
    private Date createTime;
    /**
     * 修改人
     */
 	@Column(name="update_by")
    private String updateBy;
    /**
     * 修改时间
     */
 	@JSONField(format="yyyy/MM/dd HH:mm")
    @JsonFormat(pattern="yyyy/MM/dd HH:mm",timezone = "GMT+8")
    private Date updateTime;
 	
 	
 	
    public String getFlag() {
		return flag;
	}
	public void setFlag(String flag) {
		this.flag = flag;
	}
	public InvestProjectAccount() {
          super();
    }
    public void setId(Integer id) {
          this.id = id;
    }
	
    public Integer getId() {
          return id;
    }
    public void setInvestRegionInvestmentId(Integer investRegionInvestmentId) {
          this.investRegionInvestmentId = investRegionInvestmentId;
    }
	
    public Integer getInvestRegionInvestmentId() {
          return investRegionInvestmentId;
    }
    public void setInvestProjectInvestmentId(Integer investProjectInvestmentId) {
          this.investProjectInvestmentId = investProjectInvestmentId;
    }
	
    public Integer getInvestProjectInvestmentId() {
          return investProjectInvestmentId;
    }
    public void setFollowCapitalAccount(BigDecimal followCapitalAccount) {
          this.followCapitalAccount = followCapitalAccount;
    }
	
    public BigDecimal getFollowCapitalAccount() {
    	if(followCapitalAccount==null) {
    		return followCapitalAccount=new BigDecimal(0);
    	}
          return followCapitalAccount;
    }
    public void setFollowCapitalAccountTime(Date followCapitalAccountTime) {
          this.followCapitalAccountTime = followCapitalAccountTime;
    }
	
    public Date getFollowCapitalAccountTime() {
          return followCapitalAccountTime;
    }
    public void setCreateBy(String createBy) {
          this.createBy = createBy;
    }
	
    public String getCreateBy() {
          return createBy;
    }
    public void setCreateTime(Date createTime) {
          this.createTime = createTime;
    }
	
    public Date getCreateTime() {
          return createTime;
    }
    public void setUpdateBy(String updateBy) {
          this.updateBy = updateBy;
    }
	
    public String getUpdateBy() {
          return updateBy;
    }
    public void setUpdateTime(Date updateTime) {
          this.updateTime = updateTime;
    }
	
    public Date getUpdateTime() {
          return updateTime;
    }
}
