|
|
@@ -76,7 +76,26 @@ public class WithdrawPlugin implements Withdraw {
|
|
|
|
|
|
SuccessParams successParams = PaymentCache.getSuccessParams(jsonObject.getString("requestNo"));
|
|
|
|
|
|
- Assert.notNull(successParams, "提现订单超时,请重新提交!!");
|
|
|
+ Assert.notNull(successParams, "积分提现订单超时,请重新提交!!");
|
|
|
+ successParams.setRes(jsonObject);
|
|
|
+ successParams.setStatus(
|
|
|
+ "SUCCESS".equals(jsonObject.getString("status")) ?
|
|
|
+ SuccessParams.PAY_STATUS_SUCCESS :
|
|
|
+ SuccessParams.PAY_STATUS_FAIL);
|
|
|
+ //处理付款后业务流程
|
|
|
+ paymentService.success(successParams);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void csUrl(HttpServletRequest request) {
|
|
|
+ log.info("易宝网关支付回调: map" + JSON.toJSONString(request.getParameterMap()));
|
|
|
+
|
|
|
+ JSONObject jsonObject = yeePayService.deCodeNotifyData(request.getParameterMap().get("cipherText")[0]);
|
|
|
+ log.info("易宝网关支付解密回调密文:" + jsonObject.toJSONString());
|
|
|
+
|
|
|
+ SuccessParams successParams = PaymentCache.getSuccessParams(jsonObject.getString("settleRequestNo"));
|
|
|
+
|
|
|
+ Assert.notNull(successParams, "余额提现订单超时,请重新提交!!");
|
|
|
successParams.setRes(jsonObject);
|
|
|
successParams.setStatus(
|
|
|
"SUCCESS".equals(jsonObject.getString("status")) ?
|
|
|
@@ -88,24 +107,45 @@ public class WithdrawPlugin implements Withdraw {
|
|
|
|
|
|
@Override
|
|
|
public R userWithdraw(PayParam payParam) {
|
|
|
- WithdrawRec withdrawRecord = withdrawRecService.getById(payParam.getOrderId());
|
|
|
- Assert.notNull(withdrawRecord, "提现申请查询失败,无此申请信息!");
|
|
|
+ WithdrawRec withdrawRec = withdrawRecService.getById(payParam.getOrderId());
|
|
|
+ Assert.notNull(withdrawRec, "提现申请查询失败,无此申请信息!");
|
|
|
|
|
|
- Shop shop = shopService.getOne(Wrappers.<Shop>lambdaQuery().select(Shop::getMerchantNo).eq(Shop::getId, withdrawRecord.getOwnerId()));
|
|
|
- Assert.notNull(withdrawRecord, "提现申请查询失败,无此申请商户信息!");
|
|
|
+ Shop shop = shopService.getOne(Wrappers.<Shop>lambdaQuery().select(Shop::getMerchantNo).eq(Shop::getId, withdrawRec.getOwnerId()));
|
|
|
+ Assert.notNull(withdrawRec, "提现申请查询失败,无此申请商户信息!");
|
|
|
|
|
|
+ String settleRequestNo = IdUtil.simpleUUID();
|
|
|
SettleSelfSettleApplyDto settleSelfSettleApplyDto = SettleSelfSettleApplyDto.builder()
|
|
|
.parentMerchantNo(yeePayConst.getPlatformServiceNo())
|
|
|
.merchantNo(shop.getMerchantNo())
|
|
|
- .settleRequestNo(IdUtil.simpleUUID())
|
|
|
- .notifyUrl(callbackUrl(PaymentType.YEE_PAY_WITHDRAW.name()))
|
|
|
+ .settleRequestNo(settleRequestNo)
|
|
|
+ .notifyUrl(csUrl(PaymentType.YEE_PAY_WITHDRAW.name()))
|
|
|
.operatePeriod(YeepayApiConstant.operatePeriod.ALL)
|
|
|
.build();
|
|
|
YopResponse yopResponse = yeepaySaasService.settleSelfSettleApply(settleSelfSettleApplyDto);
|
|
|
JSONObject res = JSON.parseObject(yopResponse.getStringResult());
|
|
|
if (!Objects.equals(res.getString("code"), "000000")) {
|
|
|
+
|
|
|
+ withdrawRec.setWithdrawStatus(WithdrawStatus.FAIL.getValue());
|
|
|
+ withdrawRec.setFailReason(res.getString("message"));
|
|
|
+ withdrawRec.setResponseJson(res.toJSONString());
|
|
|
+ withdrawRecService.saveOrUpdate(withdrawRec);
|
|
|
+
|
|
|
+ bladeLogger.info("userWithdraw-结算", res.toJSONString());
|
|
|
throw new ServiceException(res.getString("message"));
|
|
|
}
|
|
|
+
|
|
|
+ //支付参数
|
|
|
+ SuccessParams successParams = SuccessParams.builder()
|
|
|
+ .orderType(OrderType.USER_WITHDRAW.name())
|
|
|
+ .status(WithdrawStatus.WAITING.getValue())
|
|
|
+ .userId(withdrawRec.getOwnerId())
|
|
|
+ .totalPrice(withdrawRec.getActualPrice())
|
|
|
+ .shopId(withdrawRec.getOwnerId())
|
|
|
+ .tenantId(withdrawRec.getTenantId())
|
|
|
+ .withdrawRecId(withdrawRec.getId())
|
|
|
+ .build();
|
|
|
+ PaymentCache.putSuccessParams(Convert.toStr(settleRequestNo), successParams);
|
|
|
+
|
|
|
return R.data(res);
|
|
|
}
|
|
|
|