/**
* @Project: hehenian-biz-common
* @Package com.hehenian.biz.common.loan.dataobject
* @Title: LoanDo.java
* @Description: TODO
* @author: liuzgmf
* @date 2015年1月19日 下午3:08:48
* @Copyright: HEHENIAN Co.,Ltd. All rights reserved.
* @version V1.0
*/
package com.hehenian.biz.common.loan.dataobject;
import java.io.Serializable;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.hehenian.biz.common.util.StringUtil;
/**
*
* @author: liuzgmf
* @date 2015年1月19日 下午3:08:48
*/
public class LoanDo implements Serializable {
private static final long serialVersionUID = 1L;
private Long loanId; // 借款ID
private Integer loanType; // 贷款类型 1:信用贷 2:抵押贷 3:担保贷
private Long userId; // 用户ID
private Long schemeId; // 放款方案ID
private Double annualRate; // 借款年利率
private Long borrowId; // 借款ID
private String loanTitle; // 借款标题
private String loanUsage; // 贷款用途
private Double applyAmount; // 申请金额
private String applyAmountString; // 申请金额
private Double applyAmounttemp; // 限制金额
private Integer loanPeriod; // 借款期限
private Date loanTime; //放款日期
private Double loanAmount; // 放款金额
private String remark; // 备注
private LoanStatus loanStatus; // 借款状态
private Long auditUserId; // 审核人ID
private String auditUser; // 审核人
private Date auditTime; // 审核时间
private Date createTime; // 创建日期
private Date updateTime; // 最后修改日期
private LoanPersonDo loanPersonDo; // 借款人信息
/**add By wangt*/
private String productCode; //产品编码
private String orderCode; //订单号
private Long channelId; //渠道ID
private Double investAnnualRate; //投资者利息
/* add by liminglong */
private String realName;//借款人姓名
private String mobile; //借款人手机
private String referenceMobile ;//推荐人手机
private String productName;//产品名称
private String schemeName;//方案名称
private Long updateBy; //当前操作用户
private ProcessStep processCurrentStep; //当前处理步骤
private ProcessStep processNextStep; //下一个处理步骤
private BigDecimal auditAmount; //风控金额
private Integer subjectType; //上标渠道
/* add by liminglong */
private String caddress;
public String getCaddress() {
return caddress;
}
public void setCaddress(String caddress) {
this.caddress = caddress;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile;
}
public String getReferenceMobile() {
return referenceMobile;
}
public void setReferenceMobile(String referenceMobile) {
this.referenceMobile = referenceMobile;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getSchemeName() {
return schemeName;
}
public void setSchemeName(String schemeName) {
this.schemeName = schemeName;
}
public String getProductCode() {
return productCode;
}
public void setProductCode(String productCode) {
this.productCode = productCode;
}
public String getOrderCode() {
return orderCode;
}
public void setOrderCode(String orderCode) {
this.orderCode = orderCode;
}
/**
* DRAFT 草稿,PENDING-待处理,PROCESSING-处理中,AUDITED-已审核,TREATY-已签约,SUBJECTED 已上标 REPAYING还款中 REPAYED已还清
* ,NOPASS-拒绝,INVALID失效
* *
*/
public enum LoanStatus {
DRAFT,PENDING,PROCESSING,AUDITED,TREATY,SUBJECTED,REPAYING, REPAYED,
NOPASS,INVALID
}
/**
* CALL_COLOR_HOUSE_CHECK 调用地产验证是否业主, PROXY_CHECK 待彩管家验证,INPUT_CREDIT_REPORT-输入征信报告,XIAODAI_AUDIT-小贷审批,TO_SUBJECT 待上标 , TO_EDIT 用户编辑
* MENDSTEP1 一审,MENDSTEP2 二审, NULL 没有步骤的时候用这个项
* *
*/
public enum ProcessStep {
CALL_COLOR_HOUSE_CHECK,PROXY_CHECK,INPUT_CREDIT_REPORT,XIAODAI_AUDIT,TO_SUBJECT, MENDSTEP1,MENDSTEP2, TO_EDIT, NULL
}
public static String getLoanStepName(ProcessStep step){
if(ProcessStep.CALL_COLOR_HOUSE_CHECK.equals(step)){
return "验证业主";
}else if(ProcessStep.PROXY_CHECK.equals(step)){
return "彩管家审核";
}else if(ProcessStep.INPUT_CREDIT_REPORT.equals(step)){
return "征信补入";
}else if(ProcessStep.XIAODAI_AUDIT.equals(step)){
return "小贷审批";
}else if(ProcessStep.TO_SUBJECT.equals(step)){
return "待上标";
}else if(ProcessStep.TO_EDIT.equals(step)){
return "用户提交";
}else if(ProcessStep.MENDSTEP1.equals(step)){
return "一审";
}else if(ProcessStep.MENDSTEP2.equals(step)){
return "二审";
}else if(ProcessStep.NULL.equals(step)){
return "--";
}
return null;
}
public static String getChannelName(Long channelId2) {
if(null == channelId2) return "";
switch (Integer.valueOf(channelId2.toString())) {
case 1:
return "彩生活";
case 2:
return "文旅集团";
case 3:
return "地产集团";
case 4:
return "国际物业";
case 5:
return "融资租赁";
case 6:
return "福泰年";
case 7:
return "中国集团";
case 8:
return "合和年在线";
case 9:
return "小贷";
case 10:
return "商业管理";
case 11:
return "物业管理";
default:
return "";
}
}
public static List<LoanStatusDo> getLoanStatusList(){
List<LoanStatusDo> lsList = new ArrayList<LoanStatusDo>();
lsList.add(new LoanStatusDo("DRAFT", "草稿"));
lsList.add(new LoanStatusDo("PENDING", "待处理"));
lsList.add(new LoanStatusDo("PROCESSING", "处理中"));
lsList.add(new LoanStatusDo("AUDITED", "已审核"));
lsList.add(new LoanStatusDo("TREATY", "已签约"));
lsList.add(new LoanStatusDo("SUBJECTED", "已上标"));
lsList.add(new LoanStatusDo("REPAYING", "还款中"));
lsList.add(new LoanStatusDo("REPAYED", "已还清"));
lsList.add(new LoanStatusDo("NOPASS", "拒绝"));
lsList.add(new LoanStatusDo("INVALID", "失效"));
return lsList;
}
/**
* @return loanId
*/
public Long getLoanId() {
return loanId;
}
/**
* @param loanId
* the loanId to set
*/
public void setLoanId(Long loanId) {
this.loanId = loanId;
}
/**
* @return userId
*/
public Long getUserId() {
return userId;
}
/**
* @param userId
* the userId to set
*/
public void setUserId(Long userId) {
this.userId = userId;
}
/**
* @return schemeId
*/
public Long getSchemeId() {
return schemeId;
}
/**
* @param schemeId
* the schemeId to set
*/
public void setSchemeId(Long schemeId) {
this.schemeId = schemeId;
}
/**
* @return loanTitle
*/
public String getLoanTitle() {
return loanTitle;
}
/**
* @param loanTitle
* the loanTitle to set
*/
public void setLoanTitle(String loanTitle) {
this.loanTitle = loanTitle;
}
/**
* @return loanUsage
*/
public String getLoanUsage() {
return loanUsage;
}
/**
* @param loanUsage
* the loanUsage to set
*/
public void setLoanUsage(String loanUsage) {
this.loanUsage = StringUtil.filterDangerString(loanUsage);
}
/**
* @return applyAmount
*/
public Double getApplyAmount() {
if(applyAmount != null){
BigDecimal b = new BigDecimal(Double.toString(applyAmount));
BigDecimal one = new BigDecimal("1");
applyAmount = b.divide(one, 2, BigDecimal.ROUND_HALF_UP).doubleValue();
}
return applyAmount;
}
/**
* @param applyAmount
* the applyAmount to set
*/
public void setApplyAmount(Double applyAmount) {
if(applyAmount==null)applyAmount=0.0;
this.applyAmount = applyAmount;
if(null!=applyAmount){
setApplyAmountString(new DecimalFormat("###0.#").format(applyAmount));
}
}
public String getApplyAmountString() {
return applyAmountString;
}
public void setApplyAmountString(String applyAmountString) {
this.applyAmountString = applyAmountString;
}
/**
* @return loanPeriod
*/
public Integer getLoanPeriod() {
return loanPeriod;
}
/**
* @param loanPeriod
* the loanPeriod to set
*/
public void setLoanPeriod(Integer loanPeriod) {
this.loanPeriod = loanPeriod;
}
/**
* @return loanAmount
*/
public Double getLoanAmount() {
return loanAmount;
}
/**
* @param loanAmount
* the loanAmount to set
*/
public void setLoanAmount(Double loanAmount) {
this.loanAmount = loanAmount;
}
/**
* @return remark
*/
public String getRemark() {
return remark;
}
/**
* @param remark
* the remark to set
*/
public void setRemark(String remark) {
this.remark = StringUtil.filterDangerString(remark);
}
/**
* @return loanStatus
*/
public LoanStatus getLoanStatus() {
return loanStatus;
}
/**
* @param loanStatus
* the loanStatus to set
*/
public void setLoanStatus(LoanStatus loanStatus) {
this.loanStatus = loanStatus;
}
/**
* @return auditUserId
*/
public Long getAuditUserId() {
return auditUserId;
}
/**
* @param auditUserId
* the auditUserId to set
*/
public void setAuditUserId(Long auditUserId) {
this.auditUserId = auditUserId;
}
/**
* @return auditUser
*/
public String getAuditUser() {
return auditUser;
}
/**
* @param auditUser
* the auditUser to set
*/
public void setAuditUser(String auditUser) {
this.auditUser = auditUser;
}
/**
* @return auditTime
*/
public Date getAuditTime() {
return auditTime;
}
/**
* @param auditTime
* the auditTime to set
*/
public void setAuditTime(Date auditTime) {
this.auditTime = auditTime;
}
/**
* @return createTime
*/
public Date getCreateTime() {
return createTime;
}
/**
* @param createTime
* the createTime to set
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* @return updateTime
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* @param updateTime
* the updateTime to set
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
/**
* @return loanPersonDo
*/
public LoanPersonDo getLoanPersonDo() {
return loanPersonDo;
}
/**
* @param loanPersonDo
* the loanPersonDo to set
*/
public void setLoanPersonDo(LoanPersonDo loanPersonDo) {
this.loanPersonDo = loanPersonDo;
}
public Long getBorrowId() {
return borrowId;
}
public void setBorrowId(Long borrowId) {
this.borrowId = borrowId;
}
public Integer getLoanType() {
return loanType;
}
public void setLoanType(Integer loanType) {
this.loanType = loanType;
}
public Double getAnnualRate() {
return annualRate;
}
public void setAnnualRate(Double annualRate) {
this.annualRate = annualRate;
}
public Date getLoanTime() {
return loanTime;
}
public void setLoanTime(Date loanTime) {
this.loanTime = loanTime;
}
public Long getUpdateBy() {
return updateBy;
}
public void setUpdateBy(Long updateBy) {
this.updateBy = updateBy;
}
public Double getInvestAnnualRate() {
return investAnnualRate;
}
public void setInvestAnnualRate(Double investAnnualRate) {
this.investAnnualRate = investAnnualRate;
}
public Long getChannelId() {
return channelId;
}
public void setChannelId(Long channelId) {
this.channelId = channelId;
}
public Double getApplyAmounttemp() {
return applyAmounttemp;
}
public void setApplyAmounttemp(Double applyAmounttemp) {
this.applyAmounttemp = applyAmounttemp;
}
public ProcessStep getProcessCurrentStep() {
return processCurrentStep;
}
public void setProcessCurrentStep(ProcessStep processCurrentStep) {
this.processCurrentStep = processCurrentStep;
}
public ProcessStep getProcessNextStep() {
return processNextStep;
}
public void setProcessNextStep(ProcessStep processNextStep) {
this.processNextStep = processNextStep;
}
public BigDecimal getAuditAmount() {
return auditAmount;
}
public void setAuditAmount(BigDecimal auditAmount) {
if(auditAmount==null)auditAmount=BigDecimal.ZERO ;
this.auditAmount = auditAmount;
}
public Integer getSubjectType() {
return this.subjectType;
}
public void setSubjectType(int subjectType) {
this.subjectType = subjectType;
}
}