贷款首页跳转逻辑优化:根据用户匹配结果和授信记录动态跳转
CustomerProductBatchVO productBatchVO = customerProductInfoService.mateBatchApply(UserContextHolder.getIntVal());
log.info('首页公用匹配可以申请的产品:{}', JSON.toJSONString(productBatchVO));
BatchProductType batchProductType = BatchProductType.getByCode(productBatchVO.getBatchProductType());
log.info('首页公用匹配返回类型:{}', batchProductType);
// 默认跳转到产品管理tab页
String btnDesc = '激活额度';
String jumpAction = JumpActionEnum.TAB_REDIRECT.getType();
String url = 'home';
switch (batchProductType) {
case API_PRODUCT:
// 有可以直接申请的API产品 跳转借款页
url = '/#/borrowing-page';
break;
case SUPPLY_PRODUCT:
// 有补充信息后可申请的Api产品 跳转补充信息页
url = '/#/fill-information';
break;
case H5_PRODUCT:
List<CustomerCreditInfo> list = customerCreditInfoService.findByAccount();
if (list.isEmpty()) {
// 没有授信记录,判断是否用户是否进入过等待页
String key = StrUtil.format(RedisConstant.Key.CACHE_ACCOUNT_WAITING_PAGE, UserContextHolder.getIntVal());
if (redisUtil.hasKey(key)) {
url = '/#/waitingPage';
} else {
redisUtil.set(key, 'flag');
url = '/#/examine?state=final_review_failed';
}
} else {
// 授信记录全部为失败
if (list.stream().allMatch(item -> CreditStatus.AUTH_FAIL.getCode().equals(item.getCreditStatus()))) {
url = '/#/examine?state=final_review_failed';
} else {
// 有可申请的h5产品 跳转贷款大全展示h5产品
url = '/#/loan-collection';
}
}
break;
default:
break;
}
LoanHomeInfoVO loanHomeInfoVO = new LoanHomeInfoVO(btnDesc, jumpAction, url);
return loanHomeInfoVO;
该代码片段展示了贷款首页跳转逻辑的优化方案,根据用户匹配到的产品类型和授信记录情况,动态跳转至不同的页面,包括借款页、补充信息页、等待页、审核结果页、贷款大全页以及产品管理页。
代码说明:
- 产品匹配:
customerProductInfoService.mateBatchApply(UserContextHolder.getIntVal())方法用于获取用户匹配到的产品信息,并记录日志信息。 - 产品类型判断:
BatchProductType.getByCode(productBatchVO.getBatchProductType())用于获取产品类型,根据不同类型跳转至不同的页面。 - API产品: 如果用户匹配到可以直接申请的 API 产品,则跳转至借款页
/#/borrowing-page。 - 补充信息产品: 如果用户匹配到需要补充信息后才能申请的 API 产品,则跳转至补充信息页
/#/fill-information。 - H5产品: 如果用户匹配到 H5 产品,则根据用户的授信记录进行判断:
- 没有授信记录: 判断用户是否进入过等待页,如果进入过则跳转至等待页
/#/waitingPage,否则跳转至审核结果页/#/examine?state=final_review_failed并记录用户已进入等待页。 - 授信记录全部为失败: 跳转至审核结果页
/#/examine?state=final_review_failed。 - 有可申请的 H5 产品: 跳转至贷款大全页
/#/loan-collection。
- 没有授信记录: 判断用户是否进入过等待页,如果进入过则跳转至等待页
- 默认跳转: 如果没有匹配到任何产品,则默认跳转至产品管理页
home。
优化说明:
- 代码逻辑清晰易懂,并进行了充分的注释,方便理解。
- 使用
switch语句进行产品类型判断,提高代码可读性。 - 针对 H5 产品的跳转逻辑,进行了细致的判断和处理,确保跳转到正确的页面。
- 使用
Redis记录用户是否进入过等待页,避免重复跳转。
该优化方案能够有效提高贷款首页跳转逻辑的效率和准确性,提升用户体验。
原文地址: https://www.cveoy.top/t/topic/owNi 著作权归作者所有。请勿转载和采集!