Commit f5bf54f5 authored by suntao's avatar suntao

订单放款操作 优化

parent d34603ef
......@@ -308,9 +308,30 @@ public class OrderService {
@Transactional
public boolean secondAudit(String channelOrderNumber) {
boolean result;
boolean result = true;
// 操作记录
OptHistoryLog optHistoryLog = new OptHistoryLog();
optHistoryLog.setChannelOrderNumber(channelOrderNumber);
ClfOrderMapping orderMapping = this.clfOrderMappingRepository.findByChannelOrderNoLastOne(channelOrderNumber);
if (orderMapping == null || orderMapping.getLoanId() == null) {
log.info("secondAudit,orderMapping为空或者loanId为空,channelOrderNumber=".concat(channelOrderNumber));
optHistoryLog.setOptName("二次审批操作");
optHistoryLog.setOptLogDetail("orderMapping为空或者loanId为空,操作失败");
optHistoryLog.setOptResult(false);
optHistoryLog.setCreateTime(new Date());
optHistoryLogService.save(optHistoryLog);
return false;
}
optHistoryLog.setCreditNumber(orderMapping.getApplyNo());
optHistoryLog.setLoanId(orderMapping.getLoanId());
optHistoryLog.setChannelId(orderMapping.getRegisteredFrom());
optHistoryLog.setOptName("二次审批操作");
optHistoryLog.setCreateTime(new Date());
// 更新合同状态
Contract conscont= xyqbCenterService.findContractByUserId(orderMapping.getQgUserId());
......@@ -319,18 +340,15 @@ public class OrderService {
xyqbCenterService.saveContract(conscont);
} else {
// 合同为空 log表记录问题,UI用户查询
log.info("secondAudit,合同为空,channelOrderNumber=".concat(channelOrderNumber));
optHistoryLog.setOptName("二次审批操作");
optHistoryLog.setOptLogDetail("合同为空,请更换新的身份证尝试");
optHistoryLog.setOptResult(false);
optHistoryLog.setCreateTime(new Date());
optHistoryLogService.save(optHistoryLog);
// 不需要return
}
// 操作记录
OptHistoryLog optHistoryLog = new OptHistoryLog();
optHistoryLog.setChannelOrderNumber(channelOrderNumber);
optHistoryLog.setCreditNumber(orderMapping.getApplyNo());
optHistoryLog.setLoanId(orderMapping.getLoanId());
optHistoryLog.setChannelId(orderMapping.getRegisteredFrom());
optHistoryLog.setOptName("审批操作");
optHistoryLog.setCreateTime(new Date());
// 二次风控回调
XUser xUser = xyqbUserService.findXUserById(orderMapping.getQgUserId());
if (xUser == null) {
......@@ -349,18 +367,25 @@ public class OrderService {
return false;
}
log.info("[secendAudit]二次风控发起,channelOrderNumber={}, bizType={}", channelOrderNumber, channelConf.getBizType());
result = clothoCenterService.orderAuditNotify(xUser.getUuid(), orderMapping.getLoanId(), true, channelConf.getBizType());
if (result) {
log.info("[secendAudit]二次风控成功,channelOrderNumber={}, result={}", channelOrderNumber, result);
} else {
log.info("[secendAudit]二次风控失败,clotho返回失败 channelOrderNumber={}", channelOrderNumber);
optHistoryLog.setOptLogDetail("二次风控失败,clotho返回失败");
optHistoryLog.setOptResult(false);
optHistoryLogService.save(optHistoryLog);
return false;
}
LoanApplicationHistory loanApplicationHistory = xyqbCenterService.findLoanApplicationHistoryById(orderMapping.getLoanId());
if (LoanProgress.START_ORDER.equals(loanApplicationHistory.getProgress())) {
// 50
log.info("[secendAudit]二次风控发起,channelOrderNumber={}, bizType={}", channelOrderNumber, channelConf.getBizType());
result = clothoCenterService.orderAuditNotify(xUser.getUuid(), orderMapping.getLoanId(), true, channelConf.getBizType());
if (result) {
log.info("[secendAudit]二次风控成功,channelOrderNumber={}, result={}", channelOrderNumber, result);
} else {
log.info("[secendAudit]二次风控失败,clotho返回失败 channelOrderNumber={}", channelOrderNumber);
optHistoryLog.setOptLogDetail("二次风控失败,clotho返回失败");
optHistoryLog.setOptResult(false);
optHistoryLogService.save(optHistoryLog);
return false;
}
} else if (LoanProgress.WAITING_FUND.equals(loanApplicationHistory.getProgress())) {
// 20 已经回调过
result = true;
}
// 更新待放款时间(5分钟之前)
FundLending fundLending = xyqbCenterService.findFundLendingByLoanId(orderMapping.getLoanId());
......@@ -694,7 +719,7 @@ public class OrderService {
secondAudit.setAction(OrderVo.OptButtonAction.second_audit.name());
secondAudit.setName(OrderVo.OptButtonAction.second_audit.getDesc());
buttonList.add(secondAudit);
} else if (LoanProgress.FINAL_SEND_TO_MASHANG_BEFORE_APPROVAL.equals(loanApplicationHistory.getProgress())) {
} else if (LoanProgress.FINAL_SENDED_TO_FUNDING_CORP.equals(loanApplicationHistory.getProgress())) {
OrderVo.OptButton buttonPaySucc = new OrderVo.OptButton();
buttonPaySucc.setAction(OrderVo.OptButtonAction.pay_succ.name());
buttonPaySucc.setName(OrderVo.OptButtonAction.pay_succ.getDesc());
......
......@@ -14,9 +14,8 @@ public enum LoanProgress {
*/
USERINFO_INCOMPLETE("用户未填写个人信息"),//0
USER_INFORMATION_INCOMPLETE("用户未填写贷款信息"),//1
USER_AUTHENTICATION_INCOMPLETE("用户授权信息未全部完成"),//2
USER_AUTHENTICATION_COMPLETE("授权状态完成"),//3
USER_AUTHENTICATION_COMPLETE("授权信息完成"),//3
FURTHER_INFORMATION_INCOMPLETE("用户补充资料未完成"),//4
PRE_SCREENING("初审中"),//5
PRE_SCREENING_REJECT("初审拒绝"),//6
......@@ -33,10 +32,11 @@ public enum LoanProgress {
FILTERED_BY_BLACKLIST("黑名单过滤"),//17
FINAL_SCREENING_PASSED("后台终审通过"),//18
FILTERING_DECLINED("未通过初筛"),//19
WAITING_FUND("等待资金方放款"),// 20
FINAL_SEND_TO_MASHANG_BEFORE_APPROVAL("已发送给马上金融, 等待放款"),//21, 发邮件后更新使用
FINAL_MASHANG_APPROVAL_SUCCESS("马上金融放款成功"),//22
FINAL_FUNDED_APPROVAL_FAIL("马上金融放款失败"),//23,
/* 资金方相关 */
WAITING_FUND("等待马上金融放款"),// 20
FINAL_SENDED_TO_FUNDING_CORP("已发送给马上金融, 等待放款"),//21
FINAL_FUNDED_APPROVAL_SUCCESS("马上金融放款成功"),//22
FINAL_FUNDED_APPROVAL_FAIL("马上金融放款失败"),//23
ADDRESS_COMPLETE("地址填写完毕,去绑卡"), // 24
BEIYIN_USERINFO_INCOMPLETE("北银消费-用户未填写个人信息"),//25
......@@ -55,55 +55,48 @@ public enum LoanProgress {
BAITIAO_BIND_CARD("白条-绑卡"),//37
BAITIAO_BIND_CARD_ING("白条-绑卡中"),//38
BAITIAO_ACTIVATE_SUCC("白条-激活成功"),//39
/**
* 修改时间 20160104 资金方解耦
*/
// category 4x
/* 易联校验/代收订单 异步通知重构 */
BIND_BANKCARD_IN_PROGRESS("绑卡处理中"),//40
/*REPAY_ORDER_IN_PROGRESS("还款处理中")*/
USER_RELATION_INCOMPLETE("与用户相关联系人信息未完成"),//41,
PLACE_HOLDER_42("占位"),PLACE_HOLDER_43("占位"),PLACE_HOLDER_44("占位"),
PLACE_HOLDER_45("占位"),PLACE_HOLDER_46("占位"),PING_AN_PAGE("跳转平安填写信息页面"),// 47
DROP_SUCC("取消借款"),//48
SUBMITED_TO_FUND_CORP_PRE_ASSIGN("提交资金方预审"), // 40
USER_RELATION_INCOMPLETE("与用户相关联系人信息未完成"),//41
FUND_ERROR("资金方事故,多次放款,汇聚到1渠道去还款"), //42
XIAOYING_BIND_CARD("小赢需要绑卡一下"), // 43
XIAOYING_VERIFY_CARD("小赢需要验证卡"), // 44
XIAOYING_BIND_CARD_POLL_RECHARGE_RESULT("小赢绑卡轮询结果"), // 45
// 46
BUY_ACCELERATE_CARD("需购买加速卡"), PING_AN_PAGE("跳转平安填写信息页面"), DROP_SUCC("取消借款"),//48
PLACE_HOLDER_49("占位"),
// category 5x
PLACE_HOLDER_50("占位"),PLACE_HOLDER_51("占位"),PLACE_HOLDER_52("占位"),PLACE_HOLDER_53("占位"),PLACE_HOLDER_54("占位"),
PLACE_HOLDER_55("占位"),PLACE_HOLDER_56("占位"),PLACE_HOLDER_57("占位"),PLACE_HOLDER_58("占位"),PLACE_HOLDER_59("占位"),
START_ORDER("发起提现,等待二次风控审核"), PLACE_HOLDER_51("占位"), SPEED_EXIST("极速APP存在订单"), PLACE_HOLDER_53("占位"), PLACE_HOLDER_54("占位"),
PLACE_HOLDER_55("占位"), PLACE_HOLDER_56("占位"), PLACE_HOLDER_57("占位"), PLACE_HOLDER_58("占位"), PLACE_HOLDER_59("占位"),
// category 6x
PLACE_HOLDER_60("占位"),PLACE_HOLDER_61("占位"),PLACE_HOLDER_62("占位"),PLACE_HOLDER_63("占位"),PLACE_HOLDER_64("占位"),
WAITING_WITHDRAW("待存管提现"),// 65
PLACE_HOLDER_66("占位"),PLACE_HOLDER_67("占位"),PLACE_HOLDER_68("占位"),PLACE_HOLDER_69("占位"),
WAITING_USE("等待提现"), WAITING_USE_2("等待提现,直接跳转到提现页"), WAITING_USE_BY_SPEED("极速APP提现页面"), PLACE_HOLDER_63("占位"), PLACE_HOLDER_64("占位"),
WAITING_WITHDRAW("等待二次(存管)提现"), PLACE_HOLDER_66("占位"), PLACE_HOLDER_67("占位"), PLACE_HOLDER_68("占位"), PLACE_HOLDER_69("占位"),
// category 7x
PLACE_HOLDER_70("占位"),PLACE_HOLDER_71("占位"),PLACE_HOLDER_72("占位"),PLACE_HOLDER_73("占位"),PLACE_HOLDER_74("占位"),
PLACE_HOLDER_75("占位"),PLACE_HOLDER_76("占位"),PLACE_HOLDER_77("占位"),PLACE_HOLDER_78("占位"),PLACE_HOLDER_79("占位"),
PLACE_HOLDER_70("占位"), PLACE_HOLDER_71("占位"), PLACE_HOLDER_72("占位"), PLACE_HOLDER_73("占位"), PLACE_HOLDER_74("占位"),
PLACE_HOLDER_75("占位"), PLACE_HOLDER_76("占位"), PLACE_HOLDER_77("占位"), PLACE_HOLDER_78("占位"), PLACE_HOLDER_79("占位"),
// category 8x
PLACE_HOLDER_80("占位"),PLACE_HOLDER_81("占位"),PLACE_HOLDER_82("占位"),PLACE_HOLDER_83("占位"),PLACE_HOLDER_84("占位"),
PLACE_HOLDER_85("占位"),PLACE_HOLDER_86("占位"),PLACE_HOLDER_87("占位"),PLACE_HOLDER_88("占位"),PLACE_HOLDER_89("占位"),
PLACE_HOLDER_80("占位"), PLACE_HOLDER_81("占位"), PLACE_HOLDER_82("占位"), PLACE_HOLDER_83("占位"), PLACE_HOLDER_84("占位"),
PLACE_HOLDER_85("占位"), PLACE_HOLDER_86("占位"), PLACE_HOLDER_87("占位"), PLACE_HOLDER_88("占位"), PLACE_HOLDER_89("占位"),
// category 9x
PLACE_HOLDER_90("占位"),PLACE_HOLDER_91("占位"),PLACE_HOLDER_92("占位"),PLACE_HOLDER_93("占位"),PLACE_HOLDER_94("占位"),
PLACE_HOLDER_95("占位"),PLACE_HOLDER_96("占位"),PLACE_HOLDER_97("占位"),PLACE_HOLDER_98("占位"),PLACE_HOLDER_99("占位"),
PLACE_HOLDER_90("占位"), PLACE_HOLDER_91("占位"), PLACE_HOLDER_92("占位"), PLACE_HOLDER_93("占位"), PLACE_HOLDER_94("占位"),
PLACE_HOLDER_95("占位"), PLACE_HOLDER_96("占位"), PLACE_HOLDER_97("占位"), PLACE_HOLDER_98("占位"), PLACE_HOLDER_99("占位"),
/**
* 资金方相关
*/
// 等待资金方放款 : 100
WAITING_MASHANG_FUND("等待马上金融放款"),// 100, 发邮件前查询使用
// 已提交给资金方等待放款 : 101
SENDED_TO_FUND_CORP("已提交给资金方"),
// category 10x
PLACE_HOLDER_102("占位"),PLACE_HOLDER_103("占位"),PLACE_HOLDER_104("占位"),PLACE_HOLDER_105("占位"),PLACE_HOLDER_106("占位"),
PLACE_HOLDER_107("占位"),PLACE_HOLDER_108("占位"),PLACE_HOLDER_109("占位"),
PLACE_HOLDER_100("占位"), PLACE_HOLDER_101("占位"), PLACE_HOLDER_102("占位"), PLACE_HOLDER_103("占位"), PLACE_HOLDER_104("占位"),
PLACE_HOLDER_105("占位"), PLACE_HOLDER_106("占位"), PLACE_HOLDER_107("占位"), PLACE_HOLDER_108("占位"), PLACE_HOLDER_109("占位"),
JD_BANDCARD_FAIL("京东绑卡失败")//110 京东绑卡失败状态
;
// category 11x
JD_BANDCARD_FAIL("京东绑卡失败"), PLACE_HOLDER_111("占位"), PLACE_HOLDER_112("占位"), PLACE_HOLDER_113("占位"), PLACE_HOLDER_114("占位"),
PLACE_HOLDER_115("占位"), PLACE_HOLDER_116("占位"), PLACE_HOLDER_117("占位"), PLACE_HOLDER_118("占位"), PLACE_HOLDER_119("占位"),
// cash_loan_flow生成的订单禁止进入xyqb操作状态 12x
REFUSE_JD("拒绝京东订单进入xyqb"), PLACE_HOLDER_121("占位"), PLACE_HOLDER_122("占位"), PLACE_HOLDER_123("占位"), PLACE_HOLDER_124("占位"),
PLACE_HOLDER_125("占位"), PLACE_HOLDER_126("占位"), PLACE_HOLDER_127("占位"), PLACE_HOLDER_128("占位"), PLACE_HOLDER_129("占位");
private String description;
......@@ -126,19 +119,17 @@ public enum LoanProgress {
/**
* 获取审核拒绝状态
* @return
*/
public static Set<LoanProgress> getCheckReject(){
public static Set<LoanProgress> getCheckReject() {
return Sets.newHashSet(LoanProgress.FILTERING_DECLINED, LoanProgress.PRE_SCREENING_REJECT,
LoanProgress.FINAL_SCREENING_REJECT, LoanProgress.FILTERED_BY_BLACKLIST);
}
/**
* 获取推送订单状态
* @return
*/
public static Set<LoanProgress> getFeedBackOrderStatus(){
return Sets.newHashSet(LoanProgress.WAITING_FUND, LoanProgress.FINAL_SEND_TO_MASHANG_BEFORE_APPROVAL,
LoanProgress.FINAL_FUNDED_APPROVAL_FAIL, LoanProgress.CHECK_REPAYMENT_PLAN, LoanProgress.LOAN_COMPLETE);
public static LoanProgress valueOfByOrdinal(int ordinal) {
try {
return LoanProgress.values()[ordinal];
} catch (Exception e) {
return null;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment