package com.sunxung.factoring.entity.financing.payment;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sunxung.factoring.entity.BaseEntity;

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

/**
 * @Description:放款申请基础实体
 * @Author:wanxiangZhou
 * @E-mail:zhouyu@sunxung.cn
 * @Date:2018年9月19日 上午9:55:12
 */
@TableName("payment_apply")
public class PaymentApply extends BaseEntity {

    /**
     * 付款信息Id
     **/
    private Long paymentInfoId;

    /**
     * 付款编号
     **/
    private String paymentNo;

    /**
     * 付款类型
     */
    private String paymentType;

    /**
     * 付款笔数
     */
    private String planNo;

    /**
     * 付款金额
     */
    private BigDecimal paymentAmount;

    /**
     * 币种code
     */
    private String currencyCode;

    /**
     * 计划付款日期
     */
    private Date planPaymentDate;

    /**
     * 状态code
     */
    private String statusCode;

    /**
     * 提交/暂存
     **/
    private Boolean visible;

    /**
     * 融资利率
     */
    @TableField(exist = false)
    private String financingRateStr;

    /**
     * 管理费率
     **/
    @TableField(exist = false)
    private String managementFeeRateStr;

    /**
     * 利息是否计算投放日，1:是,0:否
     */
    @TableField(exist = false)
    private Integer interestCalculate;

    /**
     * 还款方式
     */
    @TableField(exist = false)
    private String payBackMethod;

    /**
     * 付款条件
     */
    @TableField(exist = false)
    private List<PaymentCondition> conditionList;

    /**
     * taskId
     */
    @TableField(exist = false)
    private String taskId;

    public Long getPaymentInfoId() {
        return paymentInfoId;
    }

    public void setPaymentInfoId(Long paymentInfoId) {
        this.paymentInfoId = paymentInfoId;
    }

    public String getCurrencyCode() {
        return currencyCode;
    }

    public void setCurrencyCode(String currencyCode) {
        this.currencyCode = currencyCode;
    }

    public Date getPlanPaymentDate() {
        return planPaymentDate;
    }

    public void setPlanPaymentDate(Date planPaymentDate) {
        this.planPaymentDate = planPaymentDate;
    }

    public String getStatusCode() {
        return statusCode;
    }

    public void setStatusCode(String statusCode) {
        this.statusCode = statusCode;
    }

    public String getPaymentNo() {
        return paymentNo;
    }

    public void setPaymentNo(String paymentNo) {
        this.paymentNo = paymentNo;
    }

    public String getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType;
    }

    public BigDecimal getPaymentAmount() {
        return paymentAmount;
    }

    public void setPaymentAmount(BigDecimal paymentAmount) {
        this.paymentAmount = paymentAmount;
    }

    public Boolean getVisible() {
        return visible;
    }

    public void setVisible(Boolean visible) {
        this.visible = visible;
    }

    public String getFinancingRateStr() {
        return financingRateStr;
    }

    public void setFinancingRateStr(String financingRateStr) {
        this.financingRateStr = financingRateStr;
    }

    public String getManagementFeeRateStr() {
        return managementFeeRateStr;
    }

    public void setManagementFeeRateStr(String managementFeeRateStr) {
        this.managementFeeRateStr = managementFeeRateStr;
    }

    public Integer getInterestCalculate() {
        return interestCalculate;
    }

    public void setInterestCalculate(Integer interestCalculate) {
        this.interestCalculate = interestCalculate;
    }

    public String getPayBackMethod() {
        return payBackMethod;
    }

    public void setPayBackMethod(String payBackMethod) {
        this.payBackMethod = payBackMethod;
    }

    public List<PaymentCondition> getConditionList() {
        return conditionList;
    }

    public void setConditionList(List<PaymentCondition> conditionList) {
        this.conditionList = conditionList;
    }

    public String getPlanNo() {
        return planNo;
    }

    public void setPlanNo(String planNo) {
        this.planNo = planNo;
    }

    public String getTaskId() {
        return taskId;
    }

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