feat: 体现超限,延缓到明日复审打款
This commit is contained in:
@@ -124,28 +124,32 @@ 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())) {
|
||||||
String outOrderNo = AliPayOrderUtil.createOrderId();
|
if (WuyouPay.checkCanCash(userInfo.getUserId())) {
|
||||||
cashOut.setOrderNumber(outOrderNo);
|
String outOrderNo = AliPayOrderUtil.createOrderId();
|
||||||
BaseResp baseResp = WuyouPay.extractOrder(userInfo.getUserId(), outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
|
cashOut.setOrderNumber(outOrderNo);
|
||||||
if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))) {
|
BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
|
||||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
|
if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))) {
|
||||||
userInfo.getUserId(), null, null, title, 4, 2, 1,
|
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
|
||||||
new BigDecimal(money), "现金红包自动提现" + money + "元", 1);
|
userInfo.getUserId(), null, null, title, 4, 2, 1,
|
||||||
userMoneyDetailsService.save(userMoneyDetails);
|
new BigDecimal(money), "现金红包自动提现" + money + "元", 1);
|
||||||
//减去余额 钱
|
userMoneyDetailsService.save(userMoneyDetails);
|
||||||
userMoneyService.updateAmount(2, userInfo.getUserId(), money);
|
//减去余额 钱
|
||||||
|
userMoneyService.updateAmount(2, userInfo.getUserId(), money);
|
||||||
|
|
||||||
cashOut.setState(1);
|
cashOut.setState(1);
|
||||||
} else if (StringUtils.isNotBlank(baseResp.getErrorMsg())) {
|
} else if (StringUtils.isNotBlank(baseResp.getErrorMsg())) {
|
||||||
cashOut.setState(2);
|
cashOut.setState(2);
|
||||||
if (baseResp.getErrorMsg().contains("收款人账户号出款属性不匹配")) {
|
if (baseResp.getErrorMsg().contains("收款人账户号出款属性不匹配")) {
|
||||||
|
cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后,重试。");
|
||||||
|
} else {
|
||||||
|
cashOut.setRefund(baseResp.getErrorMsg());
|
||||||
|
}
|
||||||
|
} else if (StringUtils.isNotBlank(baseResp.getMsg())) {
|
||||||
|
cashOut.setState(2);
|
||||||
cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后,重试。");
|
cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后,重试。");
|
||||||
} else {
|
|
||||||
cashOut.setRefund(baseResp.getErrorMsg());
|
|
||||||
}
|
}
|
||||||
} else if (StringUtils.isNotBlank(baseResp.getMsg())) {
|
}else {
|
||||||
cashOut.setState(2);
|
cashOut.setState(3);
|
||||||
cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后,重试。");
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
|
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
|
||||||
|
|||||||
@@ -34,26 +34,31 @@ 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) {
|
||||||
String outOrderNo = AliPayOrderUtil.createOrderId();
|
if (WuyouPay.checkCanCash(cashOut.getUserId())) {
|
||||||
cashOut.setOrderNumber(outOrderNo);
|
String outOrderNo = AliPayOrderUtil.createOrderId();
|
||||||
BaseResp baseResp = WuyouPay.extractOrder(cashOut.getUserId(), outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
|
cashOut.setOrderNumber(outOrderNo);
|
||||||
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);
|
|
||||||
|
|
||||||
//存入余额 钱
|
BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
|
||||||
userMoneyService.updateAmount(1, cashOut.getUserId(), Double.parseDouble(cashOut.getMoney()));
|
if (baseResp.getStatus() != null && baseResp.getStatus().equals(2)) {
|
||||||
userMoneyDetailsService.save(userMoneyDetails);
|
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);
|
cashOutDao.updateById(cashOut);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user