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