From 0f326acd413279d2c3fccb27ee1a5723e1387bcf Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 07 Jul 2020 15:34:35 +0800
Subject: [PATCH] 20200707  代码提交

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |   74 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 72 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 de9c33d..66030ec 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
@@ -7,6 +7,7 @@
 import com.xcong.excoin.common.entity.FebsResponse;
 import com.xcong.excoin.common.entity.QueryRequest;
 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.MemberCoinAddressEntity;
 import com.xcong.excoin.modules.member.entity.MemberCoinChargeEntity;
@@ -14,6 +15,7 @@
 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;
@@ -32,10 +34,13 @@
 
 import lombok.RequiredArgsConstructor;
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.validation.Valid;
 import javax.validation.constraints.NotNull;
@@ -65,6 +70,71 @@
 	private final MemberCoinAddressMapper memberCoinAddressMapper;
 	
 	private final MemberAuthenticationMapper memberAuthenticationMapper;
+	
+	private final AgentFriendRelationMapper agentFriendRelationMapper;
+	
+	@Override
+	public IPage<AgentFriendRelationEntity> findAgentInfoListInPage(AgentFriendRelationEntity agentFriendRelationEntity,
+			QueryRequest request) {
+		Page<AgentFriendRelationEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+		IPage<AgentFriendRelationEntity> findmemberQuickBuySaleListInPage = agentFriendRelationMapper.findAgentFriendRelationListInPage(page, agentFriendRelationEntity);
+		List<AgentFriendRelationEntity> records = findmemberQuickBuySaleListInPage.getRecords();
+		
+		if(records != null && records.size() > 0) {
+			for(AgentFriendRelationEntity agentFriendRelation : records) {
+				List<String> arrayList = new ArrayList<>(); 
+				String inviteId = agentFriendRelation.getInviteId();
+				String inviteIdCZ = null;
+				String inviteIdTX = null;
+				String inviteIdSY = null;
+				// 当前邀请码下的所有代理MemberID
+				List<AgentFriendRelationEntity> lowLevelList = agentFriendRelationMapper.selectAgentFriendRelationByMap(inviteId);
+				
+				List<String> memberLevel = memberMapper.selectMemberBylowLevelInviteId(inviteId);
+				arrayList.addAll(memberLevel);
+				if(lowLevelList != null && lowLevelList.size() > 0) {
+					for(AgentFriendRelationEntity lowLevelMemberId : lowLevelList) {
+						Long memberId = lowLevelMemberId.getMemberId();
+						arrayList.add(memberId.toString());
+						List<String> memberlowLevel = memberMapper.selectMemberBylowLevelInviteId(lowLevelMemberId.getInviteId());
+						arrayList.addAll(memberlowLevel);
+					}
+					Set<String> set = new HashSet<>();
+					List<String> newList = new ArrayList<>();
+				    set.addAll(arrayList);
+				    newList.addAll(set);
+					//获取对应的充值提现
+					double czNumber = 0;
+					double txNumber = 0;
+					if(newList != null && newList.size() > 0) {
+						agentFriendRelation.setPromotionNumber(newList.size());
+						for(String memberId : newList) {
+							//充币
+							String selectCBByMemberId = memberCoinChargeMapper.selectCBByMemberId(memberId);
+							//充值
+							String selectCZByMemberI = memberQuickBuySaleMapper.selectCZByMemberId(memberId);
+							//提币
+							String selectTBByMemberId = memberCoinWithdrawMapper.selectTBByMemberId(memberId);
+							//提现
+							String selectTXByMemberId = memberQuickBuySaleMapper.selectTXByMemberId(memberId);
+							
+					    	czNumber = czNumber + (selectCBByMemberId == null ? 0 : Double.parseDouble(selectCBByMemberId));
+					    	czNumber = czNumber + (selectCZByMemberI == null ? 0 : Double.parseDouble(selectCZByMemberI));
+					    	txNumber = txNumber + (selectTBByMemberId == null ? 0 : Double.parseDouble(selectTBByMemberId));
+					    	txNumber = txNumber + (selectTXByMemberId == null ? 0 : Double.parseDouble(selectTXByMemberId));
+						}
+					}
+					inviteIdCZ = czNumber+"";
+					inviteIdTX = txNumber+"";
+					inviteIdSY = (czNumber-txNumber)+"";
+				}
+				agentFriendRelation.setTotalRecharge(inviteIdCZ == null ? "0.0" : inviteIdCZ);
+				agentFriendRelation.setTotalWithdrawal(inviteIdTX == null ? "0.0" : inviteIdTX);
+				agentFriendRelation.setTotalPerformance(inviteIdSY == null ? "0.0" : inviteIdSY);
+			}
+		}
+        return findmemberQuickBuySaleListInPage;
+	}
 	
 
     @Override
@@ -297,7 +367,7 @@
 		
 		BigDecimal total = walletCoin.getTotalBalance().subtract(selectById.getAmount()).subtract(selectById.getFeeAmount());
 		walletCoin.setTotalBalance(total);
-		BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount()).subtract(selectById.getFeeAmount());
+		BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount());
 		walletCoin.setFrozenBalance(frozen);
 		
 		memberWalletCoinMapper.updateById(walletCoin);
@@ -378,7 +448,7 @@
 		
 		BigDecimal available = walletCoin.getAvailableBalance().add(selectById.getAmount()).add(selectById.getFeeAmount());
 		walletCoin.setAvailableBalance(available);
-		BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount()).subtract(selectById.getFeeAmount());
+		BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount());
 		walletCoin.setFrozenBalance(frozen);
 		
 		memberWalletCoinMapper.updateById(walletCoin);

--
Gitblit v1.9.1