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;
};