xiaoyong931011
2021-01-21 c3d290fcd993ea844ffecb8bdd7ce2105fec3d0e
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -1,39 +1,2185 @@
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.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.service.IMemberService;
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;
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;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
 * @author wzy
 * @date 2020-06-10
 **/
@Slf4j
@Service
@RequiredArgsConstructor
public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberEntity> implements IMemberService {
   
   private final MemberMapper memberMapper;
   private final MemberQuickBuySaleMapper memberQuickBuySaleMapper;
   private final MemberWalletCoinMapper memberWalletCoinMapper;
   private final MemberAccountMoneyChangeMapper memberAccountMoneyChangeMapper;
   private final MemberCoinChargeMapper memberCoinChargeMapper;
   private final MemberCoinWithdrawMapper memberCoinWithdrawMapper;
   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
    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
   public IPage<MemberQuickBuySaleEntity> findmemberQuickBuySaleListInPage(
   public IPage<MemberQuickBuySaleVo> findmemberQuickBuySaleListInPage(
         MemberQuickBuySaleEntity memberQuickBuySaleEntity, QueryRequest request) {
      Page<MemberQuickBuySaleEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
        return memberQuickBuySaleMapper.findmemberQuickBuySaleListInPage(page, memberQuickBuySaleEntity);
      IPage<MemberQuickBuySaleVo> findmemberQuickBuySaleListInPage = memberQuickBuySaleMapper.findmemberQuickBuySaleListInPage(page, memberQuickBuySaleEntity);
        return findmemberQuickBuySaleListInPage;
    }
   @Override
   @Transactional(rollbackFor = Exception.class)
   public FebsResponse memberChargeUsdtConfirm(Long id) {
      MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
      if(!MemberQuickBuySaleEntity.CHARGE_STATUS_PAID.equals(memberQuickBuySaleEntity.getOrderStatus())) {
         return new FebsResponse().message("只允许已付款状态操作");
      }
      Long memberId = memberQuickBuySaleEntity.getMemberId();
      BigDecimal amountUsdt = memberQuickBuySaleEntity.getAmountUsdt();
      String walletCode = "USDT";
      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);
      // 更新状态
      memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CHECKED);
      memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity);
       //添加币币资金划转历史记录
      MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
        memberAccountMoneyChangeEntity.setContent("OTC转入");
        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();
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   public FebsResponse memberChargeUsdtCancel(@NotNull(message = "{required}") Long id) {
      MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
      if(MemberQuickBuySaleEntity.CHARGE_STATUS_CHECKED.equals(memberQuickBuySaleEntity.getOrderStatus())
            || MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_USER.equals(memberQuickBuySaleEntity.getOrderStatus())
            || MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_SYSTEM.equals(memberQuickBuySaleEntity.getOrderStatus())) {
         return new FebsResponse().message("不允许系统撤单操作");
      }
      memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_SYSTEM);
      memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity);
      return new FebsResponse().success();
   }
   @Override
   public IPage<MemberQuickSaleVo> findmemberQuickSaleListInPage(MemberQuickBuySaleEntity memberQuickBuySaleEntity,
         QueryRequest request) {
      Page<MemberQuickBuySaleEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberQuickSaleVo> findmemberQuickBuySaleListInPage = memberQuickBuySaleMapper.findmemberQuickSaleListInPage(page, memberQuickBuySaleEntity);
        return findmemberQuickBuySaleListInPage;
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   public FebsResponse memberExtractUsdtCancel(@NotNull(message = "{required}") Long id) {
      MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
      if(!MemberQuickBuySaleEntity.CHARGE_STATUS_CREATE.equals(memberQuickBuySaleEntity.getOrderStatus())) {
         return new FebsResponse().message("只允许待付款状态操作");
      }
      Long memberId = memberQuickBuySaleEntity.getMemberId();
      BigDecimal amountUsdt = memberQuickBuySaleEntity.getAmountUsdt();
      String walletCode = "USDT";
      MemberEntity selectById = this.baseMapper.selectById(memberId);
      if(ObjectUtils.isEmpty(selectById)) {
         return new FebsResponse().message("用户已不存在");
      }
      //获取币币钱包
      MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode);
      BigDecimal frozenBalance = memberWalletCoinEntity.getFrozenBalance();
      BigDecimal availableBalance = memberWalletCoinEntity.getAvailableBalance();
      BigDecimal totalBalance = memberWalletCoinEntity.getTotalBalance();
      memberWalletCoinEntity.setFrozenBalance(frozenBalance.subtract(amountUsdt));
      memberWalletCoinEntity.setAvailableBalance(availableBalance.add(amountUsdt));
      memberWalletCoinEntity.setTotalBalance(totalBalance.add(amountUsdt));
      // 更新
      memberWalletCoinMapper.updateById(memberWalletCoinEntity);
      // 更新状态
      memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_CANCEL_SYSTEM);
      memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity);
        /**
         * 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
   @Transactional(rollbackFor = Exception.class)
   public FebsResponse memberExtractUsdtConfirm(@NotNull(message = "{required}") Long id) {
      MemberQuickBuySaleEntity memberQuickBuySaleEntity = memberQuickBuySaleMapper.selectById(id);
      if(!MemberQuickBuySaleEntity.CHARGE_STATUS_CREATE.equals(memberQuickBuySaleEntity.getOrderStatus())) {
         return new FebsResponse().message("只允许待付款状态操作");
      }
      Long memberId = memberQuickBuySaleEntity.getMemberId();
      BigDecimal amountUsdt = memberQuickBuySaleEntity.getAmountUsdt();
      String walletCode = "USDT";
      MemberEntity selectById = this.baseMapper.selectById(memberId);
      if(ObjectUtils.isEmpty(selectById)) {
         return new FebsResponse().message("用户已不存在");
      }
      //获取币币钱包
      MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId,walletCode);
      BigDecimal frozenBalance = memberWalletCoinEntity.getFrozenBalance();
      memberWalletCoinEntity.setFrozenBalance(frozenBalance.subtract(amountUsdt));
      memberWalletCoinMapper.updateById(memberWalletCoinEntity);
      memberQuickBuySaleEntity.setOrderStatus(MemberQuickBuySaleEntity.CHARGE_STATUS_PAID);
      memberQuickBuySaleMapper.updateById(memberQuickBuySaleEntity);
      //添加币币资金划转历史记录
      MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
      memberAccountMoneyChangeEntity.setContent("提现");
      memberAccountMoneyChangeEntity.setMemberId(memberId);
      memberAccountMoneyChangeEntity.setAmount(amountUsdt);
      memberAccountMoneyChangeEntity.setStatus(MemberAccountMoneyChangeEntity.STATUS_SUCCESS_INTEGER);
      memberAccountMoneyChangeEntity.setSymbol(walletCode);
      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);
      /**
      SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        String chargeTime = format.format(memberQuickBuySaleEntity.getUpdateTime()); // 将当前时间袼式化为指定的格式
        String usdt = amountUsdt+"USDT";
      //发送短信提醒
      String smsContent = "【Excoin】尊敬的用户您好!您于"+chargeTime+"提现"+usdt+"已成功到账,请您及时查收!订单号为:"+memberQuickBuySaleEntity.getOrderCode()+"。";
      SmsUtils.hxSmsSend(selectById.getPhone(), smsContent);
       *
       */
      return new FebsResponse().success();
   }
   @Override
   public IPage<MemberCoinChargeVo> findMemberApplyCoinListInPage(MemberCoinChargeEntity memberCoinChargeEntity,
         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;
   }
   @Override
   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();
            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);
            memberCoinWithdrawVo.setRealAmount(subtract);
         }
      }
        return findmemberQuickBuySaleListInPage;
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   public FebsResponse memberWithdrawCoinConfirm(@NotNull(message = "{required}") Long id) {
      MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id);
      Long memberId = selectById.getMemberId();
      String symbol = selectById.getSymbol();
      String address = selectById.getAddress();
      int status = selectById.getStatus();
      if(status != 1) {
         return new FebsResponse().fail().message("只有等待审核的状态才能确认!");
      }
      // 查询币币钱包
      MemberWalletCoinEntity walletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, symbol);
      BigDecimal total = walletCoin.getTotalBalance().subtract(selectById.getAmount()).subtract(selectById.getFeeAmount());
      walletCoin.setTotalBalance(total);
      BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount());
      walletCoin.setFrozenBalance(frozen);
      memberWalletCoinMapper.updateById(walletCoin);
      if ("Y".equals(selectById.getIsInside())) {
         Map<String, Object> columnMap = new HashMap<>();
         columnMap.put("symbol", symbol);
         columnMap.put("address", address);
         // 如果是内部转账 则需要将币加到内部地址
         List<MemberCoinAddressEntity> selectByMap = memberCoinAddressMapper.selectByMap(columnMap);
         if(selectByMap == null || selectByMap.isEmpty()) {
            return new FebsResponse().fail().message("地址有误,请拒绝!");
         }
         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());
         aimWalletCoin.setTotalBalance(addTotal);
         aimWalletCoin.setAvailableBalance(addAvailable);
         memberWalletCoinMapper.updateById(aimWalletCoin);
         MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity = new MemberAccountMoneyChangeEntity();
         memberAccountMoneyChangeEntity.setContent("收款");
         memberAccountMoneyChangeEntity.setMemberId(aimMemberId);
         memberAccountMoneyChangeEntity.setAmount(selectById.getAmount());
         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);
      }
      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.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);
      }
      /**
      //短信提醒
       SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
         String chargeTime = format.format(new Date()); // 将当前时间袼式化为指定的格式
         String usdt = selectById.getAmount()+"USDT";
        * 发送短信提醒   todo
       String smsContent = "【Excoin】尊敬的用户您好!您于"+chargeTime+"提现"+usdt+"已成功到账,请您及时查收!";
       SmsUtils.hxSmsSend(member.getPhone(), smsContent);
        */
         return new FebsResponse().success();
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   public FebsResponse memberWithdrawCoinCancel(@NotNull(message = "{required}") Long id) {
      MemberCoinWithdrawEntity selectById = memberCoinWithdrawMapper.selectById(id);
      Long memberId = selectById.getMemberId();
      String symbol = selectById.getSymbol();
      int status = selectById.getStatus();
      if(status != 1) {
         return new FebsResponse().fail().message("只有等待审核的状态才能拒绝!");
      }
      // 查询币币钱包
      MemberWalletCoinEntity walletCoin = memberWalletCoinMapper.findWalletCoinByMemberIdAndWalletCode(memberId, symbol);
      BigDecimal available = walletCoin.getAvailableBalance().add(selectById.getAmount());
      walletCoin.setAvailableBalance(available);
      BigDecimal frozen = walletCoin.getFrozenBalance().subtract(selectById.getAmount());
      walletCoin.setFrozenBalance(frozen);
      memberWalletCoinMapper.updateById(walletCoin);
      // 提币退款记录
      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.setAmount(selectById.getAmount());
      memberAccountMoneyChangeMapper.updateById(memberAccountMoneyChangeEntity);
      selectById.setStatus(MemberCoinWithdrawEntity.IS_STATUS_N);
      memberCoinWithdrawMapper.updateById(selectById);
      return new FebsResponse().success();
   }
   @Override
   public MemberAuthenticationVo selectMemberAuthenticationById(long id) {
      MemberAuthenticationVo memberAuthenticationEntity = memberAuthenticationMapper.findMemberAuthenticationByMemberId(id);
      String firstName = memberAuthenticationEntity.getFirstName();
      String secondName = memberAuthenticationEntity.getSecondName();
      memberAuthenticationEntity.setRealName(firstName+"-"+secondName);
      return memberAuthenticationEntity;
   }
   @Override
   @Transactional(rollbackFor = Exception.class)
   public FebsResponse memberDetailConfirm(@Valid MemberDetailConfirmDto memberDetailConfirmDto) {
      Long id = memberDetailConfirmDto.getId();
      MemberEntity selectById = memberMapper.selectById(id);
      Integer certifyStatus = selectById.getCertifyStatus();
      if(!MemberEntity.CERTIFY_STATUS_ING.equals(certifyStatus)) {
         return new FebsResponse().fail().message("只有【待审核】状态才能提交!");
      }
      MemberAuthenticationVo memberAuthenticationEntity = memberAuthenticationMapper.findMemberAuthenticationByMemberId(id);
      if(memberDetailConfirmDto.getIsok() == 1) {
         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();
   }
   @Override
   public List<MemberCoinChargeEntity> selectMemberDataInfoById(long id) {
      Map<String, Object> columnMap = new HashMap<>();
      columnMap.put("member_id", id);
      List<MemberCoinChargeEntity> selectByMap = memberCoinChargeMapper.selectByMap(columnMap);
      return selectByMap;
   }
   @Override
   public IPage<MemberDataInfoVo> findMemberDataInfoDtoListInPage(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.selectTotalAmountUsdtBForBasicRealData();
       String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForBasicRealData();
       //USDT充值总额+USDT提现总额
       String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForBasicRealData();
       String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForBasicRealData();
      //佣金
      String returnMoneyByMid = memberMapper.selectReturnMoneyForBasicRealData();
      //开仓手续费总额
      String closingpriceByMid = memberMapper.selectClosingpriceForBasicRealData();
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForBasicRealData();
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForBasicRealData();
      //持仓人数
      String notNullNumber = memberMapper.selectSFCCForBasicRealData();
      //币币账户不为空的人数
      String walletNumber = memberMapper.selectBBZHForBasicRealData();
      //合约账户不为空的人数
      String walletCoinNumber = memberMapper.selectHYZHForBasicRealData();
      //持仓手续费
      String doingPrice = memberMapper.selectprepriceForBasicRealData();
      //账户金额
      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));
      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 MemberEntity selectMemberByid(long id) {
      MemberEntity selectById = memberMapper.selectById(id);
      return selectById;
   }
   @Override
   public FebsResponse memberDataInfoList(@NotNull(message = "{required}") long id) {
      Map<String, Object> columnMap = new HashMap<>();
      columnMap.put("member_id", id);
      columnMap.put("STATUS", 2);
      List<MemberCoinWithdrawEntity> selectByMap = memberCoinWithdrawMapper.selectByMap(columnMap);
      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();
   }
   @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);
       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 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);
      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));
      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);
       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 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);
      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));
      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 IPage<MemberCoinChargeVo> findMemberApplyCoinOneInPage(MemberCoinChargeEntity memberCoinChargeEntity,
         QueryRequest request) {
      Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberCoinChargeVo> findmemberQuickBuySaleListInPage = memberCoinChargeMapper.findMemberApplyCoinOneInPage(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<MemberCoinChargeVo> findMemberApplyCoinTwoInPage(MemberCoinChargeEntity memberCoinChargeEntity,
         QueryRequest request) {
      Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberCoinChargeVo> findmemberQuickBuySaleListInPage = memberCoinChargeMapper.findMemberApplyCoinTwoInPage(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<MemberCoinChargeVo> findMemberApplyCoinTeeInPage(MemberCoinChargeEntity memberCoinChargeEntity,
         QueryRequest request) {
      Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberCoinChargeVo> findmemberQuickBuySaleListInPage = memberCoinChargeMapper.findMemberApplyCoinTeeInPage(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<MemberCoinChargeVo> findMemberApplyCoinOneAllInPage(MemberCoinChargeEntity memberCoinChargeEntity,
         QueryRequest request) {
      Page<MemberCoinChargeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberCoinChargeVo> findmemberQuickBuySaleListInPage = memberCoinChargeMapper.findMemberApplyCoinOneAllInPage(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> findMemberWithdrawCoinOneInPage(
         MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) {
      Page<MemberCoinWithdrawEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberCoinWithdrawVo> findmemberQuickBuySaleListInPage = memberCoinWithdrawMapper.findMemberWithdrawCoinOneInPage(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<MemberCoinWithdrawVo> findMemberWithdrawCoinTwoInPage(
         MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) {
      Page<MemberCoinWithdrawEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberCoinWithdrawVo> findmemberQuickBuySaleListInPage = memberCoinWithdrawMapper.findMemberWithdrawCoinTwoInPage(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<MemberCoinWithdrawVo> findMemberWithdrawCoinTeeInPage(
         MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) {
      Page<MemberCoinWithdrawEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberCoinWithdrawVo> findmemberQuickBuySaleListInPage = memberCoinWithdrawMapper.findMemberWithdrawCoinTeeInPage(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<MemberCoinWithdrawVo> findMemberWithdrawCoinAllOneInPage(
         MemberCoinWithdrawEntity memberCoinWithdrawEntity, QueryRequest request) {
      Page<MemberCoinWithdrawEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberCoinWithdrawVo> findmemberQuickBuySaleListInPage = memberCoinWithdrawMapper.findMemberWithdrawCoinAllOneInPage(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<MemberDataInfoVo> findMemberDataInfoOneInPage(MemberEntity memberEntity, QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.findMemberDataInfoOneInPage(page, memberEntity);
      //USDT充币总额+USDT提币总额
       String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForDataInfoOne();
       String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForDataInfoOne();
       String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForDataInfoOne();
       String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForDataInfoOne();
      //佣金
      String returnMoneyByMid = memberMapper.selectReturnMoneyForDataInfoOne();
      //开仓手续费总额
      String closingpriceByMid = memberMapper.selectClosingpriceForDataInfoOne();
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForDataInfoOne();
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForDataInfoOne();
      //持仓人数
      String notNullNumber = memberMapper.selectSFCCForDataInfoOne();
      //币币账户不为空的人数
      String walletNumber = memberMapper.selectBBZHForDataInfoOne();
      //合约账户不为空的人数
      String walletCoinNumber = memberMapper.selectHYZHForDataInfoOne();
      //持仓手续费
      String doingPrice = memberMapper.selectprepriceForDataInfoOne();
      //账户金额
      String walletNum = memberMapper.selectBBZCForDataInfoOne();
      String walletCoinNum = memberMapper.selectHYZCForDataInfoOne();
      String agentNum = memberMapper.selectDLZCForDataInfoOne();
      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> findMemberDataInfoOneRealInPage(MemberEntity memberEntity, QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.findMemberDataInfoOneRealInPage(page, memberEntity);
      //USDT充币总额+USDT提币总额
       String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForDataInfoOneReal();
       String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForDataInfoOneReal();
       String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForDataInfoOneReal();
       String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForDataInfoOneReal();
      //佣金
      String returnMoneyByMid = memberMapper.selectReturnMoneyForDataInfoOneReal();
      //开仓手续费总额
      String closingpriceByMid = memberMapper.selectClosingpriceForDataInfoOneReal();
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForDataInfoOneReal();
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForDataInfoOneReal();
      //持仓人数
      String notNullNumber = memberMapper.selectSFCCForDataInfoOneReal();
      //币币账户不为空的人数
      String walletNumber = memberMapper.selectBBZHForDataInfoOneReal();
      //合约账户不为空的人数
      String walletCoinNumber = memberMapper.selectHYZHForDataInfoOneReal();
      //持仓手续费
      String doingPrice = memberMapper.selectprepriceForDataInfoOneReal();
      //账户金额
      String walletNum = memberMapper.selectBBZCForDataInfoOneReal();
      String walletCoinNum = memberMapper.selectHYZCForDataInfoOneReal();
      String agentNum = memberMapper.selectDLZCForDataInfoOneReal();
      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> findMemberDataInfoTwoInPage(MemberEntity memberEntity, QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.findMemberDataInfoTwoInPage(page, memberEntity);
      //USDT充币总额+USDT提币总额
       String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForDataInfoTwo();
       String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForDataInfoTwo();
       String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForDataInfoTwo();
       String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForDataInfoTwo();
      //佣金
      String returnMoneyByMid = memberMapper.selectReturnMoneyForDataInfoTwo();
      //开仓手续费总额
      String closingpriceByMid = memberMapper.selectClosingpriceForDataInfoTwo();
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForDataInfoTwo();
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForDataInfoTwo();
      //持仓人数
      String notNullNumber = memberMapper.selectSFCCForDataInfoTwo();
      //币币账户不为空的人数
      String walletNumber = memberMapper.selectBBZHForDataInfoTwo();
      //合约账户不为空的人数
      String walletCoinNumber = memberMapper.selectHYZHForDataInfoTwo();
      //持仓手续费
      String doingPrice = memberMapper.selectprepriceForDataInfoTwo();
      //账户金额
      String walletNum = memberMapper.selectBBZCForDataInfoTwo();
      String walletCoinNum = memberMapper.selectHYZCForDataInfoTwo();
      String agentNum = memberMapper.selectDLZCForDataInfoTwo();
      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> findMemberDataInfoTwoRealInPage(MemberEntity memberEntity, QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.findMemberDataInfoTwoRealInPage(page, memberEntity);
      //USDT充币总额+USDT提币总额
       String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForDataInfoTwoReal();
       String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForDataInfoTwoReal();
       String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForDataInfoTwoReal();
       String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForDataInfoTwoReal();
      //佣金
      String returnMoneyByMid = memberMapper.selectReturnMoneyForDataInfoTwoReal();
      //开仓手续费总额
      String closingpriceByMid = memberMapper.selectClosingpriceForDataInfoTwoReal();
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForDataInfoTwoReal();
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForDataInfoTwoReal();
      //持仓人数
      String notNullNumber = memberMapper.selectSFCCForDataInfoTwoReal();
      //币币账户不为空的人数
      String walletNumber = memberMapper.selectBBZHForDataInfoTwoReal();
      //合约账户不为空的人数
      String walletCoinNumber = memberMapper.selectHYZHForDataInfoTwoReal();
      //持仓手续费
      String doingPrice = memberMapper.selectprepriceForDataInfoTwoReal();
      //账户金额
      String walletNum = memberMapper.selectBBZCForDataInfoTwoReal();
      String walletCoinNum = memberMapper.selectHYZCForDataInfoTwoReal();
      String agentNum = memberMapper.selectDLZCForDataInfoTwoReal();
      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> findMemberDataInfoTeeInPage(MemberEntity memberEntity, QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.findMemberDataInfoTeeInPage(page, memberEntity);
      //USDT充币总额+USDT提币总额
       String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForDataInfoTee();
       String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForDataInfoTee();
       String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForDataInfoTee();
       String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForDataInfoTee();
      //佣金
      String returnMoneyByMid = memberMapper.selectReturnMoneyForDataInfoTee();
      //开仓手续费总额
      String closingpriceByMid = memberMapper.selectClosingpriceForDataInfoTee();
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForDataInfoTee();
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForDataInfoTee();
      //持仓人数
      String notNullNumber = memberMapper.selectSFCCForDataInfoTee();
      //币币账户不为空的人数
      String walletNumber = memberMapper.selectBBZHForDataInfoTee();
      //合约账户不为空的人数
      String walletCoinNumber = memberMapper.selectHYZHForDataInfoTee();
      //持仓手续费
      String doingPrice = memberMapper.selectprepriceForDataInfoTee();
      //账户金额
      String walletNum = memberMapper.selectBBZCForDataInfoTee();
      String walletCoinNum = memberMapper.selectHYZCForDataInfoTee();
      String agentNum = memberMapper.selectDLZCForDataInfoTee();
      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> findMemberDataInfoTeeRealInPage(MemberEntity memberEntity, QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.findMemberDataInfoTeeRealInPage(page, memberEntity);
      //USDT充币总额+USDT提币总额
       String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForDataInfoTeeReal();
       String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForDataInfoTeeReal();
       String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForDataInfoTeeReal();
       String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForDataInfoTeeReal();
      //佣金
      String returnMoneyByMid = memberMapper.selectReturnMoneyForDataInfoTeeReal();
      //开仓手续费总额
      String closingpriceByMid = memberMapper.selectClosingpriceForDataInfoTeeReal();
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForDataInfoTeeReal();
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForDataInfoTeeReal();
      //持仓人数
      String notNullNumber = memberMapper.selectSFCCForDataInfoTeeReal();
      //币币账户不为空的人数
      String walletNumber = memberMapper.selectBBZHForDataInfoTeeReal();
      //合约账户不为空的人数
      String walletCoinNumber = memberMapper.selectHYZHForDataInfoTeeReal();
      //持仓手续费
      String doingPrice = memberMapper.selectprepriceForDataInfoTeeReal();
      //账户金额
      String walletNum = memberMapper.selectBBZCForDataInfoTeeReal();
      String walletCoinNum = memberMapper.selectHYZCForDataInfoTeeReal();
      String agentNum = memberMapper.selectDLZCForDataInfoTeeReal();
      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> findMemberDataInfoOneAllInPage(MemberEntity memberEntity, QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.findMemberDataInfoOneAllInPage(page, memberEntity);
      //USDT充币总额+USDT提币总额
       String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForDataInfoOneAll();
       String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForDataInfoOneAll();
       String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForDataInfoOneAll();
       String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForDataInfoOneAll();
      //佣金
      String returnMoneyByMid = memberMapper.selectReturnMoneyForDataInfoOneAll();
      //开仓手续费总额
      String closingpriceByMid = memberMapper.selectClosingpriceForDataInfoOneAll();
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForDataInfoOneAll();
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForDataInfoOneAll();
      //持仓人数
      String notNullNumber = memberMapper.selectSFCCForDataInfoOneAll();
      //币币账户不为空的人数
      String walletNumber = memberMapper.selectBBZHForDataInfoOneAll();
      //合约账户不为空的人数
      String walletCoinNumber = memberMapper.selectHYZHForDataInfoOneAll();
      //持仓手续费
      String doingPrice = memberMapper.selectprepriceForDataInfoOneAll();
      //账户金额
      String walletNum = memberMapper.selectBBZCForDataInfoOneAll();
      String walletCoinNum = memberMapper.selectHYZCForDataInfoOneAll();
      String agentNum = memberMapper.selectDLZCForDataInfoOneAll();
      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> findMemberDataInfoOneAllRealInPage(MemberEntity memberEntity, QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberDataInfoVo> selectMemberListInPage = memberMapper.findMemberDataInfoOneAllRealInPage(page, memberEntity);
      //USDT充币总额+USDT提币总额
       String totalAmountUsdtB = memberMapper.selectTotalAmountUsdtBForDataInfoOneAllReal();
       String totalAmountUsdtS = memberMapper.selectTotalAmountUsdtSForDataInfoOneAllReal();
       String totalAmountUsdtCZ = memberMapper.selectTotalAmountUsdtCZForDataInfoOneAllReal();
       String totalAmountUsdtTX = memberMapper.selectTotalAmountUsdtTXForDataInfoOneAllReal();
      //佣金
      String returnMoneyByMid = memberMapper.selectReturnMoneyForDataInfoOneAllReal();
      //开仓手续费总额
      String closingpriceByMid = memberMapper.selectClosingpriceForDataInfoOneAllReal();
      //平仓总手续费
      String sellClosingpriceByMid = memberMapper.selectSellClosingpriceForDataInfoOneAllReal();
      //总盈亏
      String rewardratioByMid = memberMapper.selectRewardratioForDataInfoOneAllReal();
      //持仓人数
      String notNullNumber = memberMapper.selectSFCCForDataInfoOneAllReal();
      //币币账户不为空的人数
      String walletNumber = memberMapper.selectBBZHForDataInfoOneAllReal();
      //合约账户不为空的人数
      String walletCoinNumber = memberMapper.selectHYZHForDataInfoOneAllReal();
      //持仓手续费
      String doingPrice = memberMapper.selectprepriceForDataInfoOneAllReal();
      //账户金额
      String walletNum = memberMapper.selectBBZCForDataInfoOneAllReal();
      String walletCoinNum = memberMapper.selectHYZCForDataInfoOneAllReal();
      String agentNum = memberMapper.selectDLZCForDataInfoOneAllReal();
      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<MemberAccountMoneyChangeEntity> memberBoBiList(
         MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request) {
      Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberAccountMoneyChangeEntity> findmemberQuickBuySaleListInPage = memberMapper.memberBoBiList(page, memberAccountMoneyChangeEntity);
      return findmemberQuickBuySaleListInPage;
   }
}