private void updateFundShare(EtfReportInfo etfReportInfo) throws AccountException { BigDecimal fundShare = etfReportInfo.getFillShare(); if (ETFTradeTypeConsts.ETF_ADMIN_REDEEM.equals(etfReportInfo.getTradeType())) { fundShare = fundShare.negate(); } fundService.updateFundShare(etfReportInfo.getFundId(), fundShare); }
private AdjustTradeEvent createPositionEvent( EtfReportInfo etfReportInfo, BaseConfig config, BasketQueryResult basket) throws AccountException { AdjustTradeEvent adjustTradeEvent = new AdjustTradeEvent(); adjustTradeEvent.setTradeLevel(TradeLevelConsts.FILL); if (ETFTradeTypeConsts.ETF_ADMIN_CREATION.equals(etfReportInfo.getTradeType())) { adjustTradeEvent.setTradeType(TradeTypeConsts.ETF_ADMIN_SUBSCRIBE); } if (ETFTradeTypeConsts.ETF_ADMIN_REDEEM.equals(etfReportInfo.getTradeType())) { adjustTradeEvent.setTradeType(TradeTypeConsts.ETF_ADMIN_REDEEM); } adjustTradeEvent.setPortfolioId(config.getPortfolioId()); adjustTradeEvent.setUserId(SYSTEM_USER_ID); adjustTradeEvent.setExchange(etfReportInfo.getEtfExecutionReport2().getExchangeCode()); List<AdjustTradeEventLeg> adjustTradeEventLegs = getTradeEventLegs(etfReportInfo, basket); adjustTradeEvent.setTradeEventlegs(adjustTradeEventLegs); return adjustTradeEvent; }