| | |
| | | import com.xcong.excoin.modules.documentary.dao.FollowFollowerProfitDao; |
| | | import com.xcong.excoin.modules.documentary.dao.FollowFollowerSettingDao; |
| | | import com.xcong.excoin.modules.documentary.dao.FollowTraderInfoDao; |
| | | import com.xcong.excoin.modules.documentary.entity.FollowFollowerOrderRelationEntity; |
| | | import com.xcong.excoin.modules.documentary.entity.FollowFollowerProfitEntity; |
| | | import com.xcong.excoin.modules.documentary.entity.FollowFollowerSettingEntity; |
| | | import com.xcong.excoin.modules.documentary.entity.FollowTraderInfoEntity; |
| | |
| | | @Resource |
| | | private FollowTraderInfoDao followTraderInfoDao; |
| | | |
| | | |
| | | @Override |
| | | public void addFollowerOrder(Long id) { |
| | | log.info("进入跟单处理逻辑"); |
| | | // 查询交易员订单 |
| | | ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectById(id); |
| | | |
| | | List<FollowFollowerSettingEntity> followerSettings = followFollowerSettingDao.selectAllFollowerSettingByTradeMemberId(holdOrderEntity.getMemberId()); |
| | | log.info("---->{}, {}", followerSettings.size(), holdOrderEntity.getMemberId()); |
| | | // 开仓价 |
| | | BigDecimal openPrice = holdOrderEntity.getOpeningPrice(); |
| | | PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting(); |
| | |
| | | followHoldOrder.setBondAmount(bondAmount.add(openFeePrice)); |
| | | followHoldOrder.setOperateNo(1); |
| | | // 设置合约类型 |
| | | holdOrderEntity.setContractType(ContractOrderEntity.CONTRACTTYPE_DOCUMENTARY); |
| | | followHoldOrder.setContractType(ContractOrderEntity.CONTRACTTYPE_DOCUMENTARY); |
| | | |
| | | ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(holdOrderEntity); |
| | | ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(followHoldOrder); |
| | | contractOrderEntity.setOpeningTime(new Date()); |
| | | contractHoldOrderDao.insert(holdOrderEntity); |
| | | contractHoldOrderDao.insert(followHoldOrder); |
| | | int i = contractOrderDao.insert(contractOrderEntity); |
| | | |
| | | log.info("----->{}", i); |
| | | if (i > 0) { |
| | | memberWalletContractDao.increaseWalletContractBalanceById(prePaymentAmount.negate(), openFeePrice.negate(), null, walletContract.getId()); |
| | | |
| | | FollowFollowerOrderRelationEntity relationEntity = new FollowFollowerOrderRelationEntity(); |
| | | relationEntity.setIsShow(FollowFollowerOrderRelationEntity.IS_SHOW_Y); |
| | | relationEntity.setMemberId(followHoldOrder.getMemberId()); |
| | | relationEntity.setOrderId(followHoldOrder.getId()); |
| | | relationEntity.setOrderType(FollowFollowerOrderRelationEntity.ORDER_TYPE_HOLD); |
| | | relationEntity.setTradeId(followTraderInfoEntity.getId()); |
| | | relationEntity.setTradeMemberId(followTraderInfoEntity.getMemberId()); |
| | | relationEntity.setTradeOrderId(id); |
| | | followFollowerOrderRelationDao.insert(relationEntity); |
| | | |
| | | // 发送爆仓消息 |
| | | sendOrderBombMsg(holdOrderEntity.getId(), holdOrderEntity.getOpeningType(), forceClosingPrice, holdOrderEntity.getSymbol(), holdOrderEntity.getOperateNo()); |
| | | |