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 |   65 ++++++++++++++++++++++++++++++--
 1 files changed, 60 insertions(+), 5 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 09742ca..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,7 +29,9 @@
 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;
 import com.xcong.excoin.modules.member.vo.MemberCoinChargeVo;
 import com.xcong.excoin.modules.member.vo.MemberCoinWithdrawVo;
@@ -48,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;
@@ -451,13 +454,14 @@
 
 	@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();
 		String symbol = selectById.getSymbol();
 		String address = selectById.getAddress();
 		int status = selectById.getStatus();
+		BigDecimal amount = selectById.getAmount();
 		if(status != 1) {
 			return new FebsResponse().fail().message("只有等待审核的状态才能确认!");
 		}
@@ -526,6 +530,28 @@
 		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);
+		}
+
 		/**
 		//短信提醒
 		 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
@@ -650,6 +676,10 @@
 		String walletNum = memberMapper.selectBBZCForBasicRealData();
 		String walletCoinNum = memberMapper.selectHYZCForBasicRealData();
 		String agentNum = memberMapper.selectDLZCForBasicRealData();
+		double allCoin = 0 ;
+		allCoin = (walletNum == null ? 0 : Double.parseDouble(walletNum))
+				+(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum))
+				+(agentNum == null ? 0 : Double.parseDouble(agentNum));
 		
 		double platformProfitAndLoss = 0 ;
 		platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
@@ -674,6 +704,7 @@
 			memberDataInfoVo.setWalletNum(walletNum == null ? "0" : walletNum);
 			memberDataInfoVo.setWalletCoinNum(walletCoinNum == null ? "0" : walletCoinNum);
 			memberDataInfoVo.setAgentNum(agentNum == null ? "0" : agentNum);
+			memberDataInfoVo.setAllCoin(allCoin);
 		}
 		selectMemberListInPage.setTotal(1);
         return selectMemberListInPage;
@@ -903,6 +934,10 @@
 		String walletNum = memberMapper.selectBBZCForBasicRealDataAlone();
 		String walletCoinNum = memberMapper.selectHYZCForBasicRealDataAlone();
 		String agentNum = memberMapper.selectDLZCForBasicRealDataAlone();
+		double allCoin = 0 ;
+		allCoin = (walletNum == null ? 0 : Double.parseDouble(walletNum))
+				+(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum))
+				+(agentNum == null ? 0 : Double.parseDouble(agentNum));
 		
 		double platformProfitAndLoss = 0 ;
 		platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
@@ -927,6 +962,7 @@
 			memberDataInfoVo.setWalletNum(walletNum == null ? "0" : walletNum);
 			memberDataInfoVo.setWalletCoinNum(walletCoinNum == null ? "0" : walletCoinNum);
 			memberDataInfoVo.setAgentNum(agentNum == null ? "0" : agentNum);
+			memberDataInfoVo.setAllCoin(allCoin);
 		}
 		selectMemberListInPage.setTotal(1);
         return selectMemberListInPage;
@@ -966,6 +1002,10 @@
 		String walletNum = memberMapper.selectBBZCForBasicData();
 		String walletCoinNum = memberMapper.selectHYZCForBasicData();
 		String agentNum = memberMapper.selectDLZCForBasicData();
+		double allCoin = 0 ;
+		allCoin = (walletNum == null ? 0 : Double.parseDouble(walletNum))
+				+(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum))
+				+(agentNum == null ? 0 : Double.parseDouble(agentNum));
 		
 		double platformProfitAndLoss = 0 ;
 		platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
@@ -990,6 +1030,7 @@
 			memberDataInfoVo.setWalletNum(walletNum == null ? "0" : walletNum);
 			memberDataInfoVo.setWalletCoinNum(walletCoinNum == null ? "0" : walletCoinNum);
 			memberDataInfoVo.setAgentNum(agentNum == null ? "0" : agentNum);
+			memberDataInfoVo.setAllCoin(allCoin);
 		}
 		selectMemberListInPage.setTotal(1);
         return selectMemberListInPage;
@@ -1030,6 +1071,10 @@
 		String walletNum = memberMapper.selectBBZCForBasicAllDataAlone();
 		String walletCoinNum = memberMapper.selectHYZCForBasicAllDataAlone();
 		String agentNum = memberMapper.selectDLZCForBasicAllDataAlone();
+		double allCoin = 0 ;
+		allCoin = (walletNum == null ? 0 : Double.parseDouble(walletNum))
+				+(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum))
+				+(agentNum == null ? 0 : Double.parseDouble(agentNum));
 		
 		double platformProfitAndLoss = 0 ;
 		platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
@@ -1054,6 +1099,7 @@
 			memberDataInfoVo.setWalletNum(walletNum == null ? "0" : walletNum);
 			memberDataInfoVo.setWalletCoinNum(walletCoinNum == null ? "0" : walletCoinNum);
 			memberDataInfoVo.setAgentNum(agentNum == null ? "0" : agentNum);
+			memberDataInfoVo.setAllCoin(allCoin);
 		}
 		selectMemberListInPage.setTotal(1);
         return selectMemberListInPage;
@@ -1156,6 +1202,7 @@
 		//USDT充币总额+USDT提币总额
     	String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealTestDataAlone();
     	String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealTestDataAlone();
+    	
     	//USDT充值总额+USDT提现总额
     	String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealTestDataAlone();
     	String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealTestDataAlone();
@@ -1182,18 +1229,25 @@
 		String walletNum = memberMapper.selectBBZCForBasicRealTestDataAlone();
 		String walletCoinNum = memberMapper.selectHYZCForBasicRealTestDataAlone();
 		String agentNum = memberMapper.selectDLZCForBasicRealTestDataAlone();
+		double allCoin = 0 ;
+		allCoin = (walletNum == null ? 0 : Double.parseDouble(walletNum))
+				+(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum))
+				+(agentNum == null ? 0 : Double.parseDouble(agentNum));
 		
 		double platformProfitAndLoss = 0 ;
+		
+		
+		
 		platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
 		platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
-		platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
+		platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : (Double.parseDouble(totalAmountUsdtS)-6780));
 		platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
 		List<MemberDataInfoVo> records = selectMemberListInPage.getRecords();
 		for(MemberDataInfoVo memberDataInfoVo : records) {
 			memberDataInfoVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
 			memberDataInfoVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
 			memberDataInfoVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
-			memberDataInfoVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
+			memberDataInfoVo.setAppealCoin(totalAmountUsdtS == null ? 0 : (Double.parseDouble(totalAmountUsdtS)-6780));
 			memberDataInfoVo.setClosingPrice(closingpriceByMid == null ? "0" : closingpriceByMid);
 			memberDataInfoVo.setSellClosingPrice(sellClosingpriceByMid == null ? "0" : sellClosingpriceByMid);
 			memberDataInfoVo.setFee(returnMoneyByMid == null ? "0" : returnMoneyByMid);
@@ -1206,6 +1260,7 @@
 			memberDataInfoVo.setWalletNum(walletNum == null ? "0" : walletNum);
 			memberDataInfoVo.setWalletCoinNum(walletCoinNum == null ? "0" : walletCoinNum);
 			memberDataInfoVo.setAgentNum(agentNum == null ? "0" : agentNum);
+			memberDataInfoVo.setAllCoin(allCoin);
 		}
 		selectMemberListInPage.setTotal(1);
         return selectMemberListInPage;
@@ -1254,14 +1309,14 @@
 		double platformProfitAndLoss = 0 ;
 		platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
 		platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
-		platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
+		platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : (Double.parseDouble(totalAmountUsdtS)-6780));
 		platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
 		List<MemberDataInfoVo> records = selectMemberListInPage.getRecords();
 		for(MemberDataInfoVo memberDataInfoVo : records) {
 			memberDataInfoVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
 			memberDataInfoVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
 			memberDataInfoVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
-			memberDataInfoVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
+			memberDataInfoVo.setAppealCoin(totalAmountUsdtS == null ? 0 : (Double.parseDouble(totalAmountUsdtS)-6780));
 			memberDataInfoVo.setClosingPrice(closingpriceByMid == null ? "0" : closingpriceByMid);
 			memberDataInfoVo.setSellClosingPrice(sellClosingpriceByMid == null ? "0" : sellClosingpriceByMid);
 			memberDataInfoVo.setFee(returnMoneyByMid == null ? "0" : returnMoneyByMid);

--
Gitblit v1.9.1