From e625081da5724a0c11b838e8b61d47364abebc35 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 16 Jul 2020 11:00:29 +0800
Subject: [PATCH] modify closing spread

---
 src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java                   |    5 +++++
 src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java |    4 ++--
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java        |    3 ++-
 3 files changed, 9 insertions(+), 3 deletions(-)

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 842cef8..2a2aac9 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
@@ -95,14 +95,14 @@
             Integer closingType = null;
             // 开多
             if (ContractHoldOrderEntity.OPENING_TYPE_MORE == holdOrderEntity.getOpeningType()) {
-                newPrice = newPrice.multiply(BigDecimal.ONE.subtract(memberEntity.getSpread().divide(BigDecimal.valueOf(10000), 4, BigDecimal.ROUND_DOWN)));
+                newPrice = newPrice.multiply(BigDecimal.ONE.subtract(memberEntity.getClosingSpread().divide(BigDecimal.valueOf(10000), 4, BigDecimal.ROUND_DOWN)));
                 // (最新价-开仓价)*规格*张数
                 profitOrLoss = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
                 orderType = ContractOrderEntity.ORDER_TYPE_CLOSE_MORE;
                 closingType = OrderClosingTypeEnum.CLOSE_MORE.getValue();
                 // 开空
             } else {
-                newPrice = newPrice.multiply(BigDecimal.ONE.add(memberEntity.getSpread().divide(BigDecimal.valueOf(10000), 4, BigDecimal.ROUND_DOWN)));
+                newPrice = newPrice.multiply(BigDecimal.ONE.add(memberEntity.getClosingSpread().divide(BigDecimal.valueOf(10000), 4, BigDecimal.ROUND_DOWN)));
                 // (开仓价-最新价)*规格*张数
                 profitOrLoss = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
                 orderType = ContractOrderEntity.ORDER_TYPE_CLOSE_LESS;
diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java
index 2389e94..1268b7f 100644
--- a/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java
@@ -154,4 +154,9 @@
      * 滑点
      */
     private BigDecimal spread;
+
+    /**
+     * 平仓点数
+     */
+    private BigDecimal closingSpread;
 }
diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
index 96cbf6d..ea7e99e 100644
--- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -154,7 +154,8 @@
         member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_UN_SUBMIT);
         member.setIsForce(0);
         member.setIsProfit(0);
-        member.setSpread(BigDecimal.ZERO);
+        member.setSpread(BigDecimal.ONE);
+        member.setSpread(BigDecimal.ONE);
         memberDao.insert(member);
 
         String inviteId = ShareCodeUtil.toSerialCode(member.getId());

--
Gitblit v1.9.1