提现失败 处理

This commit is contained in:
GYJ
2024-12-06 11:14:08 +08:00
parent f6d6603f8d
commit 16a823d330
6 changed files with 81 additions and 32 deletions

View File

@@ -1,22 +1,34 @@
package com.sqx.modules.job.task;
import com.sqx.modules.app.entity.UserMoneyDetails;
import com.sqx.modules.app.service.UserMoneyDetailsService;
import com.sqx.modules.app.service.UserMoneyService;
import com.sqx.modules.pay.dao.CashOutDao;
import com.sqx.modules.pay.entity.CashOut;
import com.sqx.modules.pay.wuyou.BaseResp;
import com.sqx.modules.pay.wuyou.WuyouPay;
import com.sqx.modules.utils.AliPayOrderUtil;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@Component("CashOutTask")
public class CashOutTask implements ITask{
public class CashOutTask implements ITask {
@Autowired
@Resource
private CashOutDao cashOutDao;
@Resource
private UserMoneyService userMoneyService;
@Resource
private UserMoneyDetailsService userMoneyDetailsService;
private Logger logger = LoggerFactory.getLogger(getClass());
@@ -28,10 +40,24 @@ public class CashOutTask implements ITask{
String outOrderNo = AliPayOrderUtil.createOrderId();
cashOut.setOrderNumber(outOrderNo);
BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
if (baseResp.getStatus().equals(2)) {
if (baseResp.getStatus() != null && baseResp.getStatus().equals(2)) {
cashOut.setState(1);
}else {
cashOut.setRefund(baseResp.getMsg());
} else {
cashOut.setRefund(StringUtils.isNotBlank(baseResp.getMsg()) ? baseResp.getMsg() : baseResp.getErrorMsg());
UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setClassify(5);
userMoneyDetails.setMoney(new BigDecimal(cashOut.getMoney()));
userMoneyDetails.setUserId(cashOut.getUserId());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
userMoneyDetails.setCreateTime(simpleDateFormat.format(new Date()));
userMoneyDetails.setContent("现金大转盘:提现失败存入余额");
userMoneyDetails.setTitle("现金大转盘:现金红包奖励" + cashOut.getMoney() + "");
userMoneyDetails.setState(2);
userMoneyDetails.setType(1);
//存入余额 钱
userMoneyService.updateAmount(1, cashOut.getUserId(), Double.parseDouble(cashOut.getMoney()));
userMoneyDetailsService.save(userMoneyDetails);
}
cashOutDao.updateById(cashOut);
}