feat: 体现超限,延缓到明日复审打款

This commit is contained in:
张松
2024-12-26 14:41:26 +08:00
parent 05d1b39d4a
commit b4cc37b110
4 changed files with 78 additions and 65 deletions

View File

@@ -124,9 +124,10 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
//最高提现金额 //最高提现金额
CommonInfo one2 = commonRepository.findOne(910); CommonInfo one2 = commonRepository.findOne(910);
if (one2 == null || money <= Double.parseDouble(one2.getValue())) { if (one2 == null || money <= Double.parseDouble(one2.getValue())) {
if (WuyouPay.checkCanCash(userInfo.getUserId())) {
String outOrderNo = AliPayOrderUtil.createOrderId(); String outOrderNo = AliPayOrderUtil.createOrderId();
cashOut.setOrderNumber(outOrderNo); cashOut.setOrderNumber(outOrderNo);
BaseResp baseResp = WuyouPay.extractOrder(userInfo.getUserId(), outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName()); BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))) { if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))) {
UserMoneyDetails userMoneyDetails = new UserMoneyDetails( UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
userInfo.getUserId(), null, null, title, 4, 2, 1, userInfo.getUserId(), null, null, title, 4, 2, 1,
@@ -147,6 +148,9 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
cashOut.setState(2); cashOut.setState(2);
cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后,重试。"); cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后,重试。");
} }
}else {
cashOut.setState(3);
}
} else { } else {
UserMoneyDetails userMoneyDetails = new UserMoneyDetails( UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
userInfo.getUserId(), null, null, title, 4, 2, 1, userInfo.getUserId(), null, null, title, 4, 2, 1,

View File

@@ -34,9 +34,11 @@ public class CashOutTask implements ITask {
logger.info("提现开始"); logger.info("提现开始");
List<CashOut> cashOuts = cashOutDao.selectYesterday(); List<CashOut> cashOuts = cashOutDao.selectYesterday();
for (CashOut cashOut : cashOuts) { for (CashOut cashOut : cashOuts) {
if (WuyouPay.checkCanCash(cashOut.getUserId())) {
String outOrderNo = AliPayOrderUtil.createOrderId(); String outOrderNo = AliPayOrderUtil.createOrderId();
cashOut.setOrderNumber(outOrderNo); cashOut.setOrderNumber(outOrderNo);
BaseResp baseResp = WuyouPay.extractOrder(cashOut.getUserId(), outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
if (baseResp.getStatus() != null && baseResp.getStatus().equals(2)) { if (baseResp.getStatus() != null && baseResp.getStatus().equals(2)) {
cashOut.setState(1); cashOut.setState(1);
} else { } else {
@@ -55,6 +57,9 @@ public class CashOutTask implements ITask {
userMoneyService.updateAmount(1, cashOut.getUserId(), Double.parseDouble(cashOut.getMoney())); userMoneyService.updateAmount(1, cashOut.getUserId(), Double.parseDouble(cashOut.getMoney()));
userMoneyDetailsService.save(userMoneyDetails); userMoneyDetailsService.save(userMoneyDetails);
} }
}else {
cashOut.setState(3);
}
cashOutDao.updateById(cashOut); cashOutDao.updateById(cashOut);
} }
logger.info("提现结束"); logger.info("提现结束");

View File

@@ -486,15 +486,19 @@ public class CashOutServiceImpl extends ServiceImpl<CashOutDao, CashOut> impleme
return Result.success("可提现余额不足!"); return Result.success("可提现余额不足!");
} }
// BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName()); if (WuyouPay.checkCanCash(userId)) {
// if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))){ BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
// userMoneyDetails.setContent("成功提现:" + money); if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))){
// cashOut.setState(1); userMoneyDetails.setContent("成功提现:" + money);
// } cashOut.setState(1);
// }
// if (baseResp.getErrorMsg() != null) {
// return Result.error(baseResp.getErrorMsg()); if (baseResp.getErrorMsg() != null) {
// } return Result.error(baseResp.getErrorMsg());
}
}else {
cashOut.setState(3);
}
userMoneyDetailsService.save(userMoneyDetails); userMoneyDetailsService.save(userMoneyDetails);
baseMapper.insert(cashOut); baseMapper.insert(cashOut);

View File

@@ -82,30 +82,30 @@ public class WuyouPay {
return JSONObject.parseObject(body, BaseResp.class); 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 account 支付宝账号
* @param userName 支付宝名称 * @param userName 支付宝名称
* @return * @return
*/ */
public static BaseResp extractOrder(long userId, String outOrderNo, String amount, String account, String userName) { public static BaseResp extractOrder(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;
}
Map<String, Object> params = getBaseParams(); Map<String, Object> params = getBaseParams();