| | |
| | | import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity; |
| | | import com.xcong.excoin.modules.documentary.service.FollowOrderOperationService; |
| | | import com.xcong.excoin.modules.member.dao.MemberDao; |
| | | import com.xcong.excoin.modules.member.dao.MemberLevelRateDao; |
| | | import com.xcong.excoin.modules.member.dao.MemberWalletContractDao; |
| | | import com.xcong.excoin.modules.member.entity.AgentReturnEntity; |
| | | import com.xcong.excoin.modules.member.entity.MemberEntity; |
| | | import com.xcong.excoin.modules.member.entity.MemberLevelRateEntity; |
| | | import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity; |
| | | import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity; |
| | | import com.xcong.excoin.rabbit.pricequeue.OrderModel; |
| | |
| | | private OrderProducer producer; |
| | | @Resource |
| | | private FollowTraderInfoDao followTraderInfoDao; |
| | | |
| | | @Resource |
| | | private RabbitOrderService rabbitOrderService; |
| | | @Resource |
| | | private MemberLevelRateDao memberLevelRateDao; |
| | | |
| | | |
| | | @Override |
| | |
| | | Long tradeMemberId = holdOrderEntity.getMemberId(); |
| | | if (CollUtil.isNotEmpty(followerSettings)) { |
| | | for (FollowFollowerSettingEntity followerSetting : followerSettings) { |
| | | |
| | | if (!followerSetting.getSymbols().contains(holdOrderEntity.getSymbol().replace("/USDT", ""))) { |
| | | log.info("不在跟单币种内,不跟单:{},{}", followerSetting.getSymbols(), holdOrderEntity.getSymbol()); |
| | | continue; |
| | | } |
| | | |
| | | // 当前持仓张数 |
| | | Integer holdingCnt = followFollowerOrderRelationDao.selectFollowerHoldingSymbolCnt(tradeMemberId, followerSetting.getMemberId()); |
| | | |
| | |
| | | MemberEntity memberEntity = memberDao.selectById(followerSetting.getMemberId()); |
| | | // 强平价 |
| | | BigDecimal forceClosingPrice = CalculateUtil.getForceSetPrice(bondAmount, openPrice, symbolCnt, lotNumber, holdOrderEntity.getOpeningType(), memberEntity); |
| | | |
| | | MemberLevelRateEntity levelRateEntity = memberLevelRateDao.selectLeverRateByMemberIdAndSymbol(memberEntity.getId(), holdOrderEntity.getSymbol()); |
| | | ContractHoldOrderEntity followHoldOrder = new ContractHoldOrderEntity(); |
| | | followHoldOrder.setMemberId(memberEntity.getId()); |
| | | followHoldOrder.setOrderNo(commonService.generateOrderNo(memberEntity.getId())); |
| | |
| | | followHoldOrder.setSymbol(holdOrderEntity.getSymbol()); |
| | | followHoldOrder.setSymbolCnt(symbolCnt); |
| | | followHoldOrder.setSymbolSku(lotNumber); |
| | | followHoldOrder.setLeverRatio(holdOrderEntity.getLeverRatio()); |
| | | followHoldOrder.setLeverRatio(levelRateEntity.getLevelRateUp()); |
| | | followHoldOrder.setForceClosingPrice(forceClosingPrice); |
| | | followHoldOrder.setOpeningFeeAmount(openFeePrice); |
| | | followHoldOrder.setOpeningPrice(openPrice); |