| | |
| | | relationEntity.setOrderType(FollowFollowerOrderRelationEntity.ORDER_TYPE_HOLD); |
| | | relationEntity.setTradeId(tradeInfo.getId()); |
| | | relationEntity.setTradeMemberId(tradeInfo.getMemberId()); |
| | | relationEntity.setTradeOrderId(holdOrderEntity.getId()); |
| | | relationEntity.setTradeOrderNo(holdOrderEntity.getOrderNo()); |
| | | followFollowerOrderRelationDao.insert(relationEntity); |
| | | |
| | | ThreadPoolUtils.sendFollowOrderTask(holdOrderEntity.getId()); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Result findHoldOrderList(String symbol) { |
| | | public Result findHoldOrderList(String symbol, int type) { |
| | | MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); |
| | | |
| | | List<ContractHoldOrderEntity> list = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbol(memberEntity.getId(), symbol); |
| | | List<ContractHoldOrderEntity> list = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbol(memberEntity.getId(), symbol, type); |
| | | MemberWalletContractEntity walletContractEntity = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), CoinTypeEnum.USDT.name()); |
| | | if (CollUtil.isNotEmpty(list)) { |
| | | BigDecimal totalProfitOrLoss = BigDecimal.ZERO; |
| | |
| | | MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); |
| | | ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectHoldOrderByMemberIdAndId(memberEntity.getId(), id); |
| | | if (holdOrderEntity == null) { |
| | | return Result.fail("订单不存在"); |
| | | // 订单不存在 |
| | | return Result.fail(MessageSourceUtils.getString("order_service_0027")); |
| | | } |
| | | |
| | | if (ContractHoldOrderEntity.ORDER_CAN_CLOSING_N == holdOrderEntity.getIsCanClosing()) { |
| | | return Result.fail("订单暂不可平仓"); |
| | | // 该订单暂不能平仓 |
| | | return Result.fail(MessageSourceUtils.getString("order_service_0045")); |
| | | } |
| | | |
| | | contractHoldOrderDao.updateHoldOrderIsCanClosingById(ContractHoldOrderEntity.ORDER_CAN_CLOSING_N, id); |
| | |
| | | ids.add(id); |
| | | producer.sendCloseTrade(JSONObject.toJSONString(ids)); |
| | | |
| | | return Result.ok("平仓成功"); |
| | | // 平仓成功 |
| | | return Result.ok(MessageSourceUtils.getString("order_service_0044")); |
| | | } |
| | | |
| | | @Override |
| | | public Result cancelHoldOrder(WholeCloseOrderDto wholeCloseOrderDto) { |
| | | MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); |
| | | ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectHoldOrderByMemberIdAndId(memberEntity.getId(), wholeCloseOrderDto.getId()); |
| | | if (holdOrderEntity == null) { |
| | | // 订单不存在 |
| | | return Result.fail(MessageSourceUtils.getString("order_service_0027")); |
| | | } |
| | | |
| | | if (ContractHoldOrderEntity.ORDER_CAN_CLOSING_N == holdOrderEntity.getIsCanClosing()) { |
| | | // 该订单暂不能平仓 |
| | | return Result.fail(MessageSourceUtils.getString("order_service_0045")); |
| | | } |
| | | |
| | | if (wholeCloseOrderDto.getCount() > holdOrderEntity.getSymbolCntSale()) { |
| | | return Result.fail("可平张数不足"); |
| | | } |
| | | |
| | | holdOrderEntity.setSymbolCntSale(holdOrderEntity.getSymbolCntSale() - wholeCloseOrderDto.getCount()); |
| | | contractHoldOrderDao.updateById(holdOrderEntity); |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public Result cancelHoldOrderBatch(SymbolDto symbolDto) { |
| | | MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); |
| | | List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbol(memberEntity.getId(), symbolDto.getSymbol()); |
| | | List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbol(memberEntity.getId(), symbolDto.getSymbol(), 1); |
| | | if (CollUtil.isEmpty(holdOrderEntities)) { |
| | | return Result.fail("订单不存在"); |
| | | } |
| | |
| | | } |
| | | producer.sendPriceOperate(JSONObject.toJSONString(model)); |
| | | } |
| | | |
| | | @Override |
| | | public Result changePositionType() { |
| | | MemberEntity member = LoginUserUtils.getAppLoginUser(); |
| | | Integer positionType = member.getContractPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ADD ? ContractEntrustOrderEntity.POSITION_TYPE_ALL : ContractEntrustOrderEntity.POSITION_TYPE_ADD; |
| | | MemberEntity updateEntity = new MemberEntity(); |
| | | updateEntity.setContractPositionType(positionType); |
| | | updateEntity.setId(member.getId()); |
| | | int i = memberDao.updateById(updateEntity); |
| | | if (i > 0) { |
| | | LoginUserUtils.resetAppLoginUser(member); |
| | | return Result.ok(MessageSourceUtils.getString("member_service_0040")); |
| | | } |
| | | return Result.fail(MessageSourceUtils.getString("member_service_0041")); |
| | | } |
| | | } |