diff --git a/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java b/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java index 436b2016..f99d7472 100644 --- a/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java +++ b/src/main/java/com/sqx/modules/discSpinning/service/impl/DiscSpinningServiceImpl.java @@ -124,28 +124,32 @@ public class DiscSpinningServiceImpl extends ServiceImpl cashOuts = cashOutDao.selectYesterday(); for (CashOut cashOut : cashOuts) { - String outOrderNo = AliPayOrderUtil.createOrderId(); - cashOut.setOrderNumber(outOrderNo); - BaseResp baseResp = WuyouPay.extractOrder(cashOut.getUserId(), outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName()); - if (baseResp.getStatus() != null && baseResp.getStatus().equals(2)) { - cashOut.setState(1); - } else { - cashOut.setState(2); - cashOut.setRefund(StringUtils.isNotBlank(baseResp.getMsg()) ? baseResp.getMsg() : baseResp.getErrorMsg()); - if (cashOut.getRefund().contains("收款人账户号出款属性不匹配")||cashOut.getRefund().contains("已驳回")) { - cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后,重试。"); - }else { - cashOut.setRefund(baseResp.getErrorMsg()); - } - UserMoneyDetails userMoneyDetails = new UserMoneyDetails( - cashOut.getUserId(),null,null,"提现失败",4,1,1, - new BigDecimal(cashOut.getMoney()),"提现失败存入余额" + cashOut.getMoney() + "元", 1); + if (WuyouPay.checkCanCash(cashOut.getUserId())) { + String outOrderNo = AliPayOrderUtil.createOrderId(); + cashOut.setOrderNumber(outOrderNo); - //存入余额 钱 - userMoneyService.updateAmount(1, cashOut.getUserId(), Double.parseDouble(cashOut.getMoney())); - userMoneyDetailsService.save(userMoneyDetails); + BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName()); + if (baseResp.getStatus() != null && baseResp.getStatus().equals(2)) { + cashOut.setState(1); + } else { + cashOut.setState(2); + cashOut.setRefund(StringUtils.isNotBlank(baseResp.getMsg()) ? baseResp.getMsg() : baseResp.getErrorMsg()); + if (cashOut.getRefund().contains("收款人账户号出款属性不匹配") || cashOut.getRefund().contains("已驳回")) { + cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后,重试。"); + } else { + cashOut.setRefund(baseResp.getErrorMsg()); + } + UserMoneyDetails userMoneyDetails = new UserMoneyDetails( + cashOut.getUserId(), null, null, "提现失败", 4, 1, 1, + new BigDecimal(cashOut.getMoney()), "提现失败存入余额" + cashOut.getMoney() + "元", 1); + + //存入余额 钱 + userMoneyService.updateAmount(1, cashOut.getUserId(), Double.parseDouble(cashOut.getMoney())); + userMoneyDetailsService.save(userMoneyDetails); + } + }else { + cashOut.setState(3); } cashOutDao.updateById(cashOut); } diff --git a/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java b/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java index 33968598..068210e1 100644 --- a/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java +++ b/src/main/java/com/sqx/modules/pay/service/impl/CashOutServiceImpl.java @@ -486,15 +486,19 @@ public class CashOutServiceImpl extends ServiceImpl impleme return Result.success("可提现余额不足!"); } -// BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName()); -// if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))){ -// userMoneyDetails.setContent("成功提现:" + money); -// cashOut.setState(1); -// } -// -// if (baseResp.getErrorMsg() != null) { -// return Result.error(baseResp.getErrorMsg()); -// } + if (WuyouPay.checkCanCash(userId)) { + BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName()); + if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))){ + userMoneyDetails.setContent("成功提现:" + money); + cashOut.setState(1); + } + + if (baseResp.getErrorMsg() != null) { + return Result.error(baseResp.getErrorMsg()); + } + }else { + cashOut.setState(3); + } userMoneyDetailsService.save(userMoneyDetails); baseMapper.insert(cashOut); diff --git a/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java b/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java index 3ce633f2..efd60c3b 100644 --- a/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java +++ b/src/main/java/com/sqx/modules/pay/wuyou/WuyouPay.java @@ -82,30 +82,30 @@ public class WuyouPay { return JSONObject.parseObject(body, BaseResp.class); } + public static boolean checkCanCash(long userId) { + // 查询当日体现次数 + Integer successCashCount = cashOutDao.selectTodayCashCount(userId, 1); + CommonInfo cashLimit = commonInfoService.findOne(922); + if (cashLimit == null || StrUtil.isBlank(cashLimit.getValue())) { + logger.warn("提现必要参数未配置,请联系管理员"); + return false; + } + + if (successCashCount >= Integer.parseInt(cashLimit.getValue())) { + logger.warn("提现必要参数未配置,请联系管理员"); + return false; + + } + return true; + } + /** * 提现 * @param account 支付宝账号 * @param userName 支付宝名称 * @return */ - public static BaseResp extractOrder(long userId, String outOrderNo, String amount, String account, String userName) { - - // 查询当日体现次数 - Integer successCashCount = cashOutDao.selectTodayCashCount(userId, 1); - CommonInfo cashLimit = commonInfoService.findOne(922); - if (cashLimit == null || StrUtil.isBlank(cashLimit.getValue())) { - BaseResp baseResp = new BaseResp(); - baseResp.setStatus(0); - baseResp.setErrorMsg("提现必要参数未配置,请联系管理员"); - return baseResp; - } - - if (successCashCount >= Integer.parseInt(cashLimit.getValue())) { - BaseResp baseResp = new BaseResp(); - baseResp.setStatus(0); - baseResp.setErrorMsg("每日提现次数限制" + cashLimit.getValue() + "次, 您已超过上限"); - return baseResp; - } + public static BaseResp extractOrder(String outOrderNo, String amount, String account, String userName) { Map params = getBaseParams();