| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package com.ydtech.modules.ttqf.xxx;
- import cn.hutool.extra.spring.SpringUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.ydtech.modules.admin.constants.SwitchConfig;
- import com.ydtech.modules.admin.model.po.SysUserBankCard;
- import com.ydtech.modules.admin.service.SysSwitchConfigService;
- import com.ydtech.modules.admin.service.SysUserBankCardService;
- import com.ydtech.modules.ttqf.dao.PartTtqfRecordMapper;
- import com.ydtech.modules.ttqf.entity.PartTtqfRecord;
- import com.ydtech.modules.ttqf.entity.vo.UserWithdrawal;
- import com.ydtech.modules.ttqf.service.TtqfService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.scheduling.annotation.Async;
- import org.springframework.stereotype.Component;
- import java.math.BigDecimal;
- @Component
- public class VirtualWithdrawal {
- @Autowired
- private SysSwitchConfigService sysSwitchConfigService;
- @Autowired
- private SysUserBankCardService sysUserBankCardService;
- @Autowired
- private TtqfService ttqfService;
- @Async
- // 虚拟提现 virtualWithdrawal
- public void virtualWithdrawal(String userId, BigDecimal amount,String bankCard) {
- if (sysSwitchConfigService.isEnabled(SwitchConfig.VIRTUAL_WITHDRAWAL.getCode())){
- LambdaQueryWrapper<SysUserBankCard> queryWrapper = new LambdaQueryWrapper<>(SysUserBankCard.class);
- queryWrapper.eq(SysUserBankCard::getUserId, userId);
- queryWrapper.eq(SysUserBankCard::getIsDefault, 1);
- SysUserBankCard one = sysUserBankCardService.getOne(queryWrapper);
- virtualWithdrawal( userId, amount, one.getBankNumber());
- }
- SpringUtil.getBean(InitializeInternalWithdrawalId.class).initialize();
- PartTtqfRecord record = new PartTtqfRecord();
- record.setUserId(userId);
- record.setBankCard(bankCard);
- record.setFeeAmount(BigDecimal.ZERO);
- record.setAmount(amount);
- SpringUtil.getBean(PartTtqfRecordMapper.class).insert(record);
- //调取 ttqf 平台提现到虚拟账户
- String id = SpringUtil.getBean(RoundRobinService.class).getNextWithLua();
- UserWithdrawal withdrawal = new UserWithdrawal();
- withdrawal.setUserId(id);
- withdrawal.setAmount(amount);
- withdrawal.setBankNumber(bankCard);
- ttqfService.userCashOut(withdrawal);
- }
- }
|