From 61fafb87c2ba69b28fd145a31b72782e528a57da Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 05 Jun 2020 17:40:11 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/chonggaoxiao/new_excoin.git --- src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java | 5 ++++- src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 5 +++++ src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java | 12 ++++++++---- src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java | 2 +- src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java | 9 ++++----- src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java | 1 + 6 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java index 680ca35..2060785 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java +++ b/src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java @@ -27,11 +27,10 @@ */ public static final int TRADE_TYPE_LIMIT_PRICE = 2; - /** - * 订单类型 撤单 + * 订单状态 撤单 */ - public static final int ORDER_TYPE_CANCEL = -1; + public static final int ORDER_STATUS_CANCEL = 2; /** * 订单类型 开多 @@ -75,11 +74,16 @@ private int tradeType; /** - * 订单类型 - 0撤单,1开多,2开空,3平多,4平空 + * 订单类型 - 1开多,2开空,3平多,4平空 */ private int orderType; /** + * 订单状态 - 1成交 2撤单 + */ + private int orderStatus; + + /** * 委托开仓价 */ private BigDecimal entrustOpeningPrice; diff --git a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java index bd11e1e..a80d1ef 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java +++ b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java @@ -24,6 +24,7 @@ @Mapping(source = "entrustPrice", target = "entrustOpeningPrice") @Mapping(source = "createTime", target = "entrustTime") @Mapping(source = "entrustAmount", target = "prePaymentAmount") + @Mapping(source = "entrustType", target = "orderType") public abstract ContractOrderEntity entrustOrderToOrder(ContractEntrustOrderEntity orderEntity); @Mapping(source = "createTime", target = "entrustTime") diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java index 6ae45fe..8d99c52 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java +++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderListVo.java @@ -19,9 +19,12 @@ @ApiModelProperty("订单ID") private Long id; - @ApiModelProperty("订单类型 -1撤单,1开多,2开空,3平多,4平空") + @ApiModelProperty("订单类型 1开多,2开空,3平多,4平空") private int orderType; + @ApiModelProperty("订单状态 1成交 2撤单") + private int orderStatus; + @ApiModelProperty("开仓均价") private BigDecimal openingPrice; diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java index 7c1a124..40a9490 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java @@ -172,7 +172,7 @@ ContractOrderEntity orderEntity = ContractEntrustOrderEntityMapper.INSTANCE.entrustOrderToOrder(entrustOrderEntity); orderEntity.setTradeType(ContractOrderEntity.TRADE_TYPE_MARK_PRICE); - orderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CANCEL); + orderEntity.setOrderStatus(ContractOrderEntity.ORDER_STATUS_CANCEL); int i = contractOrderDao.insert(orderEntity); contractEntrustOrderDao.deleteById(entrustOrderEntity.getId()); diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java index 21a2833..47684c4 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java @@ -198,6 +198,7 @@ totalReturn = needReturn.subtract(contractOrderEntity.getClosingFeeAmount()); // 总的是收益-平仓手续费 BigDecimal totalBalance = profitLossPrice.subtract(contractOrderEntity.getClosingFeeAmount()); + memberWalletContractService.increaseWalletContractBalanceById(totalReturn, totalBalance, null, wallet.getId()); // 流水记录 TODO 531e @@ -287,8 +288,8 @@ // 更新钱包 // 总的是收益-平仓手续费 BigDecimal totalBalance = profitLossPrice.subtract(contractOrderEntity.getClosingFeeAmount()); - memberWalletContractService.increaseWalletContractBalanceById(totalReturn, totalBalance, null, wallet.getId()); + memberWalletContractService.increaseWalletContractBalanceById(totalReturn, totalBalance, null, wallet.getId()); insertAccountFlow(order, wallet, profitLossPrice, "止盈平仓"); @@ -371,16 +372,14 @@ contractOrderService.save(contractOrderEntity); contractHoldOrderService.removeById(order.getId()); - log.info("保证金:{}", prePrice); - log.info("盈亏:{}", profitLossPrice); // 将需要退回的减去手续费 BigDecimal needReturn = prePrice.add(profitLossPrice); - log.info("退回的钱:{}", needReturn); //总退回金额=保证金+收益-手续费 totalReturn = needReturn.subtract(contractOrderEntity.getClosingFeeAmount()); // 更新钱包 // 总的是收益-平仓手续费 BigDecimal totalBalance = profitLossPrice.subtract(contractOrderEntity.getClosingFeeAmount()); + memberWalletContractService.increaseWalletContractBalanceById(totalReturn, totalBalance, null, wallet.getId()); insertAccountFlow(order, wallet, profitLossPrice, "开多止损平仓"); @@ -425,7 +424,7 @@ String symbol = order.getSymbol(); Long memberId = order.getMemberId(); // 本次需要退回的预付款 - BigDecimal prePrice = order.getPrePaymentAmount(); + BigDecimal prePrice = order.getBondAmount(); MemberWalletContractEntity wallet = memberWalletContractService.findWalletContractByMemberIdAndSymbol(memberId, "USDT"); if (wallet != null) { diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java index ebba922..681a557 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java @@ -133,8 +133,13 @@ contractOrderEntity.setRewardRatio(rewardRatio); contractOrderDao.insert(contractOrderEntity); + log.info("盈亏:{}", profitOrLoss); + log.info("手续费:{}", holdOrderEntity.getOpeningFeeAmount()); + log.info("保证金:{}", holdOrderEntity.getBondAmount()); // 计算盈利或亏损后可用金额和总金额应该增加或减少的 BigDecimal addMoney = holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()).add(profitOrLoss); + log.info("金额:{}", addMoney); + log.info("----->:{}", contractOrderEntity.getOpeningFeeAmount()); memberWalletContractDao.increaseWalletContractBalanceById(addMoney, profitOrLoss.subtract(contractOrderEntity.getOpeningFeeAmount()), null, walletContract.getId()); // 计算佣金 -- Gitblit v1.9.1