package com.common.bean;

import android.os.Parcel;
import android.os.Parcelable;

import tech.starwin.LibConfig;

public class LatestLoanAppBean implements Parcelable {

    public static final String WITHDRAWN = "WITHDRAWN";//撤回
    public static final String GRACE_PERIOD = "GRACE_PERIOD";//撤回
    public static final String OVERDUE = "OVERDUE";//逾期
    public static final String CURRENT = "CURRENT";//已放款
    public static final String SUBMITTED = "SUBMITTED";//已经提交
    public static final String IN_REVIEW = "IN_REVIEW";//审核中
    public static final String APPROVED = "APPROVED";//已批准放款
    public static final String READY_TO_ISSUE = "READY_TO_ISSUE";//准备放款
    public static final String ISSUE_FAILED = "ISSUE_FAILED";//放款失败
    public static final String ISSUING = "ISSUING";//放款中
    public static final String NOLOANAPP = "NOLOANAPP";//无贷款信息
    public static final String CANCELED = "CANCELED";//已取消
    public static final String PAID_OFF = "PAID_OFF";//已结清
    public static final String REJECTED = "REJECTED";//贷款被拒绝
    public static final String CLOSED = "CLOSED";//贷款申请已关闭

    public static final Creator<LatestLoanAppBean> CREATOR = new Creator<LatestLoanAppBean>() {
        @Override
        public LatestLoanAppBean createFromParcel(Parcel source) {
            LatestLoanAppBean var = new LatestLoanAppBean();
            var.serviceFeeAccr = source.readDouble();
            var.statusLogs = source.createTypedArray(LoanAppBeanFatherStatusLogs.CREATOR);
            var.dueDate = source.readString();
            var.remainingDays = source.readInt();
            var.minRepaymentAmount = source.readDouble();
            var.issueAmount = source.readDouble();
            var.cardNo = source.readString();
            var.periodUnit = source.readString();
            var.credentialNo = source.readString();
            var.remainAmount = source.readDouble();
            var.interestAccr = source.readDouble();
            var.defaultAccr = source.readDouble();
            var.issueDate = source.readString();
            var.defaultPaid = source.readDouble();
            var.interestPaid = source.readDouble();
            var.bankCode = source.readString();
            var.amount = source.readDouble();
            var.period = source.readInt();
            var.clearDate = source.readString();
            var.comments = source.readString();
            var.cost = source.readDouble();
            var.adjustAmount = source.readDouble();
            var.principalPaid = source.readDouble();
            var.totalAmount = source.readDouble();
            var.principalAccr = source.readDouble();
            var.createTime = source.readString();
            var.dueAmount = source.readDouble();
            var.serviceFeePaid = source.readDouble();
            var.loanAppId = source.readString();
            var.paidAmount = source.readDouble();
            var.status = source.readString();
            var.contractNo = source.readString();
            return var;
        }

        @Override
        public LatestLoanAppBean[] newArray(int size) {
            return new LatestLoanAppBean[size];
        }
    };
    private double serviceFeeAccr;
    private LoanAppBeanFatherStatusLogs[] statusLogs;
    private String dueDate;
    private int remainingDays;
    private double minRepaymentAmount;
    private double issueAmount;
    private String cardNo;
    private String periodUnit;
    private String credentialNo;
    private double remainAmount;
    private double interestAccr;
    private double defaultAccr;
    private String issueDate;
    private double defaultPaid;
    private double interestPaid;
    private String bankCode;
    private double amount;
    private int period;
    private String clearDate;
    private String comments;
    private double cost;
    private double adjustAmount;
    private double principalPaid;
    private double totalAmount;
    private double principalAccr;
    private String createTime;
    private double dueAmount;
    private double serviceFeePaid;
    private String loanAppId;
    private double paidAmount;
    private String status;
    private long productId;
    private String applyFor;
    private String applyChannel;
    private long couponId;
    private String contractNo;
    private String serviceMobile = LibConfig.HOTLINE;
    private String companyName = "";

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getServiceMobile() {
        return serviceMobile;
    }

    public void setServiceMobile(String serviceMobile) {
        this.serviceMobile = serviceMobile;
    }

    public String getApplyFor() {
        return applyFor;
    }

    public void setApplyFor(String applyFor) {
        this.applyFor = applyFor;
    }

    public String getApplyChannel() {
        return applyChannel;
    }

    public void setApplyChannel(String applyChannel) {
        this.applyChannel = applyChannel;
    }

    public long getCouponId() {
        return couponId;
    }

    public void setCouponId(long couponId) {
        this.couponId = couponId;
    }

    public long getProductId() {
        return productId;
    }

    public void setProductId(long productId) {
        this.productId = productId;
    }

    public double getServiceFeeAccr() {
        return this.serviceFeeAccr;
    }

    public void setServiceFeeAccr(double serviceFeeAccr) {
        this.serviceFeeAccr = serviceFeeAccr;
    }

    public LoanAppBeanFatherStatusLogs[] getStatusLogs() {
        return this.statusLogs;
    }

    public void setStatusLogs(LoanAppBeanFatherStatusLogs[] statusLogs) {
        this.statusLogs = statusLogs;
    }

    public String getDueDate() {
        return this.dueDate;
    }

    public void setDueDate(String dueDate) {
        this.dueDate = dueDate;
    }

    public int getRemainingDays() {
        return this.remainingDays;
    }

    public void setRemainingDays(int remainingDays) {
        this.remainingDays = remainingDays;
    }

    public double getMinRepaymentAmount() {
        return this.minRepaymentAmount;
    }

    public void setMinRepaymentAmount(double minRepaymentAmount) {
        this.minRepaymentAmount = minRepaymentAmount;
    }

    public double getIssueAmount() {
        return issueAmount;
    }

    public void setIssueAmount(double issueAmount) {
        this.issueAmount = issueAmount;
    }

    public String getCardNo() {
        return this.cardNo;
    }

    public void setCardNo(String cardNo) {
        this.cardNo = cardNo;
    }

    public String getPeriodUnit() {
        return this.periodUnit;
    }

    public void setPeriodUnit(String periodUnit) {
        this.periodUnit = periodUnit;
    }

    public String getCredentialNo() {
        return this.credentialNo;
    }

    public void setCredentialNo(String credentialNo) {
        this.credentialNo = credentialNo;
    }

    public double getRemainAmount() {
        return this.remainAmount;
    }

    public void setRemainAmount(double remainAmount) {
        this.remainAmount = remainAmount;
    }

    public double getInterestAccr() {
        return this.interestAccr;
    }

    public void setInterestAccr(double interestAccr) {
        this.interestAccr = interestAccr;
    }

    public double getDefaultAccr() {
        return this.defaultAccr;
    }

    public void setDefaultAccr(double defaultAccr) {
        this.defaultAccr = defaultAccr;
    }

    public String getIssueDate() {
        return this.issueDate;
    }

    public void setIssueDate(String issueDate) {
        this.issueDate = issueDate;
    }

    public double getDefaultPaid() {
        return this.defaultPaid;
    }

    public void setDefaultPaid(double defaultPaid) {
        this.defaultPaid = defaultPaid;
    }

    public double getInterestPaid() {
        return this.interestPaid;
    }

    public void setInterestPaid(double interestPaid) {
        this.interestPaid = interestPaid;
    }

    public String getBankCode() {
        return this.bankCode;
    }

    public void setBankCode(String bankCode) {
        this.bankCode = bankCode;
    }

    public double getAmount() {
        return this.amount;
    }

    public void setAmount(double amount) {
        this.amount = amount;
    }

    public int getPeriod() {
        return this.period;
    }

    public void setPeriod(int period) {
        this.period = period;
    }

    public String getClearDate() {
        return this.clearDate;
    }

    public void setClearDate(String clearDate) {
        this.clearDate = clearDate;
    }

    public String getComments() {
        return this.comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public double getCost() {
        return this.cost;
    }

    public void setCost(double cost) {
        this.cost = cost;
    }

    public double getAdjustAmount() {
        return this.adjustAmount;
    }

    public void setAdjustAmount(double adjustAmount) {
        this.adjustAmount = adjustAmount;
    }

    public double getPrincipalPaid() {
        return this.principalPaid;
    }

    public void setPrincipalPaid(double principalPaid) {
        this.principalPaid = principalPaid;
    }

    public double getTotalAmount() {
        return this.totalAmount;
    }

    public void setTotalAmount(double totalAmount) {
        this.totalAmount = totalAmount;
    }

    public double getPrincipalAccr() {
        return this.principalAccr;
    }

    public void setPrincipalAccr(double principalAccr) {
        this.principalAccr = principalAccr;
    }

    public String getCreateTime() {
        return this.createTime;
    }

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

    public double getDueAmount() {
        return this.dueAmount;
    }

    public void setDueAmount(double dueAmount) {
        this.dueAmount = dueAmount;
    }

    public double getServiceFeePaid() {
        return this.serviceFeePaid;
    }

    public void setServiceFeePaid(double serviceFeePaid) {
        this.serviceFeePaid = serviceFeePaid;
    }

    public String getLoanAppId() {
        return this.loanAppId;
    }

    public void setLoanAppId(String loanAppId) {
        this.loanAppId = loanAppId;
    }

    public double getPaidAmount() {
        return this.paidAmount;
    }

    public void setPaidAmount(double paidAmount) {
        this.paidAmount = paidAmount;
    }

    public String getStatus() {
        return this.status == null ? "" : status;
    }

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

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeDouble(this.serviceFeeAccr);
        dest.writeTypedArray(this.statusLogs, flags);
        dest.writeString(this.dueDate);
        dest.writeInt(this.remainingDays);
        dest.writeDouble(this.minRepaymentAmount);
        dest.writeDouble(this.issueAmount);
        dest.writeString(this.cardNo);
        dest.writeString(this.periodUnit);
        dest.writeString(this.credentialNo);
        dest.writeDouble(this.remainAmount);
        dest.writeDouble(this.interestAccr);
        dest.writeDouble(this.defaultAccr);
        dest.writeString(this.issueDate);
        dest.writeDouble(this.defaultPaid);
        dest.writeDouble(this.interestPaid);
        dest.writeString(this.bankCode);
        dest.writeDouble(this.amount);
        dest.writeInt(this.period);
        dest.writeString(this.clearDate);
        dest.writeString(this.comments);
        dest.writeDouble(this.cost);
        dest.writeDouble(this.adjustAmount);
        dest.writeDouble(this.principalPaid);
        dest.writeDouble(this.totalAmount);
        dest.writeDouble(this.principalAccr);
        dest.writeString(this.createTime);
        dest.writeDouble(this.dueAmount);
        dest.writeDouble(this.serviceFeePaid);
        dest.writeString(this.loanAppId);
        dest.writeDouble(this.paidAmount);
        dest.writeString(this.status);
        dest.writeString(this.contractNo);
    }

    @Override
    public int describeContents() {
        return 0;
    }
}
