| | |
| | | import com.xcong.excoin.modules.contract.parameter.dto.ChangeBondDto; |
| | | import com.xcong.excoin.modules.contract.parameter.dto.ProfitOrLessDto; |
| | | import com.xcong.excoin.modules.contract.parameter.dto.SubmitOrderDto; |
| | | import com.xcong.excoin.modules.contract.parameter.dto.SymbolDto; |
| | | import com.xcong.excoin.modules.contract.parameter.vo.ContractMoneyInfoVo; |
| | | import com.xcong.excoin.modules.contract.parameter.vo.HoldOrderListVo; |
| | | import com.xcong.excoin.modules.contract.service.ContractHoldOrderService; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Result findHoldOrderList() { |
| | | public Result findHoldOrderList(String symbol) { |
| | | MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); |
| | | |
| | | List<ContractHoldOrderEntity> list = contractHoldOrderDao.selectHoldOrderListByMemberId(memberEntity.getId()); |
| | | List<ContractHoldOrderEntity> list = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbol(memberEntity.getId(), symbol); |
| | | if (CollUtil.isNotEmpty(list)) { |
| | | BigDecimal totalProfitOrLoss = BigDecimal.ZERO; |
| | | List<HoldOrderListVo> resultList = new ArrayList<>(); |
| | | for (ContractHoldOrderEntity holdOrderEntity : list) { |
| | | HoldOrderListVo holdOrderListVo = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToDto(holdOrderEntity); |
| | | String symbol = holdOrderEntity.getSymbol(); |
| | | // 获取最新价 |
| | | BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol))); |
| | | BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(symbol); |
| | | BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol()))); |
| | | BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(holdOrderEntity.getSymbol()); |
| | | // 盈亏 |
| | | BigDecimal rewardRatio = BigDecimal.ZERO; |
| | | // 开多 |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Result cancelHoldOrderBatch() { |
| | | public Result cancelHoldOrderBatch(SymbolDto symbolDto) { |
| | | MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); |
| | | List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberId(memberEntity.getId()); |
| | | List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectHoldOrderListByMemberIdAndSymbol(memberEntity.getId(), symbolDto.getSymbol()); |
| | | if (CollUtil.isEmpty(holdOrderEntities)) { |
| | | return Result.fail("订单不存在"); |
| | | } |
| | |
| | | contractHoldOrderDao.updateHoldOrderIsCanClosingById(ContractHoldOrderEntity.ORDER_CAN_CLOSING_N, holdOrderEntity.getId()); |
| | | ids.add(holdOrderEntity.getId()); |
| | | } |
| | | ; |
| | | producer.sendCloseTrade(JSONObject.toJSONString(ids)); |
| | | // producer.sendCloseTrade(JSONObject.toJSONString(ids)); |
| | | return Result.ok("平仓成功"); |
| | | } |
| | | |
| | |
| | | MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); |
| | | |
| | | PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting(); |
| | | // 获取最新价 |
| | | BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol))); |
| | | BigDecimal newPriceSymbol = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(symbol))); |
| | | |
| | | // 当前合约委托单 |
| | | List<ContractEntrustOrderEntity> entrustOrderEntities = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId()); |
| | |
| | | // 总盈利 |
| | | BigDecimal totalProfitOrLess = BigDecimal.ZERO; |
| | | if (CollUtil.isNotEmpty(holdOrderEntities)) { |
| | | BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(symbol); |
| | | for (ContractHoldOrderEntity holdOrderEntity : holdOrderEntities) { |
| | | // 获取最新价 |
| | | BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol()))); |
| | | BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(holdOrderEntity.getSymbol()); |
| | | beUsedBondAmount = beUsedBondAmount.add(holdOrderEntity.getBondAmount()); |
| | | |
| | | // 单个订单盈利 |
| | |
| | | contractMoneyInfoVo.setEquity(equity); |
| | | contractMoneyInfoVo.setFeeRatio(tradeSetting.getFeeRatio()); |
| | | contractMoneyInfoVo.setLeverAgeRatio(tradeSetting.getLeverageRatio()); |
| | | contractMoneyInfoVo.setNewPrice(newPrice); |
| | | contractMoneyInfoVo.setNewPrice(newPriceSymbol); |
| | | contractMoneyInfoVo.setSymbolSku(cacheSettingUtils.getSymbolSku(symbol)); |
| | | contractMoneyInfoVo.setLeverRate(rateEntity.getLevelRateUp()); |
| | | return Result.ok(contractMoneyInfoVo); |