From c7de5883d504e6c636ac9c73113d782afbd3e66c Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 13 Oct 2020 21:12:01 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |   23 +++++++++++++++++++++--
 1 files changed, 21 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..634d34e 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<>();
@@ -528,9 +530,26 @@
 		if(StrUtil.isNotBlank(phone)) {
 			Sms106Send.sendWithdrawalCoinMsg(phone, time);
 		}
+		// 转币 需要扣除手续费
+		amount = amount.subtract(selectById.getFeeAmount());
 		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