Helius
2021-04-08 742e80a99ae9e5116c1b1e106bdffd6fde2c22a5
modify force price
4 files modified
17 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/utils/CalculateUtil.java 11 ●●●●● patch | view | raw | blame | history
src/test/java/com/xcong/excoin/WholeTest.java 2 ●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -531,7 +531,7 @@
                holdOrderListVo.setReturnRate(returnRate);
                holdOrderListVo.setProfitOrLoss(rewardRatio);
                if (ContractEntrustOrderEntity.POSITION_TYPE_ALL == memberEntity.getContractPositionType()) {
                    BigDecimal forcePrice = CalculateUtil.calWholePriceTwo(memberEntity, holdOrderEntity);
                    BigDecimal forcePrice = CalculateUtil.calWholePriceTwo(memberEntity, holdOrderEntity, 1);
//                    contractHoldOrderDao.updateForcePriceBySymbolAndMemberId(forcePrice, memberEntity.getId(), holdOrderEntity.getSymbol());
                    holdOrderListVo.setForceClosingPrice(forcePrice);
                }
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -536,7 +536,7 @@
                    continue;
                }
                holdOrderEntity.setStopLossPrice(CalculateUtil.calWholePriceTwo(memberEntity, holdOrderEntity));
                holdOrderEntity.setStopLossPrice(CalculateUtil.calWholePriceTwo(memberEntity, holdOrderEntity, 2));
                contractHoldOrderDao.deleteById(holdOrderDataModel.getId());
                ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(holdOrderEntity);
src/main/java/com/xcong/excoin/utils/CalculateUtil.java
@@ -211,7 +211,7 @@
     * @param contractHoldOrderEntity
     * @return
     */
    public static BigDecimal calWholePriceTwo(MemberEntity memberEntity, ContractHoldOrderEntity contractHoldOrderEntity) {
    public static BigDecimal calWholePriceTwo(MemberEntity memberEntity, ContractHoldOrderEntity contractHoldOrderEntity, int type) {
        ContractHoldOrderDao holdOrderDao = SpringContextHolder.getBean(ContractHoldOrderDao.class);
        MemberWalletContractDao walletContractDao = SpringContextHolder.getBean(MemberWalletContractDao.class);
        RedisUtils redisUtils = SpringContextHolder.getBean(RedisUtils.class);
@@ -255,6 +255,15 @@
            BigDecimal divideParent = contractHoldOrderEntity.getSymbolSku().multiply(new BigDecimal(contractHoldOrderEntity.getSymbolCntSale()));
            forcePrice = divideChild.divide(divideParent, 8, BigDecimal.ROUND_DOWN);
            if (type == 2) {
                log.info("=======全仓爆仓=======");
                log.info("holdBond : {}", holdBond);
                log.info("cost : {}", cost);
                log.info("ratio : {}", ratio);
                log.info("orderProfitOrLoss : {}", orderProfitOrLoss);
                log.info("total : {}", walletContract.getTotalBalance());
                log.info("qy : {}", qy);
            }
        }
        return forcePrice;
    }
src/test/java/com/xcong/excoin/WholeTest.java
@@ -203,7 +203,7 @@
        MemberEntity memberEntity = memberDao.selectById(15L);
        ContractHoldOrderEntity holdOrder = contractHoldOrderDao.selectById(724L);
        System.out.println(CalculateUtil.calWholePriceTwo(memberEntity, holdOrder));
        System.out.println(CalculateUtil.calWholePriceTwo(memberEntity, holdOrder, 2));
    }
    @Test