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 org.springframework.format.annotation.DateTimeFormat;

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-08-20
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@Table(name = "invest_region_investment")
public class InvestRegionInvestment implements Serializable{
    private static final long serialVersionUID = 1L;
    /**
     * 主键id
     */
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;
    /**
     * bip账号
     */
 	@Column(name="bip_user_account")
    private String bipUserAccount;
    /**
     * 人员名称
     */
 	@Column(name="user_name")
    private String userName;
    /**
     * 区域id
     */
 	@Column(name="region_id")
    private String regionId;
    /**
     * 区域名称
     */
 	@Column(name="region_name")
    private String regionName;
    /**
     * 项目名称
     */
 	@Column(name="project_name")
    private String projectName;
    /**
     * 项目id
     */
 	@Column(name="project_id")
    private String projectId;
    /**
     * 跟投（资金池）
     */
 	@Column(name="follow_capital")
    private BigDecimal followCapital;
    /**
     * 跟投时间（资金池）
     */
 	 @JsonFormat(pattern="yyyy/MM/dd HH:mm",timezone = "GMT+8")
 	@Column(name="follow_time")
    private Date followTime;
    /**
     * 跟投（独资金账户）
     */
 	@Column(name="follow_capital_account")
    private BigDecimal followCapitalAccount;
    /**
     * 跟投时间（独资金账户）
     */
 	@JsonFormat(pattern="yyyy/MM/dd HH:mm",timezone = "GMT+8")
 	@Column(name="follow_capital_account_time")
    private Date followCapitalAccountTime;
    /**
     * 资金池（理财收益）
     */
 	@Column(name="financial_income_capital")
    private BigDecimal financialIncomeCapital;
    /**
     * 单独资金账户（理财收益）
     */
 	@Column(name="financial_income_capital_account")
    private BigDecimal financialIncomeCapitalAccount;
    /**
     * 资金池（募集资金余额）
     */
 	@Column(name="raising_balance_capital")
    private BigDecimal raisingBalanceCapital;
    /**
     * 单独资金账户（募集资金余额）
     */
 	@Column(name="raising_balance_capital_account")
    private BigDecimal raisingBalanceCapitalAccount;
    /**
     * 资金池（可用资金余额）
     */
 	@Column(name="available_balance_capital")
    private BigDecimal availableBalanceCapital;
    /**
     * 单独资金账户（可用资金余额）
     */
 	@Column(name="available_balance_capital_account")
    private BigDecimal availableBalanceCapitalAccount;
    /**
     * 创建人
     */
 	@Column(name="create_by")
    private String createBy;
    /**
     * 创建时间
     */
 	@JsonFormat(pattern="yyyy/MM/dd HH:mm",timezone = "GMT+8")
    private Date createTime;
    /**
     * 修改人
     */
 	@Column(name="update_by")
    private String updateBy;
    /**
     * 修改时间
     */
 	@JsonFormat(pattern="yyyy/MM/dd HH:mm",timezone = "GMT+8")
    private Date updateTime;
    /**
     * 可用
     */
 	@Column(name="flag")
    private Integer flag;
    public InvestRegionInvestment() {
          super();
    }
    public void setId(Integer id) {
          this.id = id;
    }
	
    public Integer getId() {
          return id;
    }
    public void setBipUserAccount(String bipUserAccount) {
          this.bipUserAccount = bipUserAccount;
    }
	
    public String getBipUserAccount() {
          return bipUserAccount;
    }
    public void setUserName(String userName) {
          this.userName = userName;
    }
	
    public String getUserName() {
          return userName;
    }


	public String getRegionId() {
		return regionId;
	}
	public void setRegionId(String regionId) {
		this.regionId = regionId;
	}
	public void setRegionName(String regionName) {
          this.regionName = regionName;
    }
	
    public String getRegionName() {
          return regionName;
    }
    public void setProjectName(String projectName) {
          this.projectName = projectName;
    }
	
    public String getProjectName() {
          return projectName;
    }
    public void setProjectId(String projectId) {
          this.projectId = projectId;
    }
	
    public String getProjectId() {
          return projectId;
    }
    public void setFollowCapital(BigDecimal followCapital) {
          this.followCapital = followCapital;
    }
	
    public BigDecimal getFollowCapital() {
    	if(followCapital==null) {
          return followCapital=new BigDecimal(0);
    	}
          return followCapital;
    }
    public void setFollowTime(Date followTime) {
          this.followTime = followTime;
    }
	
    public Date getFollowTime() {
          return followTime;
    }
    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() {
    	if(followCapitalAccountTime==null) {
    		 return followCapitalAccountTime=new Date();
    	}
          return followCapitalAccountTime;
    }
    public void setFinancialIncomeCapital(BigDecimal financialIncomeCapital) {
          this.financialIncomeCapital = financialIncomeCapital;
    }
	
    public BigDecimal getFinancialIncomeCapital() {
          return financialIncomeCapital;
    }
    public void setFinancialIncomeCapitalAccount(BigDecimal financialIncomeCapitalAccount) {
          this.financialIncomeCapitalAccount = financialIncomeCapitalAccount;
    }
	
    public BigDecimal getFinancialIncomeCapitalAccount() {
          return financialIncomeCapitalAccount;
    }
    public void setRaisingBalanceCapital(BigDecimal raisingBalanceCapital) {
          this.raisingBalanceCapital = raisingBalanceCapital;
    }
	
    public BigDecimal getRaisingBalanceCapital() {
          return raisingBalanceCapital;
    }
    public void setRaisingBalanceCapitalAccount(BigDecimal raisingBalanceCapitalAccount) {
          this.raisingBalanceCapitalAccount = raisingBalanceCapitalAccount;
    }
	
    public BigDecimal getRaisingBalanceCapitalAccount() {
          return raisingBalanceCapitalAccount;
    }
    public void setAvailableBalanceCapital(BigDecimal availableBalanceCapital) {
          this.availableBalanceCapital = availableBalanceCapital;
    }
	
    public BigDecimal getAvailableBalanceCapital() {
          return availableBalanceCapital;
    }
    public void setAvailableBalanceCapitalAccount(BigDecimal availableBalanceCapitalAccount) {
          this.availableBalanceCapitalAccount = availableBalanceCapitalAccount;
    }
	
    public BigDecimal getAvailableBalanceCapitalAccount() {
          return availableBalanceCapitalAccount;
    }
    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;
    }
    public void setFlag(Integer flag) {
          this.flag = flag;
    }
	
    public Integer getFlag() {
          return flag;
    }
}
