From 3d0aa53f29bf42e9f2a28cdbbd109f0e9bb86e7c Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 26 Mar 2021 18:17:27 +0800 Subject: [PATCH] 20210326 交易员列表定时器 --- src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java | 12 +++++++----- 1 files changed, 7 insertions(+), 5 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 9c93699..7a9967d 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 @@ -499,7 +499,7 @@ } // 回报率 - BigDecimal returnRate = rewardRatio.divide(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getPrePaymentAmount()), 8, BigDecimal.ROUND_DOWN); + BigDecimal returnRate = rewardRatio.divide(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()), 8, BigDecimal.ROUND_DOWN); // 成本价格 BigDecimal costPrice = holdOrderEntity.getOpeningPrice() @@ -512,7 +512,7 @@ // if (canAddMaxBond.compareTo(BigDecimal.ZERO) < 0) { // canAddMaxBond = BigDecimal.ZERO; // } - BigDecimal canReduceMaxBond = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()); + BigDecimal canReduceMaxBond = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getPrePaymentAmount()); if (rewardRatio.compareTo(BigDecimal.ZERO) < 0) { canReduceMaxBond = canReduceMaxBond.add(rewardRatio); @@ -549,7 +549,7 @@ } result.put("hold", resultList); - result.put("totalProfitOrLoss", totalProfitOrLoss.setScale(4, BigDecimal.ROUND_DOWN).toPlainString()); + result.put("totalProfitOrLoss", totalProfitOrLoss.setScale(2, BigDecimal.ROUND_DOWN).toPlainString()); return Result.ok(result); } return Result.ok("success"); @@ -859,7 +859,7 @@ BigDecimal newPriceSymbol = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol))); List<ContractEntrustOrderEntity> entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId()); - List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberId(memberEntity.getId()); + List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbolTest(memberEntity.getId(), ContractOrderEntity.CONTRACTTYPE_NORMAL); MemberWalletContractEntity walletContractEntity = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeEnum.USDT.name()); // if (memberEntity.getContractPositionType().equals(ContractEntrustOrderEntity.POSITION_TYPE_ADD)) { // // 当前合约委托单 @@ -951,6 +951,7 @@ contractMoneyInfoVo.setLeverRate(rateEntity.getLevelRateUp()); contractMoneyInfoVo.setMoreBondAmount(moreBondAmount); contractMoneyInfoVo.setLessBondAmount(lessBondAmount); + contractMoneyInfoVo.setProfitOrLess(totalProfitOrLess); return Result.ok(contractMoneyInfoVo); } @@ -1139,7 +1140,7 @@ holdAmount = BigDecimal.ZERO; } - BigDecimal thisTimeHold = holdOrderEntity.getBondAmount().multiply(tradeSettingEntity.getDoingRatio()); + BigDecimal thisTimeHold = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()).multiply(tradeSettingEntity.getDoingRatio()); log.info("订单编号:{}, 持仓费:{}", holdOrderEntity.getOrderNo(), thisTimeHold); MemberEntity memberEntity = memberDao.selectById(holdOrderEntity.getMemberId()); @@ -1153,6 +1154,7 @@ holdOrderEntity.setOperateNo(holdOrderEntity.getOperateNo() + 1); contractHoldOrderDao.updateById(holdOrderEntity); + memberWalletContractDao.increaseWalletContractBalanceById(null, thisTimeHold.negate(), null, holdOrderEntity.getMemberId()); if (ContractEntrustOrderEntity.POSITION_TYPE_ADD == holdOrderEntity.getPositionType()) { // 发送爆仓消息 sendOrderBombMsg(holdOrderEntity.getId(), holdOrderEntity.getOpeningType(), newForcePrice, holdOrderEntity.getSymbol(), holdOrderEntity.getOperateNo(), holdOrderEntity.getMemberId()); -- Gitblit v1.9.1