From 06c9e8289a5705487f9b9210f1abe08533f2f186 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 05 Aug 2020 18:07:46 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java | 27 ++++++++++++++++++++-------
1 files changed, 20 insertions(+), 7 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 2932949..0173007 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
@@ -13,6 +13,7 @@
import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity;
import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
import com.xcong.excoin.modules.contract.mapper.ContractHoldOrderEntityMapper;
+import com.xcong.excoin.modules.contract.service.RabbitOrderService;
import com.xcong.excoin.modules.documentary.common.NoticeConstant;
import com.xcong.excoin.modules.documentary.dao.FollowFollowerOrderRelationDao;
import com.xcong.excoin.modules.documentary.dao.FollowFollowerProfitDao;
@@ -41,6 +42,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -72,6 +74,9 @@
@Resource
private FollowTraderInfoDao followTraderInfoDao;
+ @Resource
+ private RabbitOrderService rabbitOrderService;
+
@Override
public void addFollowerOrder(Long id) {
@@ -80,7 +85,6 @@
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();
@@ -93,7 +97,6 @@
Long tradeMemberId = holdOrderEntity.getMemberId();
if (CollUtil.isNotEmpty(followerSettings)) {
for (FollowFollowerSettingEntity followerSetting : followerSettings) {
- log.info("循环开始");
// 当前持仓张数
Integer holdingCnt = followFollowerOrderRelationDao.selectFollowerHoldingSymbolCnt(tradeMemberId, followerSetting.getMemberId());
@@ -105,16 +108,14 @@
symbolCnt = followerSetting.getFollowCnt() * holdOrderEntity.getSymbolCnt();
}
- log.info("--->>>{}, {}", symbolCnt, followerSetting.getMaxFollowCnt());
if (followerSetting.getMaxFollowCnt() != null && followerSetting.getMaxFollowCnt() !=0) {
// 若张数+当前持仓张数大于最大持仓张数,则取最大持仓减去当前持仓,若差值小于等于0,则不下单
if (symbolCnt + holdingCnt > followerSetting.getMaxFollowCnt()) {
symbolCnt = followerSetting.getMaxFollowCnt() - holdingCnt;
}
- log.info("--->{}, {}, {}", symbolCnt, followerSetting.getMaxFollowCnt(), holdingCnt);
if (symbolCnt <= 0) {
-// LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.OPEN_ORDER_TITLE, StrUtil.format(NoticeConstant.OPEN_ORDER_CONTENT, holdOrderEntity.getSymbol() + "开空", openPrice, followTraderInfoEntity.getNickname()));
+ LogRecordUtils.insertFollowerNotice(followerSetting.getMemberId(), NoticeConstant.OPEN_ORDER_FOLLOW_FAIL_TITLE, StrUtil.format(NoticeConstant.OPEN_ORDER_FOLLOW_FAIL_CONTENT, followTraderInfoEntity.getNickname()));
continue;
}
}
@@ -172,7 +173,6 @@
contractOrderEntity.setOpeningTime(new Date());
contractHoldOrderDao.insert(followHoldOrder);
int i = contractOrderDao.insert(contractOrderEntity);
- log.info("----->{}", i);
if (i > 0) {
memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId());
@@ -183,7 +183,7 @@
relationEntity.setOrderType(FollowFollowerOrderRelationEntity.ORDER_TYPE_HOLD);
relationEntity.setTradeId(followTraderInfoEntity.getId());
relationEntity.setTradeMemberId(followTraderInfoEntity.getMemberId());
- relationEntity.setTradeOrderId(id);
+ relationEntity.setTradeOrderNo(holdOrderEntity.getOrderNo());
followFollowerOrderRelationDao.insert(relationEntity);
// 发送爆仓消息
@@ -216,4 +216,17 @@
}
producer.sendPriceOperate(JSONObject.toJSONString(model));
}
+
+
+ @Override
+ public void closingFollowOrders(String orderNo) {
+ List<FollowFollowerOrderRelationEntity> orderRelations = followFollowerOrderRelationDao.selectFollowHoldOrderByTradeOrderNo(orderNo);
+ if (CollUtil.isNotEmpty(orderRelations)) {
+ for (FollowFollowerOrderRelationEntity orderRelation : orderRelations) {
+ List<Long> ids= new ArrayList<>();
+ ids.add(orderRelation.getOrderId());
+ rabbitOrderService.cancelHoldOrder(ids);
+ }
+ }
+ }
}
--
Gitblit v1.9.1