From 78fae6519d70f30cae9f943037a9896b67cc05a0 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 21 Jul 2020 12:41:16 +0800
Subject: [PATCH] 20200721  代码提交

---
 src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 110 insertions(+), 0 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 1561835..8ecae99 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
@@ -15,8 +15,10 @@
 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;
@@ -45,6 +47,8 @@
 	private final ContractOrderMapper contractHoldOrderMapper;
 	
 	private final AgentReturnMapper agentReturnMapper;
+	
+	private final MemberAuthenticationMapper memberAuthenticationMapper;
 	
 	private final RedisUtils redisUtils;
 	
@@ -152,4 +156,110 @@
 		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) {
+            	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);
+		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;
+	}
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+
 }

--
Gitblit v1.9.1