From 4c902d9c20dd965d1ec832760809c622d1df9aac Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 17 Jun 2021 11:17:03 +0800 Subject: [PATCH] 20210617 开售开关 --- src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 896 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 850 insertions(+), 46 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 3b89c26..ea2b732 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 @@ -1,14 +1,21 @@ package com.xcong.excoin.modules.member.service.impl; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.dto.MemberLimitDto; 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; @@ -25,15 +32,18 @@ import com.xcong.excoin.modules.member.mapper.MemberQuickBuySaleMapper; import com.xcong.excoin.modules.member.mapper.MemberWalletCoinMapper; 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; import com.xcong.excoin.modules.member.vo.MemberDataInfoVo; +import com.xcong.excoin.modules.member.vo.MemberInfoDetailVo; import com.xcong.excoin.modules.member.vo.MemberQuickBuySaleVo; import com.xcong.excoin.modules.member.vo.MemberQuickSaleVo; import lombok.RequiredArgsConstructor; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -41,9 +51,12 @@ 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; + +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -51,6 +64,7 @@ * @author wzy * @date 2020-06-10 **/ +@Slf4j @Service @RequiredArgsConstructor public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberEntity> implements IMemberService { @@ -72,13 +86,56 @@ private final MemberAuthenticationMapper memberAuthenticationMapper; private final AgentFriendRelationMapper agentFriendRelationMapper; - + + private final RedisUtils redisUtils; + @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) { @@ -140,7 +197,16 @@ @Override public IPage<MemberEntity> findMemberListInPage(MemberEntity memberEntity, QueryRequest request) { Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); - return this.baseMapper.selectMemberListInPage(page, memberEntity); + IPage<MemberEntity> selectMemberListInPage = this.baseMapper.selectMemberListInPage(page, memberEntity); + List<MemberEntity> records = selectMemberListInPage.getRecords(); + if(records != null && records.size() > 0) { + for(MemberEntity memberEntitys : records) { + String firstName = (memberEntitys.getFirstName() == null ? "" : memberEntitys.getFirstName()); + String secondName = (memberEntitys.getSecondName() == null ? "" : memberEntitys.getSecondName()); + memberEntitys.setRealName(firstName+secondName); + } + } + return selectMemberListInPage; } @Override @@ -345,23 +411,49 @@ public IPage<MemberCoinWithdrawVo> findmemberWithdrawCoinListInPage( MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) { Page<MemberCoinWithdrawEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberCoinWithdrawVo> findmemberQuickBuySaleListInPage = memberCoinWithdrawMapper.findmemberWithdrawCoinListInPage(page, memberCoinWithdrawEntity); + List<MemberCoinWithdrawVo> records = findmemberQuickBuySaleListInPage.getRecords(); + if(records != null && records.size() > 0) { + for(MemberCoinWithdrawVo memberCoinWithdrawVo : records) { + + Long memberId = memberCoinWithdrawVo.getMemberId(); + BigDecimal amount = memberCoinWithdrawVo.getAmount(); + BigDecimal feeAmount = memberCoinWithdrawVo.getFeeAmount(); + BigDecimal subtract = amount.subtract(feeAmount); + memberCoinWithdrawVo.setRealAmount(subtract); + if("Y".equals(memberCoinWithdrawVo.getIsInside())){ + // 是内部转账 查询对应的地址 + + } + } + } return findmemberQuickBuySaleListInPage; } @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("只有等待审核的状态才能确认!"); } - + // 转币 需要扣除手续费 + amount = amount.subtract(selectById.getFeeAmount()); + if("ROC".equals(symbol) && !"Y".equals(selectById.getIsInside())){ + // 如果是ROC 则自动转 + String transfer = RocService.transfer(amount, address, "ROC"); + if(!"success".equals(transfer)){ + FebsResponse febsResponse = new FebsResponse(); + return febsResponse.fail().message(transfer); + } + } // 查询币币钱包 MemberWalletCoinEntity walletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, symbol); @@ -384,8 +476,8 @@ Long aimMemberId = selectByMap.get(0).getMemberId(); MemberWalletCoinEntity aimWalletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(aimMemberId, symbol); - BigDecimal addTotal = aimWalletCoin.getTotalBalance().add(selectById.getAmount()); - BigDecimal addAvailable = aimWalletCoin.getAvailableBalance().add(selectById.getAmount()); + BigDecimal addTotal = aimWalletCoin.getTotalBalance().add(amount); + BigDecimal addAvailable = aimWalletCoin.getAvailableBalance().add(amount); aimWalletCoin.setTotalBalance(addTotal); aimWalletCoin.setAvailableBalance(addAvailable); @@ -394,7 +486,7 @@ MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity(); memberAccountMoneyChangeEntity.setContent("收款"); memberAccountMoneyChangeEntity.setMemberId(aimMemberId); - memberAccountMoneyChangeEntity.setAmount(selectById.getAmount()); + memberAccountMoneyChangeEntity.setAmount(amount); memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER); memberAccountMoneyChangeEntity.setSymbol(selectById.getSymbol()); memberAccountMoneyChangeEntity.setType(MemberAccountMoneyChangeEntity.TYPE_WALLET_COIN); @@ -405,21 +497,44 @@ 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); + MemberEntity memberEntity = memberMapper.selectById(memberId); + String phone = memberEntity.getPhone(); + //String email = memberEntity.getEmail(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + String time = format.format(new Date()); // 将当前时间袼式化为指定的格式 + + log.info("---->{}", phone); + if(StrUtil.isNotBlank(phone)) { + Sms106Send.sendWithdrawalCoinMsg(phone, time); + } + 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"); @@ -446,7 +561,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); @@ -454,18 +569,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); @@ -496,9 +607,13 @@ selectById.setCertifyStatus(MemberEntity.CERTIFY_STATUS_Y); }else { selectById.setCertifyStatus(MemberEntity.CERTIFY_STATUS_N); + Map<String, Object> columnMap = new HashMap<>(); + columnMap.put("member_id", selectById.getId()); + memberAuthenticationMapper.deleteByMap(columnMap); } selectById.setIdcardNo(memberAuthenticationEntity.getIdcardNo()); memberMapper.updateById(selectById); + return new FebsResponse().success(); } @@ -527,8 +642,10 @@ String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealData(); //平仓总手续费 String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealData(); + //总盈亏 String rewardratioByMid = memberMapper.selectRewardratioForBasicRealData(); + //持仓人数 String notNullNumber = memberMapper.selectSFCCForBasicRealData(); //币币账户不为空的人数 @@ -542,6 +659,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)); @@ -566,6 +687,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; @@ -593,24 +715,27 @@ Long memberId = memberEntity.getId(); String walletCode = "USDT"; BigDecimal amountUsdt = memberEntity.getCoinNumber(); - + if(amountUsdt.compareTo(BigDecimal.ZERO) <= 0){ + return new FebsResponse().fail().message("金额需要大于0"); + } + MemberEntity selectById = this.baseMapper.selectById(memberId); if(ObjectUtils.isEmpty(selectById)) { - return new FebsResponse().message("用户已不存在"); + return new FebsResponse().fail().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.setContent("充值"); memberAccountMoneyChangeEntity.setMemberId(memberId); memberAccountMoneyChangeEntity.setAmount(amountUsdt); memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER); @@ -620,19 +745,698 @@ 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(); } + + @Override + public MemberInfoDetailVo selectMemberInfoDetailById(long id) { + MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id); + Long memberId = selectById.getMemberId(); + MemberInfoDetailVo memberInfoDetailVo = new MemberInfoDetailVo(); + + //USDT充币总额+USDT提币总额 + 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 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 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)); + 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; + } + + + @Override + public IPage<MemberCoinChargeVo> findmemberApplyCoinAloneInPage(MemberCoinChargeEntity memberCoinChargeEntity, + QueryRequest request) { + Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberCoinChargeVo> findmemberQuickBuySaleListInPage = memberCoinChargeMapper.findmemberApplyCoinAloneInPage(page, memberCoinChargeEntity); + List<MemberCoinChargeVo> records = findmemberQuickBuySaleListInPage.getRecords(); + if(records != null && records.size() > 0) { + 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; + } + + + @Override + public IPage<MemberCoinWithdrawVo> findMemberWithdrawCoinAloneInPage( + MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) { + Page<MemberCoinWithdrawEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + + IPage<MemberCoinWithdrawVo> findmemberQuickBuySaleListInPage = memberCoinWithdrawMapper.findMemberWithdrawCoinAloneInPage(page, memberCoinWithdrawEntity); + List<MemberCoinWithdrawVo> records = findmemberQuickBuySaleListInPage.getRecords(); + if(records != null && records.size() > 0) { + for(MemberCoinWithdrawVo memberCoinWithdrawVo : records) { + BigDecimal amount = memberCoinWithdrawVo.getAmount(); + BigDecimal feeAmount = memberCoinWithdrawVo.getFeeAmount(); + BigDecimal subtract = amount.subtract(feeAmount); + memberCoinWithdrawVo.setRealAmount(subtract); + + 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); + } + } + } + return findmemberQuickBuySaleListInPage; + } + + + @Override + public IPage<MemberEntity> findMemberAloneInPage(MemberEntity member, QueryRequest request) { + Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberEntity> selectMemberListInPage = this.baseMapper.findMemberAloneInPage(page, member); + List<MemberEntity> records = selectMemberListInPage.getRecords(); + if(records != null && records.size() > 0) { + for(MemberEntity memberEntitys : records) { + String firstName = (memberEntitys.getFirstName() == null ? "" : memberEntitys.getFirstName()); + String secondName = (memberEntitys.getSecondName() == null ? "" : memberEntitys.getSecondName()); + memberEntitys.setRealName(firstName+secondName); + } + } + return selectMemberListInPage; + } + + + @Override + public IPage<MemberDataInfoVo> findMemberDataInfoAloneDtoListInPage(MemberEntity memberEntity, + QueryRequest request) { + Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.selectMemberDataInfoDtoRealListInPageAlone(page, memberEntity); + //USDT充币总额+USDT提币总额 + String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealDataAlone(); + String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealDataAlone(); + //USDT充值总额+USDT提现总额 + String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealDataAlone(); + String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealDataAlone(); + //佣金 + String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealDataAlone(); + //开仓手续费总额 + String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealDataAlone(); + //平仓总手续费 + String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealDataAlone(); + + //总盈亏 + String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataAlone(); + + //持仓人数 + String notNullNumber = memberMapper.selectSFCCForBasicRealDataAlone(); + //币币账户不为空的人数 + String walletNumber = memberMapper.selectBBZHForBasicRealDataAlone(); + //合约账户不为空的人数 + String walletCoinNumber = memberMapper.selectHYZHForBasicRealDataAlone(); + //持仓手续费 + String doingPrice = memberMapper.selectprepriceForBasicRealDataAlone(); + + //账户金额 + 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)); + platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ)); + platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS)); + 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.setClosingPrice(closingpriceByMid == null ? "0" : closingpriceByMid); + memberDataInfoVo.setSellClosingPrice(sellClosingpriceByMid == null ? "0" : sellClosingpriceByMid); + memberDataInfoVo.setFee(returnMoneyByMid == null ? "0" : returnMoneyByMid); + memberDataInfoVo.setYingkui(rewardratioByMid == null ? "0" : rewardratioByMid); + memberDataInfoVo.setNotNullNumber(notNullNumber == null ? "0" : notNullNumber); + memberDataInfoVo.setWalletNumber(walletNumber == null ? "0" : walletNumber); + memberDataInfoVo.setWalletCoinNumber(walletCoinNumber == null ? "0" : walletCoinNumber); + memberDataInfoVo.setPlatformProfitAndLoss(platformProfitAndLoss == 0 ? "0" : platformProfitAndLoss+""); + memberDataInfoVo.setDoingPrice(doingPrice == null ? "0" : doingPrice); + 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; + } + + + @Override + public IPage<MemberDataInfoVo> findMemberDataInfoAllInPage(MemberEntity memberEntity, QueryRequest request) { + Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.selectMemberDataInfoDtoListInPage(page, memberEntity); + //USDT充币总额+USDT提币总额 + String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicData(); + String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicData(); + //USDT充值总额+USDT提现总额 + String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicData(); + String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicData(); + //佣金 + String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealData(); + //开仓手续费总额 + String closingpriceByMid = memberMapper.selectClosingpriceForBasicData(); + //平仓总手续费 + String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicData(); + + //总盈亏 + String rewardratioByMid = memberMapper.selectRewardratioForBasicData(); + + //持仓人数 + String notNullNumber = memberMapper.selectSFCCForBasicData(); + //币币账户不为空的人数 + String walletNumber = memberMapper.selectBBZHForBasicData(); + //合约账户不为空的人数 + String walletCoinNumber = memberMapper.selectHYZHForBasicData(); + //持仓手续费 + String doingPrice = memberMapper.selectprepriceForBasicData(); + + //账户金额 + 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)); + platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ)); + platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS)); + 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.setClosingPrice(closingpriceByMid == null ? "0" : closingpriceByMid); + memberDataInfoVo.setSellClosingPrice(sellClosingpriceByMid == null ? "0" : sellClosingpriceByMid); + memberDataInfoVo.setFee(returnMoneyByMid == null ? "0" : returnMoneyByMid); + memberDataInfoVo.setYingkui(rewardratioByMid == null ? "0" : rewardratioByMid); + memberDataInfoVo.setNotNullNumber(notNullNumber == null ? "0" : notNullNumber); + memberDataInfoVo.setWalletNumber(walletNumber == null ? "0" : walletNumber); + memberDataInfoVo.setWalletCoinNumber(walletCoinNumber == null ? "0" : walletCoinNumber); + memberDataInfoVo.setPlatformProfitAndLoss(platformProfitAndLoss == 0 ? "0" : platformProfitAndLoss+""); + memberDataInfoVo.setDoingPrice(doingPrice == null ? "0" : doingPrice); + 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; + } + + + @Override + public IPage<MemberDataInfoVo> findMemberDataInfoAllAloneListInPage(MemberEntity memberEntity, + QueryRequest request) { + Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.selectMemberDataInfoDtoListInPageAlone(page, memberEntity); + //USDT充币总额+USDT提币总额 + String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicAllDataAlone(); + String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicAllDataAlone(); + //USDT充值总额+USDT提现总额 + String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicAllDataAlone(); + String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicAllDataAlone(); + //佣金 + String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicAllDataAlone(); + //开仓手续费总额 + String closingpriceByMid = memberMapper.selectClosingpriceForBasicAllDataAlone(); + //平仓总手续费 + String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicAllDataAlone(); + + //总盈亏 + String rewardratioByMid = memberMapper.selectRewardratioForBasicAllDataAlone(); + + //持仓人数 + String notNullNumber = memberMapper.selectSFCCForBasicAllDataAlone(); + //币币账户不为空的人数 + String walletNumber = memberMapper.selectBBZHForBasicAllDataAlone(); + //合约账户不为空的人数 + String walletCoinNumber = memberMapper.selectHYZHForBasicAllDataAlone(); + //持仓手续费 + String doingPrice = memberMapper.selectprepriceForBasicAllDataAlone(); + + //账户金额 + 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)); + platformProfitAndLoss = platformProfitAndLoss + (totalAmountUsdtCZ == null ? 0 : Double.parseDouble(totalAmountUsdtCZ)); + platformProfitAndLoss = platformProfitAndLoss - (totalAmountUsdtS == null ? 0 : Double.parseDouble(totalAmountUsdtS)); + 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.setClosingPrice(closingpriceByMid == null ? "0" : closingpriceByMid); + memberDataInfoVo.setSellClosingPrice(sellClosingpriceByMid == null ? "0" : sellClosingpriceByMid); + memberDataInfoVo.setFee(returnMoneyByMid == null ? "0" : returnMoneyByMid); + memberDataInfoVo.setYingkui(rewardratioByMid == null ? "0" : rewardratioByMid); + memberDataInfoVo.setNotNullNumber(notNullNumber == null ? "0" : notNullNumber); + memberDataInfoVo.setWalletNumber(walletNumber == null ? "0" : walletNumber); + memberDataInfoVo.setWalletCoinNumber(walletCoinNumber == null ? "0" : walletCoinNumber); + memberDataInfoVo.setPlatformProfitAndLoss(platformProfitAndLoss == 0 ? "0" : platformProfitAndLoss+""); + memberDataInfoVo.setDoingPrice(doingPrice == null ? "0" : doingPrice); + 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; + } + + + @Override + public IPage<MemberEntity> findMemberListTestInPage(MemberEntity member, QueryRequest request) { + Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberEntity> selectMemberListInPage = this.baseMapper.findMemberListTestInPage(page, member); + List<MemberEntity> records = selectMemberListInPage.getRecords(); + if(records != null && records.size() > 0) { + for(MemberEntity memberEntitys : records) { + String firstName = (memberEntitys.getFirstName() == null ? "" : memberEntitys.getFirstName()); + String secondName = (memberEntitys.getSecondName() == null ? "" : memberEntitys.getSecondName()); + memberEntitys.setRealName(firstName+secondName); + } + } + return selectMemberListInPage; + } + + + @Override + public IPage<MemberCoinWithdrawVo> findMemberWithdrawCoinTestListInPage( + MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) { + Page<MemberCoinWithdrawEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + + IPage<MemberCoinWithdrawVo> findmemberQuickBuySaleListInPage = memberCoinWithdrawMapper.findMemberWithdrawCoinTestListInPage(page, memberCoinWithdrawEntity); + List<MemberCoinWithdrawVo> records = findmemberQuickBuySaleListInPage.getRecords(); + if(records != null && records.size() > 0) { + for(MemberCoinWithdrawVo memberCoinWithdrawVo : records) { + BigDecimal amount = memberCoinWithdrawVo.getAmount(); + BigDecimal feeAmount = memberCoinWithdrawVo.getFeeAmount(); + BigDecimal subtract = amount.subtract(feeAmount); + memberCoinWithdrawVo.setRealAmount(subtract); + + 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); + } + } + } + return findmemberQuickBuySaleListInPage; + } + + + @Override + public IPage<MemberCoinChargeVo> findMemberApplyCoinAloneTestInPage(MemberCoinChargeEntity memberCoinChargeEntity, + QueryRequest request) { + Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberCoinChargeVo> findmemberQuickBuySaleListInPage = memberCoinChargeMapper.findMemberApplyCoinAloneTestInPage(page, memberCoinChargeEntity); + List<MemberCoinChargeVo> records = findmemberQuickBuySaleListInPage.getRecords(); + if(records != null && records.size() > 0) { + 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; + } + + + @Override + public IPage<MemberEntity> findMemberAloneTestInPage(MemberEntity member, QueryRequest request) { + Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberEntity> selectMemberListInPage = this.baseMapper.findMemberAloneTestInPage(page, member); + List<MemberEntity> records = selectMemberListInPage.getRecords(); + if(records != null && records.size() > 0) { + for(MemberEntity memberEntitys : records) { + String firstName = (memberEntitys.getFirstName() == null ? "" : memberEntitys.getFirstName()); + String secondName = (memberEntitys.getSecondName() == null ? "" : memberEntitys.getSecondName()); + memberEntitys.setRealName(firstName+secondName); + } + } + return selectMemberListInPage; + } + + + @Override + public IPage<MemberDataInfoVo> findMemberDataInfoAloneTestDtoListInPage(MemberEntity memberEntity, + QueryRequest request) { + Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.findMemberDataInfoAloneTestDtoListInPage(page, memberEntity); + //USDT充币总额+USDT提币总额 + String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealTestDataAlone(); + String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealTestDataAlone(); + + //USDT充值总额+USDT提现总额 + String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealTestDataAlone(); + String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealTestDataAlone(); + //佣金 + String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealTestDataAlone(); + //开仓手续费总额 + String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealTestDataAlone(); + //平仓总手续费 + String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealTestDataAlone(); + + //总盈亏 + String rewardratioByMid = memberMapper.selectRewardratioForBasicRealTestDataAlone(); + + //持仓人数 + String notNullNumber = memberMapper.selectSFCCForBasicRealTestDataAlone(); + //币币账户不为空的人数 + String walletNumber = memberMapper.selectBBZHForBasicRealTestDataAlone(); + //合约账户不为空的人数 + String walletCoinNumber = memberMapper.selectHYZHForBasicRealTestDataAlone(); + //持仓手续费 + String doingPrice = memberMapper.selectprepriceForBasicRealTestDataAlone(); + + //账户金额 + 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)-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)-6780)); + memberDataInfoVo.setClosingPrice(closingpriceByMid == null ? "0" : closingpriceByMid); + memberDataInfoVo.setSellClosingPrice(sellClosingpriceByMid == null ? "0" : sellClosingpriceByMid); + memberDataInfoVo.setFee(returnMoneyByMid == null ? "0" : returnMoneyByMid); + memberDataInfoVo.setYingkui(rewardratioByMid == null ? "0" : rewardratioByMid); + memberDataInfoVo.setNotNullNumber(notNullNumber == null ? "0" : notNullNumber); + memberDataInfoVo.setWalletNumber(walletNumber == null ? "0" : walletNumber); + memberDataInfoVo.setWalletCoinNumber(walletCoinNumber == null ? "0" : walletCoinNumber); + memberDataInfoVo.setPlatformProfitAndLoss(platformProfitAndLoss == 0 ? "0" : platformProfitAndLoss+""); + memberDataInfoVo.setDoingPrice(doingPrice == null ? "0" : doingPrice); + 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; + } + + + @Override + public IPage<MemberDataInfoVo> findMemberDataInfoAllAloneTestListInPage(MemberEntity memberEntity, + QueryRequest request) { + Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.findMemberDataInfoAllAloneTestListInPage(page, memberEntity); + //USDT充币总额+USDT提币总额 + String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForBasicRealTestAllDataAlone(); + String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealTestAllDataAlone(); + //USDT充值总额+USDT提现总额 + String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealTestAllDataAlone(); + String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealTestAllDataAlone(); + //佣金 + String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealTestAllDataAlone(); + //开仓手续费总额 + String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealTestAllDataAlone(); + //平仓总手续费 + String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealTestAllDataAlone(); + + //总盈亏 + String rewardratioByMid = memberMapper.selectRewardratioForBasicRealTestAllDataAlone(); + + //持仓人数 + String notNullNumber = memberMapper.selectSFCCForBasicRealTestAllDataAlone(); + //币币账户不为空的人数 + String walletNumber = memberMapper.selectBBZHForBasicRealTestAllDataAlone(); + //合约账户不为空的人数 + String walletCoinNumber = memberMapper.selectHYZHForBasicRealTestAllDataAlone(); + //持仓手续费 + String doingPrice = memberMapper.selectprepriceForBasicRealTestAllDataAlone(); + + //账户金额 + String walletNum = memberMapper.selectBBZCForBasicRealTestAllDataAlone(); + String walletCoinNum = memberMapper.selectHYZCForBasicRealTestAllDataAlone(); + String agentNum = memberMapper.selectDLZCForBasicRealTestAllDataAlone(); + 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)-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)-6780)); + memberDataInfoVo.setClosingPrice(closingpriceByMid == null ? "0" : closingpriceByMid); + memberDataInfoVo.setSellClosingPrice(sellClosingpriceByMid == null ? "0" : sellClosingpriceByMid); + memberDataInfoVo.setFee(returnMoneyByMid == null ? "0" : returnMoneyByMid); + memberDataInfoVo.setYingkui(rewardratioByMid == null ? "0" : rewardratioByMid); + memberDataInfoVo.setNotNullNumber(notNullNumber == null ? "0" : notNullNumber); + memberDataInfoVo.setWalletNumber(walletNumber == null ? "0" : walletNumber); + memberDataInfoVo.setWalletCoinNumber(walletCoinNumber == null ? "0" : walletCoinNumber); + memberDataInfoVo.setPlatformProfitAndLoss(platformProfitAndLoss == 0 ? "0" : platformProfitAndLoss+""); + memberDataInfoVo.setDoingPrice(doingPrice == null ? "0" : doingPrice); + 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; + } + + + @Override + 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"); + 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 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 doingPrice = memberMapper.selectprepriceForBasicRealDataBymemberId(memberId); +// memberInfoDetailVo.setDoingPrice(doingPrice == null ? 0 : Double.parseDouble(doingPrice)); + + //账户金额 + String walletNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"USDT"); + String walletNumRoc = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"ROC"); + String bzzNum = memberMapper.selectBBZCForBasicRealDataBymemberId(memberId,"BZZ"); + memberInfoDetailVo.setWalletCoinNum(walletNum == null ? 0 : Double.parseDouble(walletNum)); + memberInfoDetailVo.setWalletCoinNumRoc(walletNumRoc == null ? 0 : Double.parseDouble(walletNumRoc)); + memberInfoDetailVo.setBzzNum(bzzNum == null ? 0 : Double.parseDouble(bzzNum)); + //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; + } + + + @Override + public IPage<MemberEntity> memberDataInfoListSearchs(MemberEntity member, QueryRequest request) { + + Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); + IPage<MemberEntity> selectMemberListInPage = this.baseMapper.selectDataInfoListSearchs(page, member); + List<MemberEntity> records = selectMemberListInPage.getRecords(); + Set<MemberEntity> set = new HashSet<>(); + if(CollUtil.isNotEmpty(records)) { + if(StrUtil.isNotBlank(member.getAccount())) { + MemberEntity memberEntity = records.get(0); + //当前查询下级关系 + String inviteId = memberEntity.getInviteId(); + List<MemberEntity> members = memberMapper.selectMemberDataInfoListSearchs(inviteId); + if(CollUtil.isNotEmpty(members)) { + for(MemberEntity semberEntity : members) { + set.add(semberEntity); + } + } + //当前查询上级关系 + String refererIds = memberEntity.getRefererIds(); + String[] strs = refererIds.split(","); + if(ObjectUtil.isNotEmpty(strs)) { + for(int i=0,len=strs.length;i<len;i++){ + String string = strs[i].toString(); + if(StrUtil.isNotEmpty(string)) { + MemberEntity mem = memberMapper.selectMemberByInviteId(string); + set.add(mem); + } + } + } + } + if(set.size() > 0) { + records.addAll(set); + } + } + 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