Predicate predicate = infoVO -> {
List list = customerCreditInfoService.findByAccount();
if (list.isEmpty()) {
// 无授信记录,判断是否用户是否进入过等待页
String key = String.format(RedisConstant.Key.CACHE_ACCOUNT_WAITING_PAGE, UserContextHolder.getIntVal());
if (redisUtil.hasKey(key)) {
loanHomeInfoVO.setBtnDesc("激活额度");
loanHomeInfoVO.setJumpAction(JumpActionEnum.H5_REDIRECT.getType());
loanHomeInfoVO.setUrl("/#/examine?state=final_review_failed");
} else {
redisUtil.set(key, "flag");
loanHomeInfoVO.setBtnDesc("激活额度");
loanHomeInfoVO.setJumpAction(JumpActionEnum.H5_REDIRECT.getType());
loanHomeInfoVO.setUrl("/#/waitingPage");
}
return true;
}
boolean allRejected = list.stream().allMatch(item -> CreditStatus.AUTH_FAIL.getCode().equals(item.getCreditStatus()));
if (allRejected) {
// 有授信记录 全部拒绝 终态页
loanHomeInfoVO.setBtnDesc("激活额度");
loanHomeInfoVO.setJumpAction(JumpActionEnum.H5_REDIRECT.getType());
loanHomeInfoVO.setUrl("/#/examine?state=final_review_failed");
return true;
}
return false;
}