From 8d3774e6d2440690348dc7fb6fcb6c1a53236255 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 07 Sep 2020 17:43:06 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java |    1 +
 src/main/resources/mapper/contract/ContractHoldOrderDao.xml                              |    8 ++++++++
 src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java            |    2 ++
 src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java                      |    2 +-
 src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java              |    7 +++----
 5 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java
index 3c7570a..a16a8b9 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractHoldOrderDao.java
@@ -60,4 +60,6 @@
     public int updateForcePriceBySymbolAndMemberId(@Param("forcePrice") BigDecimal forcePrice, @Param("memberId") Long memberId, @Param("symbol") String symbol);
 
     public List<Long> selectMemberHasWholeOrder();
+
+    int updateMemberAllHoldOrderClosingStatus(@Param("memberId") Long memberId);
 }
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 0687dea..62169c3 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
@@ -471,6 +471,7 @@
     }
 
 
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public void wholeBombOrder(List<OrderModel> list) {
         for (OrderModel orderModel : list) {
diff --git a/src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java b/src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java
index 263dd48..47e39b2 100644
--- a/src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java
+++ b/src/main/java/com/xcong/excoin/quartz/job/NewestPriceUpdateJob.java
@@ -55,7 +55,7 @@
                 websocketPriceService.comparePriceAsc(symbol, price);
                 websocketPriceService.comparePriceDesc(symbol, price);
                 if ("etcusdt".equalsIgnoreCase(symbol)) {
-//                    websocketPriceService.wholeBomb(symbol, price);
+                    websocketPriceService.wholeBomb(symbol, price);
                 }
                 //System.out.println("比较完毕:"+symbol+"-"+price);
 
diff --git a/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java b/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java
index a6a6dbd..428bd8a 100644
--- a/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java
+++ b/src/main/java/com/xcong/excoin/rabbit/pricequeue/WebsocketPriceService.java
@@ -298,20 +298,19 @@
                         }
                         BigDecimal lotNumber = cacheSettingUtils.getSymbolSku(holdOrderEntity.getSymbol());
                         BigDecimal profitOrLess = CalculateUtil.calOrderProfitOrLess(holdOrderEntity.getOpeningType(), new BigDecimal(currentPrice), holdOrderEntity.getOpeningPrice(), lotNumber, holdOrderEntity.getSymbolCntSale(), memberEntity.getIsProfit());
-                        log.info("profitOrLess : {}, id : {}, symbol : {}, price : {}", profitOrLess, holdOrderEntity.getId(), holdOrderEntity.getSymbol(), currentPrice);
                         totalProfitOrLess = totalProfitOrLess.add(profitOrLess);
                     }
-                    log.info("totalProfitOrLess : {}", totalProfitOrLess);
                     MemberWalletContractEntity wallet = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, CoinTypeEnum.USDT.name());
 
                     BigDecimal sub = wallet.getTotalBalance().add(totalProfitOrLess);
-                    log.info("sub : {}, memberId : {}", sub, memberId);
                     if (sub.compareTo(BigDecimal.ZERO) <= 0) {
                         List<OrderModel> list = new ArrayList<>();
                         OrderModel orderModel = new OrderModel(null, 0, price, symbol, memberId);
                         list.add(orderModel);
                         String content = JSONObject.toJSONString(list);
-//                        orderProducer.sendWholeBomb(content);
+                        orderProducer.sendWholeBomb(content);
+
+                        contractHoldOrderDao.updateMemberAllHoldOrderClosingStatus(memberId);
                     }
                 }
             }
diff --git a/src/main/resources/mapper/contract/ContractHoldOrderDao.xml b/src/main/resources/mapper/contract/ContractHoldOrderDao.xml
index 36994b2..45c0994 100644
--- a/src/main/resources/mapper/contract/ContractHoldOrderDao.xml
+++ b/src/main/resources/mapper/contract/ContractHoldOrderDao.xml
@@ -89,9 +89,17 @@
         where member_id=#{memberId} and symbol=#{symbol}
     </update>
 
+
+    <update id="updateMemberAllHoldOrderClosingStatus">
+        update contract_hold_order
+        set is_can_closing = 0
+        where member_id=#{memberId}
+    </update>
+
     <select id="selectMemberHasWholeOrder" resultType="java.lang.Long">
         select distinct member_id
         from contract_hold_order
         where position_type=2
     </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1