From 0d9efa874050e31617640f4938184c0695a1083d Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 17 Apr 2024 10:38:49 +0800
Subject: [PATCH] 提现批量修改
---
src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java | 97 ++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 92 insertions(+), 5 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java
index 5b840ec..6f04777 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java
@@ -6,6 +6,7 @@
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.dapp.chain.ChainEnum;
+import cc.mrbird.febs.dapp.chain.ChainService;
import cc.mrbird.febs.dapp.entity.*;
import cc.mrbird.febs.dapp.mapper.*;
import cc.mrbird.febs.dapp.service.AsyncCjService;
@@ -23,6 +24,7 @@
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
+import java.math.BigInteger;
import java.util.*;
import java.util.stream.Collectors;
@@ -274,6 +276,96 @@
teamHdPerk(teamPercent,divideEveryUsdt,divideEveryCoin);
}
+ @Override
+ public void confirmOrder(DappFundFlowEntity dappFundFlow) {
+ Long id = dappFundFlow.getId();
+ DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(id);
+ Integer status = dappFundFlowEntity.getStatus();
+ if(1 != status){
+ return;
+ }
+ Integer type = dappFundFlowEntity.getType();
+ BigDecimal amount = dappFundFlowEntity.getAmount().negate();
+ if(BigDecimal.ZERO.compareTo(amount) >=0){
+ amount = amount.negate();
+ }
+ Long memberId = dappFundFlowEntity.getMemberId();
+ DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+ if(FlowTypeEnum.USDT_OUT.getValue() == type){
+ //USDT转账
+ String transfer = ChainService.getInstance(ChainEnum.BSC_USDT.name()).transfer(dappMemberEntity.getAddress(), amount);
+ int retryTime = 0;//重试次数
+ while (StrUtil.isEmpty(transfer)) {
+ // 休眠2s
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ if(retryTime < 3){
+ transfer = ChainService.getInstance(ChainEnum.BSC_USDT.name()).transfer(dappMemberEntity.getAddress(), amount);
+ }
+ retryTime ++ ;
+ }
+ if(StrUtil.isNotEmpty(transfer)){
+ dappFundFlowEntity.setFromHash(transfer);
+ dappFundFlowEntity.setStatus(2);
+ dappFundFlowDao.updateById(dappFundFlowEntity);
+ }else{
+ dappFundFlowEntity.setStatus(1);
+ dappFundFlowDao.updateById(dappFundFlowEntity);
+ }
+ }else if(FlowTypeEnum.DAI_BI_OUT.getValue() == type){
+ //代币转账
+ String transfer = ChainService.getInstance(ChainEnum.BSC_GFA.name()).transfer(dappMemberEntity.getAddress(), amount);
+ if(StrUtil.isNotEmpty(transfer)){
+ dappFundFlowEntity.setFromHash(transfer);
+ dappFundFlowEntity.setStatus(2);
+ dappFundFlowDao.updateById(dappFundFlowEntity);
+ }else{
+ dappFundFlowEntity.setStatus(1);
+ dappFundFlowDao.updateById(dappFundFlowEntity);
+ }
+ }else{
+ return;
+ }
+ }
+
+ @Override
+ public void confirmCancel(DappFundFlowEntity dappFundFlow) {
+ Long id = dappFundFlow.getId();
+ DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(id);
+ Integer status = dappFundFlowEntity.getStatus();
+ if(1 != status){
+ return;
+ }
+ Integer type = dappFundFlowEntity.getType();
+ BigDecimal amount = dappFundFlowEntity.getAmount().negate();
+ if(BigDecimal.ZERO.compareTo(amount) >=0){
+ amount = amount.negate();
+ }
+ Long memberId = dappFundFlowEntity.getMemberId();
+ DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId);
+
+ dappFundFlowEntity.setStatus(DappFundFlowEntity.WITHDRAW_STATUS_DISAGREE);
+ dappFundFlowDao.updateById(dappFundFlowEntity);
+ if(FlowTypeEnum.USDT_OUT.getValue() == type){
+ dappMemberEntity.setUsdtBalance(dappMemberEntity.getUsdtBalance().add(amount));
+ dappMemberDao.updateUsdtBalanceWithVersion(dappMemberEntity);
+ }else if(FlowTypeEnum.DAI_BI_OUT.getValue() == type){
+ dappMemberEntity.setBalance(dappMemberEntity.getBalance().add(amount));
+ dappMemberDao.updateBalanceWithVersion(dappMemberEntity);
+ }else{
+ return;
+ }
+ }
+
+ public static void main(String[] args) {
+ String transfer = ChainService.getInstance(ChainEnum.BSC_USDT.name()).transfer("0xCEBfd36e03BD80c7015Cbad17eFfBc33d2923FF3", new BigDecimal("0.1"));
+// BigInteger bigInteger = org.web3j.utils.Convert.toWei("35", org.web3j.utils.Convert.Unit.GWEI).toBigInteger();
+// System.out.println(bigInteger);
+ }
+
public void teamHdPerk(int teamPercent,BigDecimal divideEveryUsdt,BigDecimal divideEveryCoin){
//3%用于团队业绩计算
BigDecimal teamPercentMultiply = new BigDecimal(teamPercent);
@@ -456,11 +548,6 @@
// DataDicEnum.GFA_COIN.getValue(),
// 1);
}
- }
-
- public static void main(String[] args) {
- String format = StrUtil.format(FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(), 100);
- System.out.println(format);
}
/**
--
Gitblit v1.9.1