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

Java Predicate 示例:根据授信记录判断按钮和跳转逻辑

原文地址: https://www.cveoy.top/t/topic/oAQg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录