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