From 4c902d9c20dd965d1ec832760809c622d1df9aac Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 17 Jun 2021 11:17:03 +0800 Subject: [PATCH] 20210617 开售开关 --- src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java | 692 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 549 insertions(+), 143 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java b/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java index d57aa70..1ca8f8d 100644 --- a/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java @@ -1,143 +1,549 @@ -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; + } + + + + + + + + + + + + + + + + + + + + + + + + + +} -- Gitblit v1.9.1