| | |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("平仓异常", e); |
| | | throw e; |
| | | } |
| | | |
| | | } |
| | |
| | | // 盈亏比例(回报率) |
| | | 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()); |