|  |  | 
 |  |  | package com.xcong.excoin.modules.trademanage.service.impl; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | import java.math.BigDecimal; | 
 |  |  | import java.util.HashMap; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  |  | 
 |  |  | import org.springframework.stereotype.Service; | 
 |  |  |  | 
 |  |  | import com.baomidou.mybatisplus.core.metadata.IPage; | 
 |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | 
 |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | 
 |  |  | import com.xcong.excoin.common.entity.QueryRequest; | 
 |  |  | import com.xcong.excoin.common.utils.CoinTypeConvert; | 
 |  |  | import com.xcong.excoin.common.utils.RedisUtils; | 
 |  |  | import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity; | 
 |  |  | import com.xcong.excoin.modules.member.entity.MemberEntity; | 
 |  |  | import com.xcong.excoin.modules.member.mapper.MemberAccountMoneyChangeMapper; | 
 |  |  | import com.xcong.excoin.modules.member.mapper.MemberMapper; | 
 |  |  | import com.xcong.excoin.modules.trademanage.entity.AgentReturnEntity; | 
 |  |  | import com.xcong.excoin.modules.trademanage.entity.ContractHoldOrderEntity; | 
 |  |  | import com.xcong.excoin.modules.trademanage.entity.ContractOrderEntity; | 
 |  |  | import com.xcong.excoin.modules.trademanage.entity.MemberWalletAgentEntity; | 
 |  |  | import com.xcong.excoin.modules.trademanage.mapper.AgentReturnMapper; | 
 |  |  | import com.xcong.excoin.modules.trademanage.mapper.ContractHoldOrderEntityMapper; | 
 |  |  | import com.xcong.excoin.modules.trademanage.mapper.ContractOrderMapper; | 
 |  |  | import com.xcong.excoin.modules.trademanage.mapper.MemberWalletAgentMapper; | 
 |  |  | import com.xcong.excoin.modules.trademanage.service.TradeManageService; | 
 |  |  | import com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo; | 
 |  |  | import lombok.RequiredArgsConstructor; | 
 |  |  |  | 
 |  |  | @Service | 
 |  |  | @RequiredArgsConstructor | 
 |  |  | public class TradeManageServiceImpl extends ServiceImpl<ContractHoldOrderEntityMapper, ContractHoldOrderEntity> implements TradeManageService{ | 
 |  |  |  | 
 |  |  |    private final ContractHoldOrderEntityMapper contractHoldOrderEntityMapper; | 
 |  |  | 	 | 
 |  |  |    private final MemberMapper memberMapper; | 
 |  |  | 	 | 
 |  |  |    private final MemberWalletAgentMapper memberWalletAgentMapper; | 
 |  |  |  | 
 |  |  |    private final MemberAccountMoneyChangeMapper memberAccountMoneyChangeMapper; | 
 |  |  | 	 | 
 |  |  |    private final ContractOrderMapper contractHoldOrderMapper; | 
 |  |  | 	 | 
 |  |  |    private final AgentReturnMapper agentReturnMapper; | 
 |  |  | 	 | 
 |  |  |    private final RedisUtils redisUtils; | 
 |  |  | 	 | 
 |  |  |    @Override | 
 |  |  |    public IPage<ContractHoldOrderEntity> findContractHoldOrderListInPage( | 
 |  |  |          ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) { | 
 |  |  |       Page<ContractHoldOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
 |  |  |       IPage<ContractHoldOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderEntityMapper.selectContractHoldOrderListInPage(page, contractHoldOrderEntity); | 
 |  |  |       List<ContractHoldOrderEntity> records = findMemberAccountInfoListInPage.getRecords(); | 
 |  |  | 		 | 
 |  |  |       if (records != null) { | 
 |  |  |             for (ContractHoldOrderEntity holdOrderEntity : records) { | 
 |  |  |                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<MemberAccountInfoVo> findMemberAccountInfoListInPage(MemberEntity memberEntity, QueryRequest request) { | 
 |  |  |       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) { | 
 |  |  |          for(MemberAccountInfoVo memberAccountInfoVo : records) { | 
 |  |  |             Long memberId = memberAccountInfoVo.getId(); | 
 |  |  |             String inviteId = memberMapper.selectAgentForAccount(memberId); | 
 |  |  |             if("".equals(inviteId) || inviteId == null) { | 
 |  |  |                memberAccountInfoVo.setIsSuAccount(0); | 
 |  |  |             }else { | 
 |  |  |                memberAccountInfoVo.setIsSuAccount(1); | 
 |  |  |             } | 
 |  |  |             Map<String, Object> columnMap = new HashMap<>(); | 
 |  |  |             columnMap.put("member_id", memberId); | 
 |  |  |             List<MemberWalletAgentEntity> selectByMap = memberWalletAgentMapper.selectByMap(columnMap); | 
 |  |  |             if(selectByMap.size() > 0) { | 
 |  |  |                BigDecimal availableBalance = selectByMap.get(0).getAvailableBalance(); | 
 |  |  |                memberAccountInfoVo.setAgentAvailableBalance(availableBalance); | 
 |  |  |             } | 
 |  |  | 				 | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  |         return selectMemberListInPage; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    @Override | 
 |  |  |    public IPage<MemberAccountMoneyChangeEntity> findMemberAgentReturnInfoInPage( | 
 |  |  |          MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request) { | 
 |  |  |       Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
 |  |  |       IPage<MemberAccountMoneyChangeEntity> findMemberAccountInfoListInPage = memberAccountMoneyChangeMapper.findMemberAccountInfoListInPage(page, memberAccountMoneyChangeEntity); | 
 |  |  |       return findMemberAccountInfoListInPage; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    @Override | 
 |  |  |    public IPage<ContractOrderEntity> findMemberHistoryOrderInfoInPage( | 
 |  |  |          ContractOrderEntity contractOrderEntity, QueryRequest request) { | 
 |  |  |       Page<ContractOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
 |  |  |       IPage<ContractOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderMapper.findMemberHistoryOrderInfoInPage(page, contractOrderEntity); | 
 |  |  |       return findMemberAccountInfoListInPage; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    @Override | 
 |  |  |    public IPage<AgentReturnEntity> findMemberAgentReturnInfosInPage(AgentReturnEntity agentReturnEntity, | 
 |  |  |          QueryRequest request) { | 
 |  |  |       Page<AgentReturnEntity> page = new Page<>(request.getPageNum(), request.getPageSize()); | 
 |  |  |       IPage<AgentReturnEntity> findMemberAccountInfoListInPage = agentReturnMapper.findMemberAgentReturnInfosInPage(page, agentReturnEntity); | 
 |  |  |       return findMemberAccountInfoListInPage; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | } | 
 |  |  | package com.xcong.excoin.modules.trademanage.service.impl;
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | import java.math.BigDecimal;
 | 
 |  |  | import java.util.HashMap;
 | 
 |  |  | import java.util.List;
 | 
 |  |  | import java.util.Map;
 | 
 |  |  | 
 | 
 |  |  | import org.springframework.stereotype.Service;
 | 
 |  |  | 
 | 
 |  |  | import com.baomidou.mybatisplus.core.metadata.IPage;
 | 
 |  |  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
 |  |  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
 |  |  | import com.xcong.excoin.common.entity.QueryRequest;
 | 
 |  |  | import com.xcong.excoin.common.utils.CoinTypeConvert;
 | 
 |  |  | import com.xcong.excoin.common.utils.RedisUtils;
 | 
 |  |  | import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity;
 | 
 |  |  | import com.xcong.excoin.modules.member.entity.MemberAuthenticationEntity;
 | 
 |  |  | import com.xcong.excoin.modules.member.entity.MemberEntity;
 | 
 |  |  | import com.xcong.excoin.modules.member.mapper.MemberAccountMoneyChangeMapper;
 | 
 |  |  | import com.xcong.excoin.modules.member.mapper.MemberAuthenticationMapper;
 | 
 |  |  | import com.xcong.excoin.modules.member.mapper.MemberMapper;
 | 
 |  |  | import com.xcong.excoin.modules.trademanage.entity.AgentReturnEntity;
 | 
 |  |  | import com.xcong.excoin.modules.trademanage.entity.ContractHoldOrderEntity;
 | 
 |  |  | import com.xcong.excoin.modules.trademanage.entity.ContractOrderEntity;
 | 
 |  |  | import com.xcong.excoin.modules.trademanage.entity.MemberWalletAgentEntity;
 | 
 |  |  | import com.xcong.excoin.modules.trademanage.mapper.AgentReturnMapper;
 | 
 |  |  | import com.xcong.excoin.modules.trademanage.mapper.ContractHoldOrderEntityMapper;
 | 
 |  |  | import com.xcong.excoin.modules.trademanage.mapper.ContractOrderMapper;
 | 
 |  |  | import com.xcong.excoin.modules.trademanage.mapper.MemberWalletAgentMapper;
 | 
 |  |  | import com.xcong.excoin.modules.trademanage.service.TradeManageService;
 | 
 |  |  | import com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo;
 | 
 |  |  | 
 | 
 |  |  | import cn.hutool.core.collection.CollUtil;
 | 
 |  |  | import lombok.RequiredArgsConstructor;
 | 
 |  |  | 
 | 
 |  |  | @Service
 | 
 |  |  | @RequiredArgsConstructor
 | 
 |  |  | public class TradeManageServiceImpl extends ServiceImpl<ContractHoldOrderEntityMapper, ContractHoldOrderEntity> implements TradeManageService{
 | 
 |  |  | 
 | 
 |  |  |    private final ContractHoldOrderEntityMapper contractHoldOrderEntityMapper;
 | 
 |  |  | 	 | 
 |  |  |    private final MemberMapper memberMapper;
 | 
 |  |  | 	 | 
 |  |  |    private final MemberWalletAgentMapper memberWalletAgentMapper;
 | 
 |  |  | 
 | 
 |  |  |    private final MemberAccountMoneyChangeMapper memberAccountMoneyChangeMapper;
 | 
 |  |  | 	 | 
 |  |  |    private final ContractOrderMapper contractHoldOrderMapper;
 | 
 |  |  | 	 | 
 |  |  |    private final AgentReturnMapper agentReturnMapper;
 | 
 |  |  | 	 | 
 |  |  |    private final MemberAuthenticationMapper memberAuthenticationMapper;
 | 
 |  |  | 	 | 
 |  |  |    private final RedisUtils redisUtils;
 | 
 |  |  | 	 | 
 |  |  |    @Override
 | 
 |  |  |    public IPage<ContractHoldOrderEntity> findContractHoldOrderListInPage(
 | 
 |  |  |          ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) {
 | 
 |  |  |       Page<ContractHoldOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<ContractHoldOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderEntityMapper.selectContractHoldOrderListInPage(page, contractHoldOrderEntity);
 | 
 |  |  |       List<ContractHoldOrderEntity> records = findMemberAccountInfoListInPage.getRecords();
 | 
 |  |  | 		 | 
 |  |  |       if (records != null) {
 | 
 |  |  |             for (ContractHoldOrderEntity holdOrderEntity : records) {
 | 
 |  |  |                MemberEntity selectById = memberMapper.selectById(holdOrderEntity.getMemberId());
 | 
 |  |  |             	 | 
 |  |  |                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);
 | 
 |  |  |             }
 | 
 |  |  |             	 | 
 |  |  |             	 | 
 |  |  |                 // 获取最新价
 | 
 |  |  |                 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<MemberAccountInfoVo> findMemberAccountInfoListInPage(MemberEntity memberEntity, QueryRequest request) {
 | 
 |  |  |       Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<MemberAccountInfoVo> selectMemberListInPage = memberMapper.findMemberAccountInfoListInPage(page, memberEntity);
 | 
 |  |  |       List<MemberAccountInfoVo> records = selectMemberListInPage.getRecords();
 | 
 |  |  |       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);
 | 
 |  |  |             memberAccountInfoVo.setRewardratioByMid(bd);
 | 
 |  |  |             String inviteId = memberMapper.selectAgentForAccount(memberId);
 | 
 |  |  |             if("".equals(inviteId) || inviteId == null) {
 | 
 |  |  |                memberAccountInfoVo.setIsSuAccount(0);
 | 
 |  |  |             }else {
 | 
 |  |  |                memberAccountInfoVo.setIsSuAccount(1);
 | 
 |  |  |             }
 | 
 |  |  | 				 | 
 |  |  |             Map<String, Object> columnMaps = new HashMap<>();
 | 
 |  |  |             columnMap.put("member_id", memberId);
 | 
 |  |  |             List<MemberWalletAgentEntity> selectByMaps = memberWalletAgentMapper.selectByMap(columnMaps);
 | 
 |  |  |             if(CollUtil.isNotEmpty(selectByMaps)) {
 | 
 |  |  |                BigDecimal availableBalance = selectByMaps.get(0).getAvailableBalance();
 | 
 |  |  |                memberAccountInfoVo.setAgentAvailableBalance(availableBalance);
 | 
 |  |  |             }
 | 
 |  |  | 				 | 
 |  |  |          }
 | 
 |  |  |       }
 | 
 |  |  |         return selectMemberListInPage;
 | 
 |  |  |    }
 | 
 |  |  | 
 | 
 |  |  |    @Override
 | 
 |  |  |    public IPage<MemberAccountMoneyChangeEntity> findMemberAgentReturnInfoInPage(
 | 
 |  |  |          MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request) {
 | 
 |  |  |       Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<MemberAccountMoneyChangeEntity> findMemberAccountInfoListInPage = memberAccountMoneyChangeMapper.findMemberAccountInfoListInPage(page, memberAccountMoneyChangeEntity);
 | 
 |  |  | 		 | 
 |  |  |       List<MemberAccountMoneyChangeEntity> records = findMemberAccountInfoListInPage.getRecords();
 | 
 |  |  |       if(CollUtil.isNotEmpty(records)) {
 | 
 |  |  |          for(MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntitys : records) {
 | 
 |  |  |             Long memberId = memberAccountMoneyChangeEntitys.getMemberId();
 | 
 |  |  |             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;
 | 
 |  |  |                memberAccountMoneyChangeEntitys.setRealName(realName);
 | 
 |  |  |             }
 | 
 |  |  |          }
 | 
 |  |  |       }
 | 
 |  |  |       return findMemberAccountInfoListInPage;
 | 
 |  |  |    }
 | 
 |  |  | 
 | 
 |  |  |    @Override
 | 
 |  |  |    public IPage<ContractOrderEntity> findMemberHistoryOrderInfoInPage(
 | 
 |  |  |          ContractOrderEntity contractOrderEntity, QueryRequest request) {
 | 
 |  |  |       Page<ContractOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<ContractOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderMapper.findMemberHistoryOrderInfoInPage(page, contractOrderEntity);
 | 
 |  |  |       return findMemberAccountInfoListInPage;
 | 
 |  |  |    }
 | 
 |  |  | 
 | 
 |  |  |    @Override
 | 
 |  |  |    public IPage<AgentReturnEntity> findMemberAgentReturnInfosInPage(AgentReturnEntity agentReturnEntity,
 | 
 |  |  |          QueryRequest request) {
 | 
 |  |  |       Page<AgentReturnEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<AgentReturnEntity> findMemberAccountInfoListInPage = agentReturnMapper.findMemberAgentReturnInfosInPage(page, agentReturnEntity);
 | 
 |  |  |       return findMemberAccountInfoListInPage;
 | 
 |  |  |    }
 | 
 |  |  | 
 | 
 |  |  |    @Override
 | 
 |  |  |    public IPage<ContractOrderEntity> findMemberHistoryOrderAllInfoInPage(ContractOrderEntity contractOrderEntity,
 | 
 |  |  |          QueryRequest request) {
 | 
 |  |  |       Page<ContractOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<ContractOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderMapper.findMemberHistoryOrderInfoAllInPage(page, contractOrderEntity);
 | 
 |  |  |       List<ContractOrderEntity> records = findMemberAccountInfoListInPage.getRecords();
 | 
 |  |  |       if(CollUtil.isNotEmpty(records)) {
 | 
 |  |  |          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<ContractHoldOrderEntity> findContractHoldOrderAloneInPage(
 | 
 |  |  |          ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) {
 | 
 |  |  |       Page<ContractHoldOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<ContractHoldOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderEntityMapper.findContractHoldOrderAloneInPage(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<ContractOrderEntity> findHistoryOrderInfoAloneInfoInPage(ContractOrderEntity contractOrderEntity,
 | 
 |  |  |          QueryRequest request) {
 | 
 |  |  |       Page<ContractOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<ContractOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderMapper.findHistoryOrderInfoAloneInfoInPage(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<MemberAccountMoneyChangeEntity> findMemberAgentReturnInfoAloneInPage(
 | 
 |  |  |          MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request) {
 | 
 |  |  |       Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<MemberAccountMoneyChangeEntity> findMemberAccountInfoListInPage =  | 
 |  |  |             memberAccountMoneyChangeMapper.findMemberAgentReturnInfoAloneInPage(page, memberAccountMoneyChangeEntity);
 | 
 |  |  | 		 | 
 |  |  |       List<MemberAccountMoneyChangeEntity> records = findMemberAccountInfoListInPage.getRecords();
 | 
 |  |  |       if(records != null && records.size() > 0) {
 | 
 |  |  |          String selectYJByMemberId = agentReturnMapper.selectYJByMemberId();
 | 
 |  |  |          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);
 | 
 |  |  |             if(memberId == 8) {
 | 
 |  |  |                accountMoneyChangeEntity.setAmount(BigDecimal.ZERO);
 | 
 |  |  |                accountMoneyChangeEntity.setAllAmount(selectYJByMemberId);
 | 
 |  |  |             }
 | 
 |  |  |          }
 | 
 |  |  |       }
 | 
 |  |  |       return findMemberAccountInfoListInPage;
 | 
 |  |  |    }
 | 
 |  |  | 
 | 
 |  |  |    @Override
 | 
 |  |  |    public IPage<MemberAccountInfoVo> findmemberAccountInfoAloneListInPage(MemberEntity memberEntity,
 | 
 |  |  |          QueryRequest request) {
 | 
 |  |  |       Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<MemberAccountInfoVo> selectMemberListInPage = memberMapper.findMemberAccountInfoAloneListInPage(page, memberEntity);
 | 
 |  |  |       List<MemberAccountInfoVo> records = selectMemberListInPage.getRecords();
 | 
 |  |  |       if(records.size() > 0) {
 | 
 |  |  |          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(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<ContractHoldOrderEntity> findContractHoldOrderAloneTestInPage(
 | 
 |  |  |          ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) {
 | 
 |  |  |       Page<ContractHoldOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<ContractHoldOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderEntityMapper.findContractHoldOrderAloneTestInPage(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<ContractOrderEntity> findhistoryOrderInfoAloneTestInfoInPage(ContractOrderEntity contractOrderEntity,
 | 
 |  |  |          QueryRequest request) {
 | 
 |  |  |       Page<ContractOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<ContractOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderMapper.findhistoryOrderInfoAloneTestInfoInPage(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<MemberAccountMoneyChangeEntity> findMemberAgentReturnInfoAloneTestInPage(
 | 
 |  |  |          MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request) {
 | 
 |  |  |       Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<MemberAccountMoneyChangeEntity> findMemberAccountInfoListInPage =  | 
 |  |  |             memberAccountMoneyChangeMapper.findMemberAgentReturnInfoAloneTestInPage(page, memberAccountMoneyChangeEntity);
 | 
 |  |  | 		 | 
 |  |  |       List<MemberAccountMoneyChangeEntity> records = findMemberAccountInfoListInPage.getRecords();
 | 
 |  |  |       if(records != null && records.size() > 0) {
 | 
 |  |  |          String selectYJByMemberId = agentReturnMapper.selectYJTestByMemberId();
 | 
 |  |  |          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);
 | 
 |  |  |             if(memberId == 8) {
 | 
 |  |  |                accountMoneyChangeEntity.setAmount(BigDecimal.ZERO);
 | 
 |  |  |                accountMoneyChangeEntity.setAllAmount(selectYJByMemberId);
 | 
 |  |  |             }
 | 
 |  |  |          }
 | 
 |  |  |       }
 | 
 |  |  |       return findMemberAccountInfoListInPage;
 | 
 |  |  |    }
 | 
 |  |  | 
 | 
 |  |  |    @Override
 | 
 |  |  |    public IPage<MemberAccountInfoVo> findmemberAccountInfoAloneTestListInPage(MemberEntity memberEntity,
 | 
 |  |  |          QueryRequest request) {
 | 
 |  |  |       Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
 | 
 |  |  |       IPage<MemberAccountInfoVo> selectMemberListInPage = memberMapper.findmemberAccountInfoAloneTestListInPage(page, memberEntity);
 | 
 |  |  |       List<MemberAccountInfoVo> records = selectMemberListInPage.getRecords();
 | 
 |  |  |       if(records.size() > 0) {
 | 
 |  |  |          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(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;
 | 
 |  |  |    }
 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 	 | 
 |  |  | 
 | 
 |  |  | }
 |