From ad8c985be319fe085a04b266770f941f4c3426d9 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 04 Mar 2021 19:10:15 +0800
Subject: [PATCH] 20210304  交易员详情显示跟单最大人数

---
 src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 52 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
index 13144aa..9948713 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/DocumentaryServiceImpl.java
@@ -287,7 +287,43 @@
 		}else {
 			followInfoVo.setNickname(phone);
 		}
-		
+
+		List<ContractHoldOrderEntity> myFollowOrder = followFollowerProfitDao.getFollowOrderNowRecords(memberId);
+
+		BigDecimal totalBondAmount = BigDecimal.ZERO;
+		BigDecimal profitOrLess = BigDecimal.ZERO;
+		if (CollUtil.isNotEmpty(myFollowOrder)) {
+			for(ContractHoldOrderEntity contractHoldOrderEntity : myFollowOrder) {
+				BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(contractHoldOrderEntity.getSymbol())));
+				BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(contractHoldOrderEntity.getSymbol());
+
+				// 盈亏
+				BigDecimal rewardRatio = BigDecimal.ZERO;
+				// 开多
+				if (contractHoldOrderEntity.OPENING_TYPE_MORE == contractHoldOrderEntity.getOpeningType()) {
+					// (最新价-开仓价)*规格*张数
+					rewardRatio = newPrice.subtract(contractHoldOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCnt()));
+					// 开空
+				} else {
+					// (开仓价-最新价)*规格*张数
+					rewardRatio = contractHoldOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCnt()));
+				}
+
+				if (member.getIsProfit() == MemberEntity.IS_PROFIT_Y) {
+					PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
+					if (rewardRatio.compareTo(BigDecimal.ZERO) > -1) {
+						rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(tradeSettingEntity.getProfitParam()));
+					}
+				}
+
+				profitOrLess = profitOrLess.add(rewardRatio).setScale(2, BigDecimal.ROUND_DOWN);
+				totalBondAmount = totalBondAmount.add(contractHoldOrderEntity.getBondAmount()).setScale(2, BigDecimal.ROUND_DOWN);
+			}
+		}
+
+		followInfoVo.setTotalAmount(totalBondAmount);
+		followInfoVo.setTotalProfitOrLess(profitOrLess);
+
 		BigDecimal totalPrincipals =  BigDecimal.ZERO;
 		BigDecimal totalProfits =  BigDecimal.ZERO;
 		Map<String, Object> columnMap = new HashMap<>();
@@ -641,8 +677,9 @@
         Integer maxFollowCnt = followFollowerSettingEntity.getMaxFollowCnt();
         if(maxFollowCnt > 0){
         	documentaryOrderSetInfoVo.setMaxFollowCnt(maxFollowCnt.toString());
+		}else {
+			documentaryOrderSetInfoVo.setMaxFollowCnt("");
 		}
-        documentaryOrderSetInfoVo.setMaxFollowCnt("");
         log.info(memberId + "-最大持仓张数-"+maxFollowCnt.toString());
 		return Result.ok(documentaryOrderSetInfoVo);
 	}
@@ -711,6 +748,18 @@
 		String nickname = followTraderInfoEntity.getNickname();
 		String declaration = followTraderInfoEntity.getDeclaration();
 		Integer isAll = followTraderInfoEntity.getIsAll();
+		Integer followNum = followTraderInfoEntity.getFollowNum();
+		//获取当前跟单人数
+		Map<String, Object> columnMap = new HashMap<>();
+		columnMap.put("trade_id", traderId);
+		columnMap.put("is_follow", FollowFollowerProfitEntity.IS_FOLLOW_Y);
+		List<FollowFollowerProfitEntity> selectByMap = followFollowerProfitDao.selectByMap(columnMap);
+		if(CollUtil.isNotEmpty(selectByMap)) {
+			followTraderProfitInfoVo.setFollowNumNow(selectByMap.size());
+		}else {
+			followTraderProfitInfoVo.setFollowNumNow(0);
+		}
+		followTraderProfitInfoVo.setFollowNum(followNum);
 		followTraderProfitInfoVo.setAvatar(avatar);
 		followTraderProfitInfoVo.setNickname(nickname);
 		followTraderProfitInfoVo.setDeclaration(declaration);
@@ -784,6 +833,7 @@
         	followTraderInfoEntity.setDeclaration(declaration);
         }
         followTraderInfoEntity.setLabels(labels);
+        followTraderInfoEntity.setFollowNum(FollowTraderInfoEntity.FOLLOWNUM_DEFAULT);
         followTraderInfoEntity.setIsAll(FollowTraderInfoEntity.IS_ALL_N);
         followTraderInfoEntity.setProfitRatio(BigDecimal.ZERO);
         followTraderInfoEntity.setVerifyStatus(FollowTraderInfoEntity.VERIFYSTATUS_ING);

--
Gitblit v1.9.1