From cfe81b28c817fe4543da6de5fa169ca1e69c7afd Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 14 Jul 2020 11:02:49 +0800
Subject: [PATCH] 20200714   代码提交

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |  200 ++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 177 insertions(+), 23 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 2f2f735..b0c39a3 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,112 @@
 	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();
+		List<AgentFriendRelationEntity> arraylist = new ArrayList<>();
+		if(records != null && records.size() > 0) {
+			for(AgentFriendRelationEntity agentFriendRelation : records) {
+				String inviteId = agentFriendRelation.getInviteId();
+				if("90457646".equals(inviteId)) {
+					//该邀请码下的所有代理
+					Map<String, Object> columnMap = new HashMap<>();
+					columnMap.put("referer_id", "90457646");
+					List<AgentFriendRelationEntity> selectByMap = agentFriendRelationMapper.selectByMap(columnMap);
+					
+					if(selectByMap != null && selectByMap.size() > 0) {
+						int i = 1;
+						for(AgentFriendRelationEntity agentFriendRelationEntityTeam : selectByMap){
+							agentFriendRelationEntityTeam.setTeam(i+"");
+							arraylist.add(agentFriendRelationEntityTeam);
+							String inviteIdTeam = agentFriendRelationEntityTeam.getInviteId();
+							// 当前邀请码下的所有代理MemberID
+							List<AgentFriendRelationEntity> lowLevelList = agentFriendRelationMapper.selectAgentFriendRelationByMap(inviteIdTeam);
+							if(lowLevelList != null && lowLevelList.size() > 0) {
+								for(AgentFriendRelationEntity lowLevelAgentFriendRelationEntity: lowLevelList) {
+									lowLevelAgentFriendRelationEntity.setTeam(i+"");
+									arraylist.add(lowLevelAgentFriendRelationEntity);
+								}
+							}
+							i++;
+						}
+					}
+				}
+				if(arraylist != null && arraylist.size() > 0) {
+					for(AgentFriendRelationEntity teamagentFriendRelationEntity : arraylist) {
+						if(inviteId.equals(teamagentFriendRelationEntity.getInviteId())) {
+							String team = teamagentFriendRelationEntity.getTeam();
+							agentFriendRelation.setTeam(team);
+						}
+					}
+				}
+			}
+		}
+		
+		
+		
+		
+		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
@@ -335,18 +446,14 @@
 			memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
 		}
 		
-		MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
-		memberAccountMoneyChangeEntity.setContent("提币");
-		memberAccountMoneyChangeEntity.setMemberId(memberId);
-		memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
+		Map<String, Object> columnMaps = new HashMap<>();
+		columnMaps.put("withdraw_id", selectById.getId());
+		List<MemberAccountMoneyChangeEntity> selectByMap2 = memberAccountMoneyChangeMapper.selectByMap(columnMaps);
+		
+		MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = selectByMap2.get(0);
 		memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
-		memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol());
-		memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
-		memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy());
-        memberAccountMoneyChangeEntity.setCreateTime(new Date());
-        memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy());
-        memberAccountMoneyChangeEntity.setUpdateTime(new Date());
-		memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
+		memberAccountMoneyChangeEntity.setAmount(selectById.getAmount().negate());
+		memberAccountMoneyChangeMapper.updateById(memberAccountMoneyChangeEntity);
 		
 		selectById.setStatus(MemberCoinWithdrawEntity.IS_STATUS_Y);
 		memberCoinWithdrawMapper.updateById(selectById);
@@ -376,7 +483,7 @@
 		// 查询币币钱包
 		MemberWalletCoinEntity walletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, symbol);
 		
-		BigDecimal available = walletCoin.getAvailableBalance().add(selectById.getAmount()).add(selectById.getFeeAmount());
+		BigDecimal available = walletCoin.getAvailableBalance().add(selectById.getAmount());
 		walletCoin.setAvailableBalance(available);
 		BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount());
 		walletCoin.setFrozenBalance(frozen);
@@ -384,18 +491,14 @@
 		memberWalletCoinMapper.updateById(walletCoin);
 		
 		// 提币退款记录
-		MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
-		memberAccountMoneyChangeEntity.setContent("提币");
-		memberAccountMoneyChangeEntity.setMemberId(memberId);
-		memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
+		Map<String, Object> columnMaps = new HashMap<>();
+		columnMaps.put("withdraw_id", selectById.getId());
+		List<MemberAccountMoneyChangeEntity> selectByMap2 = memberAccountMoneyChangeMapper.selectByMap(columnMaps);
+		
+		MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = selectByMap2.get(0);
 		memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_FAIL_INTEGER);
-		memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol());
-		memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
-		memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy());
-        memberAccountMoneyChangeEntity.setCreateTime(new Date());
-        memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy());
-        memberAccountMoneyChangeEntity.setUpdateTime(new Date());
-		memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
+		memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
+		memberAccountMoneyChangeMapper.updateById(memberAccountMoneyChangeEntity);
 		
 		selectById.setStatus(MemberCoinWithdrawEntity.IS_STATUS_N);
 		memberCoinWithdrawMapper.updateById(selectById);
@@ -457,8 +560,10 @@
 		String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealData();
 		//平仓总手续费
 		String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealData();
+		
 		//总盈亏
 		String rewardratioByMid = memberMapper.selectRewardratioForBasicRealData();
+		
 		//持仓人数
 		String notNullNumber = memberMapper.selectSFCCForBasicRealData();
 		//币币账户不为空的人数
@@ -516,4 +621,53 @@
 		return new FebsResponse().data(selectByMap);
 	}
 
+
+	@Override
+	public FebsResponse addCoinConfirm(@Valid MemberEntity memberEntity) {
+		
+		Long memberId = memberEntity.getId();
+		String walletCode = "USDT";
+		BigDecimal amountUsdt = memberEntity.getCoinNumber();
+		
+		MemberEntity selectById = this.baseMapper.selectById(memberId);
+		if(ObjectUtils.isEmpty(selectById)) {
+			return new FebsResponse().message("用户已不存在");
+		}
+		//获取币币钱包
+		MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode);
+		BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance();
+		BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance();
+		
+		memberWalletCoinEntity.setAvailableBalance(availableBalance.add(amountUsdt));
+		memberWalletCoinEntity.setTotalBalance(totalBalance.add(amountUsdt));
+		// 更新
+		memberWalletCoinMapper.updateById(memberWalletCoinEntity);
+		
+		 //添加币币资金划转历史记录
+		MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
+        memberAccountMoneyChangeEntity.setContent("充值");
+        memberAccountMoneyChangeEntity.setMemberId(memberId);
+        memberAccountMoneyChangeEntity.setAmount(amountUsdt);
+        memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
+        memberAccountMoneyChangeEntity.setSymbol("USDT");
+        memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN);
+        memberAccountMoneyChangeEntity.setCreateBy(selectById.getCreateBy());
+        memberAccountMoneyChangeEntity.setCreateTime(new Date());
+        memberAccountMoneyChangeEntity.setUpdateBy(selectById.getCreateBy());
+        memberAccountMoneyChangeEntity.setUpdateTime(new Date());
+        
+        memberAccountMoneyChangeMapper.insert(memberAccountMoneyChangeEntity);
+        /**
+         * todo
+		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
+		String chargeTime = format.format(memberQuickBuySaleEntity.getChargeTime()); // 将当前时间袼式化为指定的格式
+		String usdt = memberQuickBuySaleEntity.getAmountUsdt()+"USDT";
+		//发送短信提醒
+		String smsContent = "【Excoin】尊敬的用户您好!您于"+chargeTime+"充值"+usdt+"已成功到账,请您及时查收!订单号为:"+memberChargeUsdt.getOrderCode()+"。";
+		SmsUtils.hxSmsSend(member.getPhone(), smsContent);
+		
+         */
+		return new FebsResponse().success();
+	}
+
 }

--
Gitblit v1.9.1