@Override public Body execute(Parameter request, Object... obj) throws ClientException { AccountRechargeByTransferRsp rsp = new AccountRechargeByTransferRsp(); AccountRechargeByTransferReq req = null; try { req = (AccountRechargeByTransferReq) request.getBody(); logger.info(String.format("账号充值申请服务", JSONObject.fromObject(req))); logger.info(String.format("上传凭证图片操作")); Map<String, Object> params = new HashMap<String, Object>(); String picUrl = this.uploadImage(params, (File[]) obj[0], (String[]) obj[1]); // 清空参数重新赋值 // 凭证图片地址 params.put("voucherFileName", picUrl); // 申请人标识(统一认证UUID) params.put("applyId", req.getUserId()); // 付款人标识(统一认证UUID) req.setPayer(req.getUserId()); params.put("remitterId", req.getPayer()); // 付款人姓名 params.put("remitterName", req.getPayerName()); // 付款人银行卡号或账号 params.put("remitterBankcardNo", req.getPayAccount()); // 交易金额(小写) params.put("tradeAmount", req.getRemittance()); // 交易类型,1:充值,2:扣款 params.put("tradeType", "1"); // 收款人账号 params.put("payeeNo", req.getPayee()); // 收款人名称 params.put("payeeName", req.getPayeeName()); // 申请时间 params.put("applyTime", req.getPayTime()); // 资金确认时间 params.put("amountArriveTime", DateUtil.getCurrentUtcMsTime().toString()); params.put("insideAccountNo", req.getInsideAccountNo()); params.put("approvalPersonName", req.getPayerName()); UppResult uppResult = this.callUPP(params, "UPP_ACCOUNT_RECHARGE_BY_TRANSFER"); if (uppResult.getResult().equals(UppResult.FAILURE)) { throw new ClientException(PayError.E240001, uppResult.getError()); } rsp.setAttachId(picUrl); rsp.setResult("0"); } catch (ClientException e) { logger.error(e.getMessage(), e); throw e; } catch (Exception e) { rsp.setResult("1"); logger.error(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); logger.error("账户充值失败:" + e); logger.error(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); throw new ClientException("资金账户充值失败,userId=" + req.getUserId(), e); } return rsp; }
@Override public void validate(Parameter request) throws ClientException { if (request == null || request.getBody() == null) { throw new ClientException("E120001", UserError.E120001); } AccountRechargeByTransferReq req = (AccountRechargeByTransferReq) request.getBody(); if (StringUtils.isBlank(req.getUserId())) { throw new ClientException("E240009", PayError.E240009); } if (StringUtils.isBlank(req.getPayerName())) { throw new ClientException("E170001", PayerError.E170001); } if (StringUtils.isBlank(req.getPayAccount())) { throw new ClientException("E160002", MoneyError.E160002); } if (StringUtils.isBlank(req.getPayee()) || StringUtils.isBlank(req.getPayeeName())) { throw new ClientException("E190001", PayeeRrror.E190001); } if (StringUtils.isBlank(req.getRemittance())) { throw new ClientException("E160002", MoneyError.E160002); } }