xiaoyong931011
2021-01-08 0d03d3fe08f4ca6865adf4147dbbc4830e231837
src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java
@@ -32,6 +32,7 @@
import com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import lombok.RequiredArgsConstructor;
@Service
@@ -114,9 +115,21 @@
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberAccountInfoVo> selectMemberListInPage = memberMapper.findMemberAccountInfoListInPage(page, memberEntity);
      List<MemberAccountInfoVo> records = selectMemberListInPage.getRecords();
      if(records.size() > 0) {
      if(CollUtil.isNotEmpty(records)) {
         for(MemberAccountInfoVo memberAccountInfoVo : records) {
            Long memberId = memberAccountInfoVo.getId();
            Map<String, Object> columnMap = new HashMap<>();
            columnMap.put("member_id", memberId);
            List<MemberAuthenticationEntity> selectByMap = memberAuthenticationMapper.selectByMap(columnMap );
            if(CollUtil.isNotEmpty(selectByMap)) {
               MemberAuthenticationEntity memberAuthenticationEntity = selectByMap.get(0);
               String firstName = memberAuthenticationEntity.getFirstName();
               String secondName = memberAuthenticationEntity.getSecondName();
               String realName = firstName + secondName;
               memberAccountInfoVo.setRealName(realName);
            }
            //总盈亏
            String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymid(memberId);
              BigDecimal bd=new BigDecimal(rewardratioByMid);
@@ -127,11 +140,12 @@
            }else {
               memberAccountInfoVo.setIsSuAccount(1);
            }
            Map<String, Object> columnMap = new HashMap<>();
            Map<String, Object> columnMaps = new HashMap<>();
            columnMap.put("member_id", memberId);
            List<MemberWalletAgentEntity> selectByMap = memberWalletAgentMapper.selectByMap(columnMap);
            if(selectByMap.size() > 0) {
               BigDecimal availableBalance = selectByMap.get(0).getAvailableBalance();
            List<MemberWalletAgentEntity> selectByMaps = memberWalletAgentMapper.selectByMap(columnMaps);
            if(CollUtil.isNotEmpty(selectByMaps)) {
               BigDecimal availableBalance = selectByMaps.get(0).getAvailableBalance();
               memberAccountInfoVo.setAgentAvailableBalance(availableBalance);
            }
            
@@ -508,6 +522,646 @@
      }
        return selectMemberListInPage;
   }
   @Override
   public IPage<ContractHoldOrderEntity> findContractHoldOrderAloneOneInPage(
         ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) {
      Page<ContractHoldOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<ContractHoldOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderEntityMapper.findContractHoldOrderAloneOneInPage(page, contractHoldOrderEntity);
      List<ContractHoldOrderEntity> records = findMemberAccountInfoListInPage.getRecords();
      if (records != null) {
           for (ContractHoldOrderEntity holdOrderEntity : records) {
              Long memberId = holdOrderEntity.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;
               holdOrderEntity.setRealName(realName);
            }
              MemberEntity selectById = memberMapper.selectById(holdOrderEntity.getMemberId());
               // 获取最新价
               BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol())));
               BigDecimal lotNumber = holdOrderEntity.getSymbolSku();
               // 盈亏
               BigDecimal rewardRatio = BigDecimal.ZERO;
               // 开多
               if (ContractHoldOrderEntity.OPENING_TYPE_MORE == holdOrderEntity.getOpeningType()) {
                   // (最新价-开仓价)*规格*张数
                   rewardRatio = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
                   // 开空
               } else {
                   // (开仓价-最新价)*规格*张数
                   rewardRatio = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
               }
               if (selectById.getIsProfit() == MemberEntity.IS_PROFIT_Y) {
                  String selectTradeSetting = memberMapper.selectTradeSetting();
                   BigDecimal profitParam=new BigDecimal(selectTradeSetting);
                   if (rewardRatio.compareTo(BigDecimal.ZERO) > -1) {
                       rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(profitParam));
                   } else {
                       rewardRatio = rewardRatio.multiply(BigDecimal.ONE.add(profitParam));
                   }
               }
               holdOrderEntity.setRewardRatio(rewardRatio);
           }
       }
      return findMemberAccountInfoListInPage;
   }
   @Override
   public IPage<ContractHoldOrderEntity> findContractHoldOrderAloneTwoInPage(
         ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) {
      Page<ContractHoldOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<ContractHoldOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderEntityMapper.findContractHoldOrderAloneTwoInPage(page, contractHoldOrderEntity);
      List<ContractHoldOrderEntity> records = findMemberAccountInfoListInPage.getRecords();
      if (records != null) {
           for (ContractHoldOrderEntity holdOrderEntity : records) {
              Long memberId = holdOrderEntity.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;
               holdOrderEntity.setRealName(realName);
            }
              MemberEntity selectById = memberMapper.selectById(holdOrderEntity.getMemberId());
               // 获取最新价
               BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol())));
               BigDecimal lotNumber = holdOrderEntity.getSymbolSku();
               // 盈亏
               BigDecimal rewardRatio = BigDecimal.ZERO;
               // 开多
               if (ContractHoldOrderEntity.OPENING_TYPE_MORE == holdOrderEntity.getOpeningType()) {
                   // (最新价-开仓价)*规格*张数
                   rewardRatio = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
                   // 开空
               } else {
                   // (开仓价-最新价)*规格*张数
                   rewardRatio = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
               }
               if (selectById.getIsProfit() == MemberEntity.IS_PROFIT_Y) {
                  String selectTradeSetting = memberMapper.selectTradeSetting();
                   BigDecimal profitParam=new BigDecimal(selectTradeSetting);
                   if (rewardRatio.compareTo(BigDecimal.ZERO) > -1) {
                       rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(profitParam));
                   } else {
                       rewardRatio = rewardRatio.multiply(BigDecimal.ONE.add(profitParam));
                   }
               }
               holdOrderEntity.setRewardRatio(rewardRatio);
           }
       }
      return findMemberAccountInfoListInPage;
   }
   @Override
   public IPage<ContractHoldOrderEntity> findContractHoldOrderAloneThreeInPage(
         ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) {
      Page<ContractHoldOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<ContractHoldOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderEntityMapper.findContractHoldOrderAloneThreeInPage(page, contractHoldOrderEntity);
      List<ContractHoldOrderEntity> records = findMemberAccountInfoListInPage.getRecords();
      if (records != null) {
           for (ContractHoldOrderEntity holdOrderEntity : records) {
              Long memberId = holdOrderEntity.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;
               holdOrderEntity.setRealName(realName);
            }
              MemberEntity selectById = memberMapper.selectById(holdOrderEntity.getMemberId());
               // 获取最新价
               BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol())));
               BigDecimal lotNumber = holdOrderEntity.getSymbolSku();
               // 盈亏
               BigDecimal rewardRatio = BigDecimal.ZERO;
               // 开多
               if (ContractHoldOrderEntity.OPENING_TYPE_MORE == holdOrderEntity.getOpeningType()) {
                   // (最新价-开仓价)*规格*张数
                   rewardRatio = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
                   // 开空
               } else {
                   // (开仓价-最新价)*规格*张数
                   rewardRatio = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
               }
               if (selectById.getIsProfit() == MemberEntity.IS_PROFIT_Y) {
                  String selectTradeSetting = memberMapper.selectTradeSetting();
                   BigDecimal profitParam=new BigDecimal(selectTradeSetting);
                   if (rewardRatio.compareTo(BigDecimal.ZERO) > -1) {
                       rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(profitParam));
                   } else {
                       rewardRatio = rewardRatio.multiply(BigDecimal.ONE.add(profitParam));
                   }
               }
               holdOrderEntity.setRewardRatio(rewardRatio);
           }
       }
      return findMemberAccountInfoListInPage;
   }
   @Override
   public IPage<ContractHoldOrderEntity> findContractHoldOrderAloneOneAllInPage(
         ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) {
      Page<ContractHoldOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<ContractHoldOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderEntityMapper.findContractHoldOrderAloneOneAllInPage(page, contractHoldOrderEntity);
      List<ContractHoldOrderEntity> records = findMemberAccountInfoListInPage.getRecords();
      if (records != null) {
           for (ContractHoldOrderEntity holdOrderEntity : records) {
              Long memberId = holdOrderEntity.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;
               holdOrderEntity.setRealName(realName);
            }
              MemberEntity selectById = memberMapper.selectById(holdOrderEntity.getMemberId());
               // 获取最新价
               BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol())));
               BigDecimal lotNumber = holdOrderEntity.getSymbolSku();
               // 盈亏
               BigDecimal rewardRatio = BigDecimal.ZERO;
               // 开多
               if (ContractHoldOrderEntity.OPENING_TYPE_MORE == holdOrderEntity.getOpeningType()) {
                   // (最新价-开仓价)*规格*张数
                   rewardRatio = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
                   // 开空
               } else {
                   // (开仓价-最新价)*规格*张数
                   rewardRatio = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
               }
               if (selectById.getIsProfit() == MemberEntity.IS_PROFIT_Y) {
                  String selectTradeSetting = memberMapper.selectTradeSetting();
                   BigDecimal profitParam=new BigDecimal(selectTradeSetting);
                   if (rewardRatio.compareTo(BigDecimal.ZERO) > -1) {
                       rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(profitParam));
                   } else {
                       rewardRatio = rewardRatio.multiply(BigDecimal.ONE.add(profitParam));
                   }
               }
               holdOrderEntity.setRewardRatio(rewardRatio);
           }
       }
      return findMemberAccountInfoListInPage;
   }
   @Override
   public IPage<MemberAccountMoneyChangeEntity> findMemberAgentReturnInfoAloneOneInPage(
         MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request) {
      Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberAccountMoneyChangeEntity> findMemberAccountInfoListInPage =
            memberAccountMoneyChangeMapper.findMemberAgentReturnInfoAloneOneInPage(page, memberAccountMoneyChangeEntity);
      List<MemberAccountMoneyChangeEntity> records = findMemberAccountInfoListInPage.getRecords();
      if(records != null && records.size() > 0) {
         for(MemberAccountMoneyChangeEntity accountMoneyChangeEntity : records) {
            Long memberId = accountMoneyChangeEntity.getMemberId();
            String allAmount = memberAccountMoneyChangeMapper.selectAccountMoneyChangeByMemberId(memberId);
            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;
               accountMoneyChangeEntity.setRealName(realName);
            }
            accountMoneyChangeEntity.setAllAmount(allAmount);
         }
      }
      return findMemberAccountInfoListInPage;
   }
   @Override
   public IPage<MemberAccountMoneyChangeEntity> findMemberAgentReturnInfoAloneTwoInPage(
         MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request) {
      Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberAccountMoneyChangeEntity> findMemberAccountInfoListInPage =
            memberAccountMoneyChangeMapper.findMemberAgentReturnInfoAloneTwoInPage(page, memberAccountMoneyChangeEntity);
      List<MemberAccountMoneyChangeEntity> records = findMemberAccountInfoListInPage.getRecords();
      if(records != null && records.size() > 0) {
         for(MemberAccountMoneyChangeEntity accountMoneyChangeEntity : records) {
            Long memberId = accountMoneyChangeEntity.getMemberId();
            String allAmount = memberAccountMoneyChangeMapper.selectAccountMoneyChangeByMemberId(memberId);
            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;
               accountMoneyChangeEntity.setRealName(realName);
            }
            accountMoneyChangeEntity.setAllAmount(allAmount);
         }
      }
      return findMemberAccountInfoListInPage;
   }
   @Override
   public IPage<MemberAccountMoneyChangeEntity> findMemberAgentReturnInfoAloneThreeInPage(
         MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request) {
      Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberAccountMoneyChangeEntity> findMemberAccountInfoListInPage =
            memberAccountMoneyChangeMapper.findMemberAgentReturnInfoAloneThreeInPage(page, memberAccountMoneyChangeEntity);
      List<MemberAccountMoneyChangeEntity> records = findMemberAccountInfoListInPage.getRecords();
      if(records != null && records.size() > 0) {
         for(MemberAccountMoneyChangeEntity accountMoneyChangeEntity : records) {
            Long memberId = accountMoneyChangeEntity.getMemberId();
            String allAmount = memberAccountMoneyChangeMapper.selectAccountMoneyChangeByMemberId(memberId);
            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;
               accountMoneyChangeEntity.setRealName(realName);
            }
            accountMoneyChangeEntity.setAllAmount(allAmount);
         }
      }
      return findMemberAccountInfoListInPage;
   }
   @Override
   public IPage<MemberAccountMoneyChangeEntity> findMemberAgentReturnInfoAloneOneAllInPage(
         MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request) {
      Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberAccountMoneyChangeEntity> findMemberAccountInfoListInPage =
            memberAccountMoneyChangeMapper.findMemberAgentReturnInfoAloneOneAllInPage(page, memberAccountMoneyChangeEntity);
      List<MemberAccountMoneyChangeEntity> records = findMemberAccountInfoListInPage.getRecords();
      if(records != null && records.size() > 0) {
         for(MemberAccountMoneyChangeEntity accountMoneyChangeEntity : records) {
            Long memberId = accountMoneyChangeEntity.getMemberId();
            String allAmount = memberAccountMoneyChangeMapper.selectAccountMoneyChangeByMemberId(memberId);
            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;
               accountMoneyChangeEntity.setRealName(realName);
            }
            accountMoneyChangeEntity.setAllAmount(allAmount);
         }
      }
      return findMemberAccountInfoListInPage;
   }
   @Override
   public IPage<MemberAccountInfoVo> findMemberAccountInfoAloneOneInPage(MemberEntity memberEntity,
         QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberAccountInfoVo> selectMemberListInPage = memberMapper.findMemberAccountInfoAloneOneInPage(page, memberEntity);
      List<MemberAccountInfoVo> records = selectMemberListInPage.getRecords();
      if(records.size() > 0) {
         for(MemberAccountInfoVo memberAccountInfoVo : records) {
            Long memberId = memberAccountInfoVo.getId();
            String walletAvailableBalance = memberMapper.selectWalletAvailableBalanceBymemberId(memberId);
            String walletTotalBalance = memberMapper.selectWalletTotalBalanceBymemberId(memberId);
            String walletFrozenBalance = memberMapper.selectWalletFrozenBalanceBymemberId(memberId);
            memberAccountInfoVo.setWalletCoinAvailableBalance(new BigDecimal(walletAvailableBalance));
            memberAccountInfoVo.setWalletCoinTotalBalance(new BigDecimal(walletTotalBalance));
            memberAccountInfoVo.setWalletCoinFrozenBalance(new BigDecimal(walletFrozenBalance));
            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;
               memberAccountInfoVo.setRealName(realName);
            }
            //总盈亏
            String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymid(memberId);
              BigDecimal bd=new BigDecimal(rewardratioByMid);
            memberAccountInfoVo.setRewardratioByMid(bd);
            String inviteId = memberMapper.selectAgentForAccount(memberId);
            if("".equals(inviteId) || inviteId == null) {
               memberAccountInfoVo.setIsSuAccount(0);
            }else {
               memberAccountInfoVo.setIsSuAccount(1);
            }
            List<MemberWalletAgentEntity> selectByMaps = memberWalletAgentMapper.selectByMap(columnMap);
            if(selectByMaps.size() > 0) {
               BigDecimal availableBalance = selectByMaps.get(0).getAvailableBalance();
               memberAccountInfoVo.setAgentAvailableBalance(availableBalance);
            }
         }
      }
        return selectMemberListInPage;
   }
   @Override
   public IPage<MemberAccountInfoVo> findMemberAccountInfoAloneTwoInPage(MemberEntity memberEntity,
         QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberAccountInfoVo> selectMemberListInPage = memberMapper.findMemberAccountInfoAloneTwoInPage(page, memberEntity);
      List<MemberAccountInfoVo> records = selectMemberListInPage.getRecords();
      if(records.size() > 0) {
         for(MemberAccountInfoVo memberAccountInfoVo : records) {
            Long memberId = memberAccountInfoVo.getId();
            String walletAvailableBalance = memberMapper.selectWalletAvailableBalanceBymemberId(memberId);
            String walletTotalBalance = memberMapper.selectWalletTotalBalanceBymemberId(memberId);
            String walletFrozenBalance = memberMapper.selectWalletFrozenBalanceBymemberId(memberId);
            memberAccountInfoVo.setWalletCoinAvailableBalance(new BigDecimal(walletAvailableBalance));
            memberAccountInfoVo.setWalletCoinTotalBalance(new BigDecimal(walletTotalBalance));
            memberAccountInfoVo.setWalletCoinFrozenBalance(new BigDecimal(walletFrozenBalance));
            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;
               memberAccountInfoVo.setRealName(realName);
            }
            //总盈亏
            String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymid(memberId);
              BigDecimal bd=new BigDecimal(rewardratioByMid);
            memberAccountInfoVo.setRewardratioByMid(bd);
            String inviteId = memberMapper.selectAgentForAccount(memberId);
            if("".equals(inviteId) || inviteId == null) {
               memberAccountInfoVo.setIsSuAccount(0);
            }else {
               memberAccountInfoVo.setIsSuAccount(1);
            }
            List<MemberWalletAgentEntity> selectByMaps = memberWalletAgentMapper.selectByMap(columnMap);
            if(selectByMaps.size() > 0) {
               BigDecimal availableBalance = selectByMaps.get(0).getAvailableBalance();
               memberAccountInfoVo.setAgentAvailableBalance(availableBalance);
            }
         }
      }
        return selectMemberListInPage;
   }
   @Override
   public IPage<MemberAccountInfoVo> findMemberAccountInfoAloneTeeInPage(MemberEntity memberEntity,
         QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberAccountInfoVo> selectMemberListInPage = memberMapper.findMemberAccountInfoAloneTeeInPage(page, memberEntity);
      List<MemberAccountInfoVo> records = selectMemberListInPage.getRecords();
      if(records.size() > 0) {
         for(MemberAccountInfoVo memberAccountInfoVo : records) {
            Long memberId = memberAccountInfoVo.getId();
            String walletAvailableBalance = memberMapper.selectWalletAvailableBalanceBymemberId(memberId);
            String walletTotalBalance = memberMapper.selectWalletTotalBalanceBymemberId(memberId);
            String walletFrozenBalance = memberMapper.selectWalletFrozenBalanceBymemberId(memberId);
            memberAccountInfoVo.setWalletCoinAvailableBalance(new BigDecimal(walletAvailableBalance));
            memberAccountInfoVo.setWalletCoinTotalBalance(new BigDecimal(walletTotalBalance));
            memberAccountInfoVo.setWalletCoinFrozenBalance(new BigDecimal(walletFrozenBalance));
            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;
               memberAccountInfoVo.setRealName(realName);
            }
            //总盈亏
            String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymid(memberId);
              BigDecimal bd=new BigDecimal(rewardratioByMid);
            memberAccountInfoVo.setRewardratioByMid(bd);
            String inviteId = memberMapper.selectAgentForAccount(memberId);
            if("".equals(inviteId) || inviteId == null) {
               memberAccountInfoVo.setIsSuAccount(0);
            }else {
               memberAccountInfoVo.setIsSuAccount(1);
            }
            List<MemberWalletAgentEntity> selectByMaps = memberWalletAgentMapper.selectByMap(columnMap);
            if(selectByMaps.size() > 0) {
               BigDecimal availableBalance = selectByMaps.get(0).getAvailableBalance();
               memberAccountInfoVo.setAgentAvailableBalance(availableBalance);
            }
         }
      }
        return selectMemberListInPage;
   }
   @Override
   public IPage<MemberAccountInfoVo> findMemberAccountInfoAloneAllInPage(MemberEntity memberEntity,
         QueryRequest request) {
      Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<MemberAccountInfoVo> selectMemberListInPage = memberMapper.findMemberAccountInfoAloneAllInPage(page, memberEntity);
      List<MemberAccountInfoVo> records = selectMemberListInPage.getRecords();
      if(records.size() > 0) {
         for(MemberAccountInfoVo memberAccountInfoVo : records) {
            Long memberId = memberAccountInfoVo.getId();
            String walletAvailableBalance = memberMapper.selectWalletAvailableBalanceBymemberId(memberId);
            String walletTotalBalance = memberMapper.selectWalletTotalBalanceBymemberId(memberId);
            String walletFrozenBalance = memberMapper.selectWalletFrozenBalanceBymemberId(memberId);
            memberAccountInfoVo.setWalletCoinAvailableBalance(new BigDecimal(walletAvailableBalance));
            memberAccountInfoVo.setWalletCoinTotalBalance(new BigDecimal(walletTotalBalance));
            memberAccountInfoVo.setWalletCoinFrozenBalance(new BigDecimal(walletFrozenBalance));
            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;
               memberAccountInfoVo.setRealName(realName);
            }
            //总盈亏
            String rewardratioByMid = memberMapper.selectRewardratioForBasicRealDataBymid(memberId);
              BigDecimal bd=new BigDecimal(rewardratioByMid);
            memberAccountInfoVo.setRewardratioByMid(bd);
            String inviteId = memberMapper.selectAgentForAccount(memberId);
            if("".equals(inviteId) || inviteId == null) {
               memberAccountInfoVo.setIsSuAccount(0);
            }else {
               memberAccountInfoVo.setIsSuAccount(1);
            }
            List<MemberWalletAgentEntity> selectByMaps = memberWalletAgentMapper.selectByMap(columnMap);
            if(selectByMaps.size() > 0) {
               BigDecimal availableBalance = selectByMaps.get(0).getAvailableBalance();
               memberAccountInfoVo.setAgentAvailableBalance(availableBalance);
            }
         }
      }
        return selectMemberListInPage;
   }
   @Override
   public IPage<ContractOrderEntity> findHistoryOrderInfoAloneOneInPage(ContractOrderEntity contractOrderEntity,
         QueryRequest request) {
      Page<ContractOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<ContractOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderMapper.findHistoryOrderInfoAloneOneInPage(page, contractOrderEntity);
      List<ContractOrderEntity> records = findMemberAccountInfoListInPage.getRecords();
      if(records != null && records.size() > 0) {
         for(ContractOrderEntity contractOrderEntitys : records) {
            Long memberId = contractOrderEntitys.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;
               contractOrderEntitys.setRealName(realName);
            }
         }
      }
      return findMemberAccountInfoListInPage;
   }
   @Override
   public IPage<ContractOrderEntity> findHistoryOrderInfoAloneTwoInPage(ContractOrderEntity contractOrderEntity,
         QueryRequest request) {
      Page<ContractOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<ContractOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderMapper.findHistoryOrderInfoAloneTwoInPage(page, contractOrderEntity);
      List<ContractOrderEntity> records = findMemberAccountInfoListInPage.getRecords();
      if(records != null && records.size() > 0) {
         for(ContractOrderEntity contractOrderEntitys : records) {
            Long memberId = contractOrderEntitys.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;
               contractOrderEntitys.setRealName(realName);
            }
         }
      }
      return findMemberAccountInfoListInPage;
   }
   @Override
   public IPage<ContractOrderEntity> findHistoryOrderInfoAloneTeeInPage(ContractOrderEntity contractOrderEntity,
         QueryRequest request) {
      Page<ContractOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<ContractOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderMapper.findHistoryOrderInfoAloneTeeInPage(page, contractOrderEntity);
      List<ContractOrderEntity> records = findMemberAccountInfoListInPage.getRecords();
      if(records != null && records.size() > 0) {
         for(ContractOrderEntity contractOrderEntitys : records) {
            Long memberId = contractOrderEntitys.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;
               contractOrderEntitys.setRealName(realName);
            }
         }
      }
      return findMemberAccountInfoListInPage;
   }
   @Override
   public IPage<ContractOrderEntity> findHistoryOrderInfoAloneAllInPage(ContractOrderEntity contractOrderEntity,
         QueryRequest request) {
      Page<ContractOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
      IPage<ContractOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderMapper.findHistoryOrderInfoAloneAllInPage(page, contractOrderEntity);
      List<ContractOrderEntity> records = findMemberAccountInfoListInPage.getRecords();
      if(records != null && records.size() > 0) {
         for(ContractOrderEntity contractOrderEntitys : records) {
            Long memberId = contractOrderEntitys.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;
               contractOrderEntitys.setRealName(realName);
            }
         }
      }
      return findMemberAccountInfoListInPage;
   }