From 1c9cf8c8237f739f3e62beaa637e48cc8077e934 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 04 Sep 2020 14:47:40 +0800
Subject: [PATCH] Merge branch 'whole_new' of https://gitee.com/chonggaoxiao/new_excoin into whole_new
---
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 35 +++++++++++++++++++++++++++++++++--
1 files changed, 33 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
index 9037b2c..4a100fa 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
import com.xcong.excoin.common.contants.AppContants;
import com.xcong.excoin.common.enumerates.CoinTypeEnum;
import com.xcong.excoin.common.enumerates.OrderClosingTypeEnum;
@@ -258,7 +259,7 @@
MemberEntity memberEntity = memberDao.selectById(holdOrderEntity.getMemberId());
- MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(holdOrderEntity.getMemberId(), CoinTypeConvert.convertContractTypeToCoin(symbol));
+ MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(holdOrderEntity.getMemberId(), CoinTypeEnum.USDT.name());
if (walletContract != null) {
BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(symbol);
// 盈亏
@@ -324,9 +325,19 @@
if (holdOrderEntity.getSymbolCntSale() != 0) {
holdOrderEntity.setOpeningFeeAmount(holdOrderEntity.getOpeningFeeAmount().subtract(fee));
holdOrderEntity.setBondAmount(holdOrderEntity.getBondAmount().subtract(bondAmount));
+ BigDecimal rewardAmount = holdOrderEntity.getRewardAmount() == null ? BigDecimal.ZERO : holdOrderEntity.getRewardAmount();
+ holdOrderEntity.setRewardAmount(rewardAmount.add(profitOrLoss));
contractHoldOrderDao.updateById(holdOrderEntity);
} else {
contractHoldOrderDao.deleteById(holdOrderEntity.getId());
+
+ // 若平掉所有张数,若存在委托平仓,则删除委托平仓记录
+ List<ContractEntrustOrderEntity> entrustOrders = contractEntrustOrderDao.selectEntrustOrderByOrderNo(holdOrderEntity.getOrderNo());
+ if (CollUtil.isNotEmpty(entrustOrders)) {
+ for (ContractEntrustOrderEntity entrustOrder : entrustOrders) {
+ contractEntrustOrderDao.deleteById(entrustOrder.getId());
+ }
+ }
}
BigDecimal changeAmount = profitOrLoss.add(bondAmount);
@@ -369,7 +380,7 @@
String symbol = entrustOrder.getSymbol();
MemberEntity memberEntity = memberDao.selectById(memberId);
- MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, CoinTypeConvert.convertContractTypeToCoin(symbol));
+ MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, CoinTypeEnum.USDT.name());
BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(symbol);
@@ -377,6 +388,13 @@
int closeCnt = entrustOrder.getSymbolCnt();
ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectWholeHoldOrderByOrderType(memberId, orderType, symbol);
+
+ List<Object> types = redisUtils.lGet(AppContants.RABBIT_TYPE + holdOrderEntity.getId(), 0, -1);
+ if(types.contains(9) || types.contains(10) || types.contains(11) || types.contains(12)) {
+ log.info("存在止盈/止损 orderId : {}, types : {}", holdOrderEntity.getId(), JSONObject.toJSONString(types));
+ return;
+ }
+
BigDecimal profitOrLoss;
int closingType;
// 平多
@@ -449,4 +467,17 @@
// 计算佣金
ThreadPoolUtils.calReturnMoney(memberEntity.getId(), fee, contractOrderEntity, AgentReturnEntity.ORDER_TYPE_CLOSE);
}
+
+
+ @Override
+ public void wholeBombOrder(MemberEntity memberEntity) {
+ Long memberId = memberEntity.getId();
+ List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberId, null);
+
+ if (CollUtil.isNotEmpty(holdOrderEntities)) {
+
+ } else {
+ log.info("无当前持仓");
+ }
+ }
}
--
Gitblit v1.9.1