From c88a15817dad5ee098d7927d614148405a05a5f0 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 06 Aug 2020 16:23:11 +0800
Subject: [PATCH] modify add follow order
---
src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java | 15 ++++++++++++---
src/test/java/com/xcong/excoin/FollowTest.java | 8 ++++++++
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java
index 0173007..aa2e782 100644
--- a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java
@@ -25,9 +25,11 @@
import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity;
import com.xcong.excoin.modules.documentary.service.FollowOrderOperationService;
import com.xcong.excoin.modules.member.dao.MemberDao;
+import com.xcong.excoin.modules.member.dao.MemberLevelRateDao;
import com.xcong.excoin.modules.member.dao.MemberWalletContractDao;
import com.xcong.excoin.modules.member.entity.AgentReturnEntity;
import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.member.entity.MemberLevelRateEntity;
import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity;
import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity;
import com.xcong.excoin.rabbit.pricequeue.OrderModel;
@@ -73,9 +75,10 @@
private OrderProducer producer;
@Resource
private FollowTraderInfoDao followTraderInfoDao;
-
@Resource
private RabbitOrderService rabbitOrderService;
+ @Resource
+ private MemberLevelRateDao memberLevelRateDao;
@Override
@@ -97,6 +100,12 @@
Long tradeMemberId = holdOrderEntity.getMemberId();
if (CollUtil.isNotEmpty(followerSettings)) {
for (FollowFollowerSettingEntity followerSetting : followerSettings) {
+
+ if (!followerSetting.getSymbols().contains(holdOrderEntity.getSymbol().replace("/USDT", ""))) {
+ log.info("不在跟单币种内,不跟单:{},{}", followerSetting.getSymbols(), holdOrderEntity.getSymbol());
+ continue;
+ }
+
// 当前持仓张数
Integer holdingCnt = followFollowerOrderRelationDao.selectFollowerHoldingSymbolCnt(tradeMemberId, followerSetting.getMemberId());
@@ -147,7 +156,7 @@
MemberEntity memberEntity = memberDao.selectById(followerSetting.getMemberId());
// 强平价
BigDecimal forceClosingPrice = CalculateUtil.getForceSetPrice(bondAmount, openPrice, symbolCnt, lotNumber, holdOrderEntity.getOpeningType(), memberEntity);
-
+ MemberLevelRateEntity levelRateEntity = memberLevelRateDao.selectLeverRateByMemberIdAndSymbol(memberEntity.getId(), holdOrderEntity.getSymbol());
ContractHoldOrderEntity followHoldOrder = new ContractHoldOrderEntity();
followHoldOrder.setMemberId(memberEntity.getId());
followHoldOrder.setOrderNo(commonService.generateOrderNo(memberEntity.getId()));
@@ -156,7 +165,7 @@
followHoldOrder.setSymbol(holdOrderEntity.getSymbol());
followHoldOrder.setSymbolCnt(symbolCnt);
followHoldOrder.setSymbolSku(lotNumber);
- followHoldOrder.setLeverRatio(holdOrderEntity.getLeverRatio());
+ followHoldOrder.setLeverRatio(levelRateEntity.getLevelRateUp());
followHoldOrder.setForceClosingPrice(forceClosingPrice);
followHoldOrder.setOpeningFeeAmount(openFeePrice);
followHoldOrder.setOpeningPrice(openPrice);
diff --git a/src/test/java/com/xcong/excoin/FollowTest.java b/src/test/java/com/xcong/excoin/FollowTest.java
index 9dde5f5..43baad0 100644
--- a/src/test/java/com/xcong/excoin/FollowTest.java
+++ b/src/test/java/com/xcong/excoin/FollowTest.java
@@ -25,4 +25,12 @@
// ThreadPoolUtils.sendFollowOrderTask(601L);
}
+
+ @Test
+ public void strContainsTest() {
+ String symbols = "BTC,ETH,LTC,BCH";
+ String symbol = "BTC/USDT";
+
+ System.out.println(symbols.contains(symbol.replace("/USDT", "")));
+ }
}
--
Gitblit v1.9.1