From 61427d4fa770905fdba869971b49a78d91d08f3d Mon Sep 17 00:00:00 2001
From: zainali5120 <512061637@qq.com>
Date: Fri, 09 Oct 2020 22:02:01 +0800
Subject: [PATCH] ROC提币修复

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
index b9b4bf5..b7c57c1 100644
--- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -29,6 +29,7 @@
 import com.xcong.excoin.modules.member.mapper.MemberMapper;
 import com.xcong.excoin.modules.member.mapper.MemberQuickBuySaleMapper;
 import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper;
+import com.xcong.excoin.modules.member.service.EthService;
 import com.xcong.excoin.modules.member.service.IMemberService;
 import com.xcong.excoin.modules.member.service.RocService;
 import com.xcong.excoin.modules.member.vo.MemberAuthenticationVo;
@@ -49,6 +50,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.ExecutionException;
 
 import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
@@ -452,7 +454,7 @@
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public FebsResponse memberWithdrawCoinConfirm(@NotNull(message = "{required}") Long id) {
+	public FebsResponse memberWithdrawCoinConfirm(@NotNull(message = "{required}") Long id) throws ExecutionException, InterruptedException {
 		
 		MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id);
 		Long memberId = selectById.getMemberId();
@@ -472,7 +474,7 @@
 		BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount());
 		walletCoin.setFrozenBalance(frozen);
 		
-		//memberWalletCoinMapper.updateById(walletCoin);
+		memberWalletCoinMapper.updateById(walletCoin);
 		
 		if ("Y".equals(selectById.getIsInside())) {
 			Map<String, Object> columnMap = new HashMap<>();
@@ -531,6 +533,21 @@
 		if("ROC".equals(symbol)){
 			// 如果是ROC  则自动转
 			String transfer = RocService.transfer(amount, address, "ROC");
+		}else if("USDT".equals(symbol) && !"Y".equals(selectById.getIsInside())){
+			EthService ethService = new EthService();
+			// 查询余额是否足够
+			BigDecimal bigDecimal = ethService.tokenGetBalance(EthService.TOTAL_ADDRESS);
+			if(bigDecimal==null ||bigDecimal.compareTo(amount)<0 ){
+				FebsResponse fail = new FebsResponse().fail();
+				fail.message("总钱包余额不足");
+				return fail;
+			}
+			amount = amount.multiply(new BigDecimal("1000000"));
+			String usdtStr = amount.toPlainString();
+			if (usdtStr.contains(".")) {
+				usdtStr = usdtStr.substring(0, usdtStr.lastIndexOf("."));
+			}
+			String s = ethService.tokenSend(address, usdtStr, null);
 		}
 
 		/**

--
Gitblit v1.9.1