首绑支付宝发放现金红包奖励
This commit is contained in:
@@ -16,6 +16,11 @@ public interface DiscSpinningService extends IService<DiscSpinning> {
|
||||
//提现
|
||||
void withdraw(UserEntity userInfo, Double money);
|
||||
|
||||
//提现
|
||||
void withdraw(UserEntity userInfo, Double money, String title);
|
||||
|
||||
//提现
|
||||
void withdrawAsync(UserEntity userInfo, Double money, String title);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -17,10 +17,8 @@ import com.sqx.modules.discSpinning.dao.DiscSpinningDao;
|
||||
import com.sqx.modules.discSpinning.entity.DiscSpinning;
|
||||
import com.sqx.modules.discSpinning.entity.DiscSpinningAmount;
|
||||
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
|
||||
import com.sqx.modules.discSpinning.service.DiscSpinningAmountService;
|
||||
import com.sqx.modules.discSpinning.service.DiscSpinningRecordService;
|
||||
import com.sqx.modules.discSpinning.service.DiscSpinningService;
|
||||
import com.sqx.modules.orders.service.OrdersService;
|
||||
import com.sqx.modules.pay.entity.CashOut;
|
||||
import com.sqx.modules.pay.service.CashOutService;
|
||||
import com.sqx.modules.pay.wuyou.BaseResp;
|
||||
@@ -30,7 +28,10 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.PlatformTransactionManager;
|
||||
import org.springframework.transaction.TransactionStatus;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.support.DefaultTransactionDefinition;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
@@ -48,6 +49,9 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
|
||||
private final CashOutService cashOutService;
|
||||
private final RedisUtils redisUtils;
|
||||
|
||||
@Autowired
|
||||
private PlatformTransactionManager transactionManager;
|
||||
|
||||
|
||||
@Autowired
|
||||
public DiscSpinningServiceImpl(CommonInfoService commonRepository,
|
||||
@@ -94,6 +98,12 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
|
||||
@Override
|
||||
@Transactional
|
||||
public void withdraw(UserEntity userInfo, Double money) {
|
||||
withdraw(userInfo, money, "[现金大转盘]");
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void withdraw(UserEntity userInfo, Double money, String title) {
|
||||
CashOut cashOut = new CashOut();
|
||||
cashOut.setIsOut(false);
|
||||
cashOut.setMoney(money.toString());
|
||||
@@ -113,7 +123,7 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
|
||||
BaseResp baseResp = WuyouPay.extractOrder(outOrderNo, cashOut.getMoney(), cashOut.getZhifubao(), cashOut.getZhifubaoName());
|
||||
if (baseResp.getStatus() != null && (baseResp.getStatus().equals(2) || baseResp.getStatus().equals(10000))) {
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
|
||||
userInfo.getUserId(), null, null, "[现金大转盘]", 4, 2, 1,
|
||||
userInfo.getUserId(), null, null, title, 4, 2, 1,
|
||||
new BigDecimal(money), "现金红包自动提现" + money + "元", 1);
|
||||
userMoneyDetailsService.save(userMoneyDetails);
|
||||
//减去余额 钱
|
||||
@@ -127,13 +137,13 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
|
||||
} else {
|
||||
cashOut.setRefund(baseResp.getErrorMsg());
|
||||
}
|
||||
}else if (StringUtils.isNotBlank(baseResp.getMsg())) {
|
||||
} else if (StringUtils.isNotBlank(baseResp.getMsg())) {
|
||||
cashOut.setState(2);
|
||||
cashOut.setRefund("提现失败,请检查支付宝账号与收款人姓名后,重试。");
|
||||
}
|
||||
} else {
|
||||
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(
|
||||
userInfo.getUserId(), null, null, "[现金大转盘]", 4, 2, 1,
|
||||
userInfo.getUserId(), null, null, title, 4, 2, 1,
|
||||
new BigDecimal(money), "现金红包自动提现" + money + "元", 1);
|
||||
userMoneyDetailsService.save(userMoneyDetails);
|
||||
//减去余额 钱
|
||||
@@ -143,6 +153,18 @@ public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSp
|
||||
log.info("领取奖励执行完毕");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void withdrawAsync(UserEntity userInfo, Double money, String title) {
|
||||
TransactionStatus transactionStatus = transactionManager.getTransaction(new DefaultTransactionDefinition());
|
||||
try {
|
||||
withdraw(userInfo, money, title);
|
||||
transactionManager.commit(transactionStatus);
|
||||
}catch (Exception e){
|
||||
transactionManager.rollback(transactionStatus);
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public DiscSpinningRecord draws(int drawCount, double orderAmount, Long orderId, Long userId, String source) {
|
||||
|
||||
Reference in New Issue
Block a user