From 1047866e4e73890bf64c9b35f1a7043b543d64fe Mon Sep 17 00:00:00 2001
From: zainali5120 <512061637@qq.com>
Date: Sun, 15 Nov 2020 11:07:48 +0800
Subject: [PATCH] 交易所到算力内部

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |  182 ++++++++++++++++++++++++---------------------
 1 files changed, 97 insertions(+), 85 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 e5bda2a..9a0677e 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
@@ -9,26 +9,12 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xcong.excoin.common.entity.FebsResponse;
 import com.xcong.excoin.common.entity.QueryRequest;
+import com.xcong.excoin.common.utils.RedisUtils;
 import com.xcong.excoin.modules.Sms106Send;
 import com.xcong.excoin.modules.member.dto.MemberDetailConfirmDto;
-import com.xcong.excoin.modules.member.entity.AgentFriendRelationEntity;
-import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity;
-import com.xcong.excoin.modules.member.entity.MemberAuthenticationEntity;
-import com.xcong.excoin.modules.member.entity.MemberCoinAddressEntity;
-import com.xcong.excoin.modules.member.entity.MemberCoinChargeEntity;
-import com.xcong.excoin.modules.member.entity.MemberCoinWithdrawEntity;
-import com.xcong.excoin.modules.member.entity.MemberEntity;
-import com.xcong.excoin.modules.member.entity.MemberQuickBuySaleEntity;
-import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
-import com.xcong.excoin.modules.member.mapper.AgentFriendRelationMapper;
-import com.xcong.excoin.modules.member.mapper.MemberAccountMoneyChangeMapper;
-import com.xcong.excoin.modules.member.mapper.MemberAuthenticationMapper;
-import com.xcong.excoin.modules.member.mapper.MemberCoinAddressMapper;
-import com.xcong.excoin.modules.member.mapper.MemberCoinChargeMapper;
-import com.xcong.excoin.modules.member.mapper.MemberCoinWithdrawMapper;
-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.dto.MemberLimitDto;
+import com.xcong.excoin.modules.member.entity.*;
+import com.xcong.excoin.modules.member.mapper.*;
 import com.xcong.excoin.modules.member.service.EthService;
 import com.xcong.excoin.modules.member.service.IMemberService;
 import com.xcong.excoin.modules.member.service.RocService;
@@ -85,7 +71,10 @@
 	private final MemberAuthenticationMapper memberAuthenticationMapper;
 	
 	private final AgentFriendRelationMapper agentFriendRelationMapper;
-	
+
+	private final RedisUtils redisUtils;
+	private final TdFinancialReordDao tdFinancialReordDao;
+
 	@Override
 	public IPage<AgentFriendRelationEntity> findAgentInfoListInPage(AgentFriendRelationEntity agentFriendRelationEntity,
 			QueryRequest request) {
@@ -401,23 +390,6 @@
 			QueryRequest request) {
 		Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 		IPage<MemberCoinChargeVo> findmemberQuickBuySaleListInPage = memberCoinChargeMapper.findMemberApplyCoinListInPage(page, memberCoinChargeEntity);
-		List<MemberCoinChargeVo> records = findmemberQuickBuySaleListInPage.getRecords();
-		if(CollUtil.isNotEmpty(records)) {
-			for(MemberCoinChargeVo memberCoinChargeVo : records) {
-				Long memberId = memberCoinChargeVo.getMemberId();
-				Map<String, Object> columnMap = new HashMap<>();
-				columnMap.put("member_id", memberId);
-				List<MemberAuthenticationEntity> selectByMap = memberAuthenticationMapper.selectByMap(columnMap );
-				if(selectByMap != null && selectByMap.size() > 0) {
-					MemberAuthenticationEntity memberAuthenticationEntity = selectByMap.get(0);
-					String firstName = memberAuthenticationEntity.getFirstName();
-					String secondName = memberAuthenticationEntity.getSecondName();
-					String realName = firstName + secondName;
-					memberCoinChargeVo.setRealName(realName);
-				}
-			}
-		}
-		 
         return findmemberQuickBuySaleListInPage;
 	}
 
@@ -432,17 +404,6 @@
 			for(MemberCoinWithdrawVo memberCoinWithdrawVo : records) {
 				
 				Long memberId = memberCoinWithdrawVo.getMemberId();
-				Map<String, Object> columnMap = new HashMap<>();
-				columnMap.put("member_id", memberId);
-				List<MemberAuthenticationEntity> selectByMap = memberAuthenticationMapper.selectByMap(columnMap );
-				if(selectByMap != null && selectByMap.size() > 0) {
-					MemberAuthenticationEntity memberAuthenticationEntity = selectByMap.get(0);
-					String firstName = memberAuthenticationEntity.getFirstName();
-					String secondName = memberAuthenticationEntity.getSecondName();
-					String realName = firstName + secondName;
-					memberCoinWithdrawVo.setRealName(realName);
-				}
-				
 				BigDecimal amount = memberCoinWithdrawVo.getAmount();
 				BigDecimal feeAmount = memberCoinWithdrawVo.getFeeAmount();
 				BigDecimal subtract = amount.subtract(feeAmount);
@@ -465,6 +426,10 @@
 		String symbol = selectById.getSymbol();
 		String address = selectById.getAddress();
 		int status = selectById.getStatus();
+		BigDecimal feeAmount = selectById.getFeeAmount();
+		if(feeAmount==null){
+			feeAmount = BigDecimal.ZERO;
+		}
 		BigDecimal amount = selectById.getAmount();
 		if(status != 1) {
 			return new FebsResponse().fail().message("只有等待审核的状态才能确认!");
@@ -558,7 +523,24 @@
 //				usdtStr = usdtStr.substring(0, usdtStr.lastIndexOf("."));
 //			}
 //			String s = ethService.tokenSend(address, usdtStr, null);
-		}
+			 // 判断是不是到交易所的
+			 MemberCoinAddressEntity coinAddressEntity = memberCoinAddressMapper.selectSuanliWallet(address);
+			 if(coinAddressEntity!=null){
+			 	// 是的
+				 Long walletId = coinAddressEntity.getId();
+				 // 插入充值记录
+				 TdFinancialReord financialReord = new TdFinancialReord();
+				 financialReord.setAmount(amount);
+				 financialReord.setTitle("USDT链上充值");
+				 financialReord.setContent("USDT链上充值");
+				 financialReord.setSymbol(symbol);
+				 financialReord.setCreateTime(new Date());
+				 financialReord.setMemId(coinAddressEntity.getMemberId());
+				 tdFinancialReordDao.insert(financialReord);
+				 // 更新钱包
+				 memberCoinAddressMapper.updateSuanliWallet(walletId,amount);
+			 }
+		 }
 
 		/**
 		//短信提醒
@@ -1349,54 +1331,58 @@
 
 
 	@Override
-	public MemberInfoDetailVo selectMemberInfoDetailByInviteId(String inviteId) {
+	public MemberInfoDetailVo  selectMemberInfoDetailByInviteId(String inviteId) {
 		String id = memberMapper.selectMemberInfoDetailByInviteId(inviteId);
 		Long memberId = Long.parseLong(id);
 		MemberInfoDetailVo memberInfoDetailVo = new MemberInfoDetailVo();
-	
+
 		//USDT充币总额+USDT提币总额
-    	String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"USDT");
-    	memberInfoDetailVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
-    	String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealDataBymemberId(memberId);
-    	memberInfoDetailVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
-    	//USDT充值总额+USDT提现总额
-    	String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealDataBymemberId(memberId);
-    	memberInfoDetailVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
-    	String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealDataBymemberId(memberId);
-    	memberInfoDetailVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
-    	//总剩余
-    	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 - (totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
-    	memberInfoDetailVo.setTotalCoin(platformProfitAndLoss);
+		String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"USDT");
+		String totalAmountUsdtBRoc = memberMapper.selectTotalAmountUsdtBForBasicRealDataBymemberId(memberId,"ROC");
+		memberInfoDetailVo.setChargeCoin(totalAmountUsdtB == null ? 0 : Double.parseDouble(totalAmountUsdtB));
+		memberInfoDetailVo.setChargeCoinRoc(totalAmountUsdtBRoc == null ? 0 : Double.parseDouble(totalAmountUsdtBRoc));
+		String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealDataBymemberId(memberId);
+		memberInfoDetailVo.setAppealCoin(totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS));
+		//USDT充值总额+USDT提现总额
+//    	String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealDataBymemberId(memberId);
+//    	memberInfoDetailVo.setChargeUsdt(totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ));
+//    	String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealDataBymemberId(memberId);
+//    	memberInfoDetailVo.setAppealUsdt(totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
+		//总剩余
+//    	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 - (totalAmountUsdtTX == null ? 0 : Double.parseDouble(totalAmountUsdtTX));
+//    	memberInfoDetailVo.setTotalCoin(platformProfitAndLoss);
 		//佣金
-		String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealDataBymemberId(memberId);
-		memberInfoDetailVo.setFee(returnMoneyByMid == null ? 0 : Double.parseDouble(returnMoneyByMid));
+//		String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealDataBymemberId(memberId);
+//		memberInfoDetailVo.setFee(returnMoneyByMid == null ? 0 : Double.parseDouble(returnMoneyByMid));
 		//开仓手续费总额
-		String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealDataBymemberId(memberId);
-		memberInfoDetailVo.setClosingPrice(closingpriceByMid == null ? 0 : Double.parseDouble(closingpriceByMid));
+//		String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealDataBymemberId(memberId);
+//		memberInfoDetailVo.setClosingPrice(closingpriceByMid == null ? 0 : Double.parseDouble(closingpriceByMid));
 		//平仓总手续费
-		String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealDataBymemberId(memberId);
-		memberInfoDetailVo.setSellClosingPrice(sellClosingpriceByMid == null ? 0 : Double.parseDouble(sellClosingpriceByMid));
-		
-		//总盈亏
-		String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymemberId(memberId);
-		memberInfoDetailVo.setPlatformProfitAndLoss(rewardratioByMid == null ? 0 : Double.parseDouble(rewardratioByMid));
-		
+//		String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealDataBymemberId(memberId);
+//		memberInfoDetailVo.setSellClosingPrice(sellClosingpriceByMid == null ? 0 : Double.parseDouble(sellClosingpriceByMid));
+
+//		//总盈亏
+//		String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymemberId(memberId);
+//		memberInfoDetailVo.setPlatformProfitAndLoss(rewardratioByMid == null ? 0 : Double.parseDouble(rewardratioByMid));
+
 		//持仓手续费
-		String doingPrice = memberMapper.selectprepriceForBasicRealDataBymemberId(memberId);
-		memberInfoDetailVo.setDoingPrice(doingPrice == null ? 0 : Double.parseDouble(doingPrice));
-		
+//		String doingPrice = memberMapper.selectprepriceForBasicRealDataBymemberId(memberId);
+//		memberInfoDetailVo.setDoingPrice(doingPrice == null ? 0 : Double.parseDouble(doingPrice));
+
 		//账户金额
 		String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"USDT");
+		String walletNumRoc = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"ROC");
 		memberInfoDetailVo.setWalletCoinNum(walletNum == null ? 0 : Double.parseDouble(walletNum));
-		String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
-		memberInfoDetailVo.setTotalContract(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum));
-		String agentNum = memberMapper.selectDLZCForBasicRealDataBymemberId(memberId);
-		memberInfoDetailVo.setAgentNum(agentNum == null ? 0 : Double.parseDouble(agentNum));
-			
+		memberInfoDetailVo.setWalletCoinNumRoc(walletNumRoc == null ? 0 : Double.parseDouble(walletNumRoc));
+		//String walletCoinNum = memberMapper.selectHYZCForBasicRealDataBymemberId(memberId);
+		//memberInfoDetailVo.setTotalContract(walletCoinNum == null ? 0 : Double.parseDouble(walletCoinNum));
+		//String agentNum = memberMapper.selectDLZCForBasicRealDataBymemberId(memberId);
+		//memberInfoDetailVo.setAgentNum(agentNum == null ? 0 : Double.parseDouble(agentNum));
+
 		return memberInfoDetailVo;
 	}
 
@@ -1439,4 +1425,30 @@
         return selectMemberListInPage;
 	}
 
+	@Override
+	public MemberLimitDto memberLimit() {
+		Map<String,String> map = new HashMap<>();
+		// 算力系统提币限制
+		String roc_limit_transfer = redisUtils.getString("ROC_LIMIT_TRANSFER");
+		// 交易所交易限制
+		String sell_limit_key_phone = redisUtils.getString("SELL_LIMIT_KEY_PHONE");
+		String golden_limit_transfer = redisUtils.getString("GOLDEN_LIMIT_TRANSFER");
+		String buy_limit_key_phone = redisUtils.getString("BUY_LIMIT_KEY_PHONE");
+        MemberLimitDto limitDto = new MemberLimitDto();
+        limitDto.setJysmcxz(sell_limit_key_phone);
+        limitDto.setJystbxz(golden_limit_transfer);
+        limitDto.setSlxttbxz(roc_limit_transfer);
+		limitDto.setJysmrxz(buy_limit_key_phone);
+		return limitDto;
+	}
+
+    @Override
+    public void setLimit(MemberLimitDto memberLimitDto) {
+        redisUtils.set("ROC_LIMIT_TRANSFER",memberLimitDto.getSlxttbxz());
+        // 交易所交易限制
+        redisUtils.set("SELL_LIMIT_KEY_PHONE",memberLimitDto.getJysmcxz());
+        redisUtils.set("GOLDEN_LIMIT_TRANSFER",memberLimitDto.getJystbxz());
+        redisUtils.set("BUY_LIMIT_KEY_PHONE",memberLimitDto.getJysmrxz());
+    }
+
 }

--
Gitblit v1.9.1