KKSU
2024-04-17 d23645e976981bc9b670eea1d469fe8a36be309c
src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java
@@ -128,6 +128,7 @@
                }
            } catch (Exception e) {
                log.error("平仓异常", e);
                throw e;
            }
        }
@@ -181,12 +182,12 @@
            // 盈亏比例(回报率)
            BigDecimal rewardRatio = profitOrLoss.divide(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()), 8, BigDecimal.ROUND_DOWN);
            FollowTraderInfoEntity traderInfoEntity = null;
            FollowTraderInfoEntity traderInfoEntity = followTraderInfoDao.selectTraderInfoByOrderId(holdOrderEntity.getId());
            // 判断当前订单是否为跟单
            if (ContractOrderEntity.CONTRACTTYPE_DOCUMENTARY == holdOrderEntity.getContractType()) {
                // 若不为交易员,则计算跟随者订单返利
                if (!MemberEntity.IS_TRADER_Y.equals(memberEntity.getIsTrader())) {
                    traderInfoEntity = followTraderInfoDao.selectTraderInfoByOrderId(holdOrderEntity.getId());
                // 若不为交易员且不是测试账号,则计算跟随者订单返利
                if (!MemberEntity.IS_TRADER_Y.equals(memberEntity.getIsTrader()) &&
                        !MemberEntity.ACCOUNT_TYPE_TEST.equals(memberEntity.getAccountType())) {
                    if (profitOrLoss.compareTo(BigDecimal.ZERO) > 0) {
                        // 计算需返利给交易员的金额
                        BigDecimal returnMoney = profitOrLoss.multiply(traderInfoEntity.getProfitRatio());
@@ -536,7 +537,7 @@
                    continue;
                }
                holdOrderEntity.setStopLossPrice(CalculateUtil.calForcePriceForWhole(memberEntity, holdOrderEntity));
                holdOrderEntity.setStopLossPrice(CalculateUtil.calWholePriceTwo(memberEntity, holdOrderEntity, 2));
                contractHoldOrderDao.deleteById(holdOrderDataModel.getId());
                ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(holdOrderEntity);