@Override public WithdrawRequest get(long id) { return withdrawRequestRepository.getOne(id); }
@GetMapping("/wechatWithdrawRecordData") @Transactional(readOnly = true) public String recordData(int page, @AuthenticationPrincipal Login login, Model model) { model.addAttribute("dataList", withdrawRequestRepository.findAll((root, query, cb) -> cb.and( cb.equal(root.get(WithdrawRequest_.whose), login) , root.get(WithdrawRequest_.withdrawStatus) .in(WithdrawStatus.checkPending, WithdrawStatus.refuse, WithdrawStatus.success) ), new PageRequest(page, 5, new Sort(Sort.Direction.DESC, WithdrawRequest_.requestTime.getName())))); return "wechat@withdrawRecordData.html"; }
@Override public WithdrawRequest withdrawNew(Login who, String payee, String account, String bank, String mobile, BigDecimal amount , String logisticsCode, String logisticsCompany) { WithdrawRequest request = new WithdrawRequest(); request.setPayee(payee); request.setWhose(who); request.setRequestTime(LocalDateTime.now()); request.setAccount(account); request.setBank(bank); request.setMobile(mobile); request.setAmount(amount); request.setWithdrawStatus(WithdrawStatus.init); if (logisticsCode == null) { request.setInvoice(false); BigDecimal cost = getCostRateForNoInvoice(); request.setActualAmount(amount.multiply(BigDecimal.ONE.subtract(cost))); } else { request.setInvoice(true); request.setActualAmount(amount); request.setLogisticsCode(logisticsCode); request.setLogisticsCompany(logisticsCompany); } return withdrawRequestRepository.save(request); }
@Override public void submitRequest(Login login, String code) throws IllegalVerificationCodeException { verificationCodeService.verify(readService.mobileFor(login), code, withdrawVerificationType()); withdrawRequestRepository.findAll((root, query, cb) -> cb.and( cb.equal(root.get(WithdrawRequest_.whose), login) , cb.equal(root.get(WithdrawRequest_.withdrawStatus), WithdrawStatus.init) ), new PageRequest(0, 1, Sort.Direction.DESC, "requestTime")) .getContent().get(0).setWithdrawStatus(WithdrawStatus.checkPending); }