From cbefbc44b0d438a70ddadea887e5b4034cbb2224 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 03 Aug 2020 16:08:21 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java | 36 ++++++++++++++++++++++++++----------
1 files changed, 26 insertions(+), 10 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 93c91f9..118ffb1 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
@@ -18,6 +18,7 @@
import com.xcong.excoin.modules.documentary.dao.FollowFollowerProfitDao;
import com.xcong.excoin.modules.documentary.dao.FollowFollowerSettingDao;
import com.xcong.excoin.modules.documentary.dao.FollowTraderInfoDao;
+import com.xcong.excoin.modules.documentary.entity.FollowFollowerOrderRelationEntity;
import com.xcong.excoin.modules.documentary.entity.FollowFollowerProfitEntity;
import com.xcong.excoin.modules.documentary.entity.FollowFollowerSettingEntity;
import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity;
@@ -71,12 +72,15 @@
@Resource
private FollowTraderInfoDao followTraderInfoDao;
+
@Override
public void addFollowerOrder(Long id) {
+ log.info("进入跟单处理逻辑");
// 查询交易员订单
ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectById(id);
List<FollowFollowerSettingEntity> followerSettings = followFollowerSettingDao.selectAllFollowerSettingByTradeMemberId(holdOrderEntity.getMemberId());
+ log.info("---->{}, {}", followerSettings.size(), holdOrderEntity.getMemberId());
// 开仓价
BigDecimal openPrice = holdOrderEntity.getOpeningPrice();
PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
@@ -100,13 +104,15 @@
symbolCnt = followerSetting.getFollowCnt() * holdOrderEntity.getSymbolCnt();
}
- // 若张数+当前持仓张数大于最大持仓张数,则取最大持仓减去当前持仓,若差值小于等于0,则不下单
- if (symbolCnt + holdingCnt> followerSetting.getMaxFollowCnt()) {
- symbolCnt = followerSetting.getMaxFollowCnt() - holdingCnt;
- }
+ if (followerSetting.getMaxFollowCnt() != null && followerSetting.getMaxFollowCnt() !=0) {
+ // 若张数+当前持仓张数大于最大持仓张数,则取最大持仓减去当前持仓,若差值小于等于0,则不下单
+ if (symbolCnt + holdingCnt > followerSetting.getMaxFollowCnt()) {
+ symbolCnt = followerSetting.getMaxFollowCnt() - holdingCnt;
+ }
- if (symbolCnt <= 0) {
- continue;
+ if (symbolCnt <= 0) {
+ continue;
+ }
}
MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(followerSetting.getMemberId(), CoinTypeEnum.USDT.name());
@@ -156,16 +162,26 @@
followHoldOrder.setBondAmount(bondAmount.add(openFeePrice));
followHoldOrder.setOperateNo(1);
// 设置合约类型
- holdOrderEntity.setContractType(ContractOrderEntity.CONTRACTTYPE_DOCUMENTARY);
+ followHoldOrder.setContractType(ContractOrderEntity.CONTRACTTYPE_DOCUMENTARY);
- ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(holdOrderEntity);
+ ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(followHoldOrder);
contractOrderEntity.setOpeningTime(new Date());
- contractHoldOrderDao.insert(holdOrderEntity);
+ contractHoldOrderDao.insert(followHoldOrder);
int i = contractOrderDao.insert(contractOrderEntity);
-
+ log.info("----->{}", i);
if (i > 0) {
memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId());
+ FollowFollowerOrderRelationEntity relationEntity = new FollowFollowerOrderRelationEntity();
+ relationEntity.setIsShow(FollowFollowerOrderRelationEntity.IS_SHOW_Y);
+ relationEntity.setMemberId(followHoldOrder.getMemberId());
+ relationEntity.setOrderId(followHoldOrder.getId());
+ relationEntity.setOrderType(FollowFollowerOrderRelationEntity.ORDER_TYPE_HOLD);
+ relationEntity.setTradeId(followTraderInfoEntity.getId());
+ relationEntity.setTradeMemberId(followTraderInfoEntity.getMemberId());
+ relationEntity.setTradeOrderId(id);
+ followFollowerOrderRelationDao.insert(relationEntity);
+
// 发送爆仓消息
sendOrderBombMsg(holdOrderEntity.getId(), holdOrderEntity.getOpeningType(), forceClosingPrice, holdOrderEntity.getSymbol(), holdOrderEntity.getOperateNo());
--
Gitblit v1.9.1