From 35636f3d0e19f7ec03aa672b9e8eecd6a62063f9 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sun, 13 Sep 2020 03:23:52 +0800
Subject: [PATCH] fix conflicts
---
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++++
src/main/java/com/xcong/excoin/quartz/job/LoopExecutorJob.java | 4 ++--
src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java | 4 ++++
src/main/resources/application.yml | 4 ++++
src/test/java/com/xcong/excoin/SymbolsTest.java | 2 +-
5 files changed, 48 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java b/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java
index a9efce4..74dac92 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/ContractHoldOrderService.java
@@ -46,6 +46,10 @@
public void calHoldOrderHoldFeeAmount();
+<<<<<<< HEAD
public Result changePositionType();
+=======
+ public void calHoldFeeAmountForBondAmount();
+>>>>>>> master
}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
index 1a0d271..cda8ee6 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -478,6 +478,10 @@
canReduceMaxBond = BigDecimal.ZERO;
}
+ if (rewardRatio.compareTo(BigDecimal.ZERO) < 0) {
+ canReduceMaxBond = canReduceMaxBond.add(rewardRatio);
+ }
+
holdOrderListVo.setCanReduceMaxBond(canReduceMaxBond);
holdOrderListVo.setCanAddMaxBond(walletContractEntity.getAvailableBalance());
holdOrderListVo.setReturnRate(returnRate);
@@ -951,4 +955,37 @@
}
return Result.fail(MessageSourceUtils.getString("member_service_0041"));
}
+
+ @Transactional(rollbackFor = Exception.class)
+ @Override
+ public void calHoldFeeAmountForBondAmount() {
+ List<ContractHoldOrderEntity> list = contractHoldOrderDao.selectAllHoldOrder();
+ PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
+
+ if (CollUtil.isNotEmpty(list)) {
+ for (ContractHoldOrderEntity holdOrderEntity : list) {
+ BigDecimal holdAmount = holdOrderEntity.getHoldAmount();
+ if (holdAmount == null) {
+ holdAmount = BigDecimal.ZERO;
+ }
+
+ BigDecimal thisTimeHold = holdOrderEntity.getBondAmount().multiply(tradeSettingEntity.getDoingRatio());
+ log.info("订单编号:{}, 持仓费:{}", holdOrderEntity.getOrderNo(), thisTimeHold);
+
+ MemberEntity memberEntity = memberDao.selectById(holdOrderEntity.getMemberId());
+ BigDecimal subBond = holdOrderEntity.getBondAmount().subtract(thisTimeHold);
+
+ BigDecimal newForcePrice = CalculateUtil.getForceSetPrice(subBond.subtract(holdOrderEntity.getOpeningFeeAmount()), holdOrderEntity.getOpeningPrice(), holdOrderEntity.getSymbolCnt(), holdOrderEntity.getSymbolSku(), holdOrderEntity.getOpeningType(), memberEntity);
+ holdAmount = holdAmount.add(thisTimeHold);
+ holdOrderEntity.setBondAmount(subBond);
+ holdOrderEntity.setHoldAmount(holdAmount);
+ holdOrderEntity.setForceClosingPrice(newForcePrice);
+ holdOrderEntity.setOperateNo(holdOrderEntity.getOperateNo() + 1);
+ contractHoldOrderDao.updateById(holdOrderEntity);
+
+ // 发送爆仓消息
+ sendOrderBombMsg(holdOrderEntity.getId(), holdOrderEntity.getOpeningType(), newForcePrice, holdOrderEntity.getSymbol(), holdOrderEntity.getOperateNo(), holdOrderEntity.getMemberId());
+ }
+ }
+ }
}
diff --git a/src/main/java/com/xcong/excoin/quartz/job/LoopExecutorJob.java b/src/main/java/com/xcong/excoin/quartz/job/LoopExecutorJob.java
index fe7e702..9fc7240 100644
--- a/src/main/java/com/xcong/excoin/quartz/job/LoopExecutorJob.java
+++ b/src/main/java/com/xcong/excoin/quartz/job/LoopExecutorJob.java
@@ -46,11 +46,11 @@
/**
* 持仓费计算
*/
- @Scheduled(cron = "0 0 16/8 * * ?")
+ @Scheduled(cron = "0 0 0/8 * * ?")
public void updateDoingPrice() {
log.info("#持仓费计算#");
try {
- contractHoldOrderService.calHoldOrderHoldFeeAmount();
+ contractHoldOrderService.calHoldFeeAmountForBondAmount();
} catch (Exception e) {
log.error("#持仓费计算错误#", e);
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index ffca27b..5b64d75 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -7,10 +7,14 @@
profiles:
active: dev
datasource:
+<<<<<<< HEAD
# url: jdbc:mysql://rm-bp151tw8er79ig9kb5o.mysql.rds.aliyuncs.com:3306/db_biue?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
# username: ctcoin_data
# password: ctcoin_123
url: jdbc:mysql://120.27.238.55:3306/kss_framework?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
+=======
+ url: jdbc:mysql://120.27.238.55:3306/db_base?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2b8
+>>>>>>> master
username: ct_test
password: 123456
driver-class-name: com.mysql.jdbc.Driver
diff --git a/src/test/java/com/xcong/excoin/SymbolsTest.java b/src/test/java/com/xcong/excoin/SymbolsTest.java
index e46dc05..7cdd104 100644
--- a/src/test/java/com/xcong/excoin/SymbolsTest.java
+++ b/src/test/java/com/xcong/excoin/SymbolsTest.java
@@ -134,7 +134,7 @@
@Test
public void holdAmountTest() {
try {
- contractHoldOrderService.calHoldOrderHoldFeeAmount();
+ contractHoldOrderService.calHoldFeeAmountForBondAmount();
} catch (Exception e) {
log.info("-->", e);
}
--
Gitblit v1.9.1