From 4a8c4e149d3c1ee75e99d64632d71eab454f30b6 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 29 Jan 2021 17:24:05 +0800 Subject: [PATCH] Merge branch 'whole_new' of https://gitee.com/chonggaoxiao/new_excoin.git into whole_new --- src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 3 +++ src/test/java/com/xcong/excoin/WholeTest.java | 6 +++--- src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 12 ++++++------ src/main/java/com/xcong/excoin/rabbit/pricequeue/OrderOperatePriceService.java | 5 ++++- 4 files changed, 16 insertions(+), 10 deletions(-) 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 11d154e..72c565f 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 @@ -197,9 +197,6 @@ if (i > 0) { memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId()); - // 全仓爆仓 - ThreadPoolUtils.sendWholePrice(memberEntity.getId()); - // 发送预估强平价 ThreadPoolUtils.sendWholeForceClosingPrice(submitOrderDto.getSymbol(), memberEntity); // 计算佣金 @@ -211,6 +208,9 @@ } else { LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), prePaymentAmount, walletContract.getAvailableBalance().subtract(prePaymentAmount), submitOrderDto.getSymbol(), "买跌持仓", "买跌:" + submitOrderDto.getSymbol()); } + + // 全仓爆仓 + ThreadPoolUtils.sendWholePrice(memberEntity.getId()); // 提交成功 return Result.ok(MessageSourceUtils.getString("member_service_0024")); @@ -250,9 +250,6 @@ if (i > 0) { memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId()); - // 全仓爆仓 - ThreadPoolUtils.sendWholePrice(memberEntity.getId()); - // 发送预估强平价 ThreadPoolUtils.sendWholeForceClosingPrice(submitOrderDto.getSymbol(), memberEntity); // 计算佣金 @@ -265,6 +262,9 @@ LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), prePaymentAmount, walletContract.getAvailableBalance().subtract(prePaymentAmount), submitOrderDto.getSymbol(), "买跌持仓", "买跌:" + submitOrderDto.getSymbol()); } + // 全仓爆仓 + ThreadPoolUtils.sendWholePrice(memberEntity.getId()); + // 提交成功 return Result.ok(MessageSourceUtils.getString("member_service_0024")); } 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 b2fd665..c316708 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 @@ -487,6 +487,9 @@ if (CollUtil.isNotEmpty(list)) { for (HoldOrderDataModel holdOrderDataModel : list) { ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectById(holdOrderDataModel.getId()); + if (holdOrderEntity == null) { + continue; + } contractHoldOrderDao.deleteById(holdOrderDataModel.getId()); diff --git a/src/main/java/com/xcong/excoin/rabbit/pricequeue/OrderOperatePriceService.java b/src/main/java/com/xcong/excoin/rabbit/pricequeue/OrderOperatePriceService.java index 503b23e..ca987b9 100644 --- a/src/main/java/com/xcong/excoin/rabbit/pricequeue/OrderOperatePriceService.java +++ b/src/main/java/com/xcong/excoin/rabbit/pricequeue/OrderOperatePriceService.java @@ -152,6 +152,7 @@ */ public static void wholePriceDataOperation(Long memberId) { Map<String, WholePriceDataModel> dataModelMap = WholeDataQueue.MAP; + log.info("操作前:{}", dataModelMap); RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class); ContractHoldOrderDao contractHoldOrderDao = SpringContextHolder.getBean(ContractHoldOrderDao.class); @@ -160,8 +161,10 @@ MemberWalletContractDao memberWalletContractDao = SpringContextHolder.getBean(MemberWalletContractDao.class); List<ContractHoldOrderEntity> holdOrders = contractHoldOrderDao.selectHoldOrderListByMemberId(memberId); + log.info("持仓数量:{}", holdOrders.size()); if (CollUtil.isEmpty(holdOrders)) { if (dataModelMap.get(memberId.toString()) != null) { + log.info("平仓后执行"); dataModelMap.remove(memberId.toString()); redisUtils.set(AppContants.WHOLE_BOMB_MAP, JSONObject.toJSONString(dataModelMap)); @@ -194,8 +197,8 @@ wholePriceData.setMemberId(memberId); dataModelMap.put(wholePriceData.getMemberId().toString(), wholePriceData); - redisUtils.set(AppContants.WHOLE_BOMB_MAP, JSONObject.toJSONString(dataModelMap)); + log.info("dataModelMap为:{}", dataModelMap); } } diff --git a/src/test/java/com/xcong/excoin/WholeTest.java b/src/test/java/com/xcong/excoin/WholeTest.java index a9f7f72..708ff9d 100644 --- a/src/test/java/com/xcong/excoin/WholeTest.java +++ b/src/test/java/com/xcong/excoin/WholeTest.java @@ -182,13 +182,13 @@ // 8301.38608660 // System.out.println(new BigDecimal("9925.29996175").subtract(new BigDecimal("1623.91387515"))); - BigDecimal aa = new BigDecimal("1623.91387515").subtract(new BigDecimal("0.1").multiply(new BigDecimal(50)).multiply(new BigDecimal("32478.27750300"))); + BigDecimal aa = new BigDecimal("9925.29996175").subtract(new BigDecimal("8301.38608660").negate()).subtract(new BigDecimal("1623.91387515")).subtract(new BigDecimal("0.1").multiply(new BigDecimal(50)).multiply(new BigDecimal("32478.27750300"))); BigDecimal bb = new BigDecimal(50).multiply(new BigDecimal("0.1")); BigDecimal divide = aa.divide(bb, 8, BigDecimal.ROUND_DOWN); System.out.println(divide); // -(账户权益-委托保证金-全仓维持保证金-全仓未实现盈利-数量*面值*开仓价格)/(数量*面值) - // 30818.00028568 - // -32153.49472797 + // 30818.00028568 -- + // 29157.72306836 -- } } -- Gitblit v1.9.1