From 4f95e1fddf7468af9bc7d5409f7e2b80d5325182 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sun, 30 Aug 2020 18:38:54 +0800
Subject: [PATCH] 20200830
---
src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java | 700 +++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 549 insertions(+), 151 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 7c4bc5c..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,151 +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;
- }
-
- @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);
- 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