Helius
2020-08-29 bc4d530071edfb7f1bcff970b7039a1447859c1d
src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractHoldOrderServiceImpl.java
@@ -443,11 +443,11 @@
                // 开多
                if (ContractHoldOrderEntity.OPENING_TYPE_MORE == holdOrderEntity.getOpeningType()) {
                    // (最新价-开仓价)*规格*张数
                    rewardRatio = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
                    rewardRatio = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCntSale()));
                    // 开空
                } else {
                    // (开仓价-最新价)*规格*张数
                    rewardRatio = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
                    rewardRatio = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCntSale()));
                }
                if (memberEntity.getIsProfit() == MemberEntity.IS_PROFIT_Y) {
@@ -546,7 +546,6 @@
        // 更新可平张数
        holdOrderEntity.setSymbolCntSale(sub);
        holdOrderEntity.setSymbolCnt(sub);
        contractHoldOrderDao.updateById(holdOrderEntity);
        // 将待平张数放入缓存
@@ -807,6 +806,11 @@
    @Override
    public Result changeLeverRate(ChangeLeverRateDto changeLeverRateDto) {
        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
        List<ContractHoldOrderEntity> holdOrders = contractHoldOrderDao.selectHoldOrderListForWholeByMemberIdAndSymbol(memberEntity.getId(), changeLeverRateDto.getSymbol());
        if (CollUtil.isNotEmpty(holdOrders)) {
            return Result.fail("存在持仓, 无法调整杠杆");
        }
        MemberLevelRateEntity levelRateEntity = memberLevelRateDao.selectLeverRateByMemberIdAndSymbol(memberEntity.getId(), changeLeverRateDto.getSymbol());
        levelRateEntity.setLevelRateUp(changeLeverRateDto.getLeverRate());
        levelRateEntity.setLevelRateDown(changeLeverRateDto.getLeverRate());