From 3312b506e4f3a840623071ab56fa8ec68816a811 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Sun, 07 Jun 2020 17:24:46 +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 | 2 src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 6 --- src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java | 4 ++ src/main/java/com/xcong/excoin/modules/contract/entity/ContractOrderEntity.java | 10 ++++ src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java | 1 src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java | 4 +- src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java | 3 + src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java | 12 +++++ src/test/java/com/xcong/excoin/RabbitMqTest.java | 9 ++++ src/main/java/com/xcong/excoin/quartz/job/UsdtCnyExchangePriceUpdateJob.java | 3 - src/main/resources/application-test.yml | 6 +- src/main/resources/application.yml | 4 +- 12 files changed, 45 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java index f5191a0..bab36aa 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java @@ -184,9 +184,9 @@ */ //获取当前的合约持仓 //获取实时盈亏 - BigDecimal profitAndLoss = new BigDecimal("50.000"); + BigDecimal profitAndLoss = new BigDecimal("0"); //获取总付款 - BigDecimal totalPayment = new BigDecimal("50.000"); + BigDecimal totalPayment = new BigDecimal("0"); BigDecimal lastTotalBalance = new BigDecimal("0"); BigDecimal totalBalance = walletContract.getTotalBalance(); lastTotalBalance = totalBalance.add(profitAndLoss); 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 2060785..9a82765 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 @@ -1,5 +1,8 @@ package com.xcong.excoin.modules.contract.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.xcong.excoin.common.system.base.BaseEntity; import lombok.Data; @@ -31,6 +34,11 @@ * 订单状态 撤单 */ public static final int ORDER_STATUS_CANCEL = 2; + + /** + * 订单状态 成交 + */ + public static final int ORDER_STATUS_SUCCESS = 1; /** * 订单类型 开多 @@ -81,7 +89,7 @@ /** * 订单状态 - 1成交 2撤单 */ - private int orderStatus; + private int orderStatus = 1; /** * 委托开仓价 diff --git a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java index 2367df6..b2ad5e4 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java +++ b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractHoldOrderEntityMapper.java @@ -22,5 +22,6 @@ public abstract HoldOrderListVo holdOrderToDto(ContractHoldOrderEntity holdOrderEntity); + @Mapping(target = "openingTime", source = "createTime") public abstract HoldOrderDetailVo holdOrderToOrderDetailVo(ContractHoldOrderEntity holdOrderEntity); } diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java index 12cc92c..7961ea2 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java +++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/HoldOrderDetailVo.java @@ -59,4 +59,8 @@ @ApiModelProperty("止盈价") private BigDecimal stopProfitPrice; + + @ApiModelProperty("倍率杠杆") + private int leverRatio; + } diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java index 53db2fe..25f363d 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java +++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/OrderDetailVo.java @@ -78,4 +78,7 @@ @ApiModelProperty("持仓费") private BigDecimal holdAmount; + @ApiModelProperty("杠杆") + private int leverRatio; + } 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 8d99c52..37832fe 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 @@ -42,7 +42,7 @@ private int symbolCnt; @ApiModelProperty("已实现盈亏") - private BigDecimal rewardRatio; + private BigDecimal rewardAmount; @ApiModelProperty("平仓类型 2平多3平空4爆仓平多5爆仓平空6止盈平多7止盈平空8止损平多9止损平空") private int closingType; 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 47684c4..2bff1e0 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 @@ -188,6 +188,7 @@ contractOrderEntity.setClosingFeeAmount(order.getOpeningFeeAmount()); contractOrderEntity.setClosingPrice(closePrice); contractOrderEntity.setClosingType(6); + contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_MORE); BigDecimal totalReturn = BigDecimal.ZERO; contractOrderService.save(contractOrderEntity); @@ -277,6 +278,7 @@ contractOrderEntity.setClosingFeeAmount(order.getOpeningFeeAmount()); contractOrderEntity.setClosingPrice(closePrice); contractOrderEntity.setClosingType(7); + contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_MORE); BigDecimal totalReturn = BigDecimal.ZERO; contractOrderService.save(contractOrderEntity); @@ -367,6 +369,7 @@ contractOrderEntity.setRewardRatio(returnRate); contractOrderEntity.setClosingFeeAmount(order.getOpeningFeeAmount()); contractOrderEntity.setClosingPrice(closePrice); + contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_MORE); contractOrderEntity.setClosingType(8); BigDecimal totalReturn = BigDecimal.ZERO; contractOrderService.save(contractOrderEntity); @@ -458,6 +461,7 @@ contractOrderEntity.setClosingFeeAmount(order.getOpeningFeeAmount()); contractOrderEntity.setClosingPrice(closePrice); contractOrderEntity.setClosingType(9); + contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_LESS); BigDecimal totalReturn = BigDecimal.ZERO; contractOrderService.save(contractOrderEntity); @@ -554,6 +558,7 @@ contractOrderEntity.setEntrustOpeningPrice(coinsCoinsOrder.getEntrustPrice()); contractOrderEntity.setEntrustTime(coinsCoinsOrder.getCreateTime()); contractOrderEntity.setOpeningTime(new Date()); + contractOrderEntity.setId(null); contractOrderService.save(contractOrderEntity); // 发送爆仓的队列 @@ -621,7 +626,12 @@ if (isDone) { //删除次仓订单 contractHoldOrderService.removeById(orderId); - + // 订单状态转换 + if (ContractOrderEntity.ORDER_TYPE_OPEN_MORE == contractOrderEntity.getOrderType()) { + contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_MORE); + } else { + contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_LESS); + } //更新主表订单状态位为“已平仓” contractOrderEntity.setId(null); contractOrderEntity.setClosingPrice(nowPrice); 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 681a557..3e03322 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,14 +133,8 @@ 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()); // 计算佣金 ThreadPoolUtils.calReturnMoney(memberEntity.getId(), contractOrderEntity.getClosingFeeAmount(), contractOrderEntity, AgentReturnEntity.ORDER_TYPE_CLOSE); diff --git a/src/main/java/com/xcong/excoin/quartz/job/UsdtCnyExchangePriceUpdateJob.java b/src/main/java/com/xcong/excoin/quartz/job/UsdtCnyExchangePriceUpdateJob.java index 6f87c46..96dc366 100644 --- a/src/main/java/com/xcong/excoin/quartz/job/UsdtCnyExchangePriceUpdateJob.java +++ b/src/main/java/com/xcong/excoin/quartz/job/UsdtCnyExchangePriceUpdateJob.java @@ -58,9 +58,6 @@ String code = jsonObject.getString("code"); if ("200".equals(code)) { JSONObject jsonData = (JSONObject) jsonObject.get("data"); - log.info("{}", jsonData); - log.info("{}", jsonData.getDouble("price")); - log.info("{}", jsonData.getString("price")); cnyUsdtExchangeDao.updateUsdt(BigDecimal.valueOf(jsonData.getDouble("price"))); } } catch (Exception e) { diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 98f6ea1..5b5008b 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -94,9 +94,9 @@ debug: true redis_expire: 3000 kline-update-job: false - newest-price-update-job: false - other-job: false - rabbit-consumer: false + newest-price-update-job: true + other-job: true + rabbit-consumer: true aliyun: oss: diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b28cd2d..cf1a6f1 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -96,10 +96,10 @@ # k线更新任务控制 kline-update-job: false #最新价任务控制 - newest-price-update-job: true + newest-price-update-job: false #其他任务控制 other-job: false - rabbit-consumer: true + rabbit-consumer: false aliyun: oss: diff --git a/src/test/java/com/xcong/excoin/RabbitMqTest.java b/src/test/java/com/xcong/excoin/RabbitMqTest.java index 82b668b..32f820e 100644 --- a/src/test/java/com/xcong/excoin/RabbitMqTest.java +++ b/src/test/java/com/xcong/excoin/RabbitMqTest.java @@ -1,5 +1,6 @@ package com.xcong.excoin; +import com.xcong.excoin.rabbit.pricequeue.WebsocketPriceService; import com.xcong.excoin.rabbit.producer.TestProducer; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -16,9 +17,17 @@ @Autowired private TestProducer testProducer; + @Resource + private WebsocketPriceService websocketPriceService; @Test public void sendTestMsg() { testProducer.sendTestMsg("this is test msg"); } + + @Test + public void bombTest() { + + websocketPriceService.comparePriceDesc("BTC/USDT", "9608"); + } } -- Gitblit v1.9.1