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