From 10b528bb1c00d756707f01f0886f4cdaf0865077 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 04 Mar 2021 15:21:28 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java index 95f72b8..e0f411b 100644 --- a/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java @@ -34,12 +34,14 @@ import com.xcong.excoin.modules.member.entity.*; import com.xcong.excoin.modules.platform.entity.PlatformTradeSettingEntity; import com.xcong.excoin.rabbit.pricequeue.OrderModel; +import com.xcong.excoin.rabbit.producer.FollowProducer; import com.xcong.excoin.rabbit.producer.OrderProducer; import com.xcong.excoin.utils.CacheSettingUtils; import com.xcong.excoin.utils.CalculateUtil; import com.xcong.excoin.utils.LogRecordUtils; import com.xcong.excoin.utils.ThreadPoolUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -84,19 +86,23 @@ @Resource private MemberSettingDao memberSettingDao; + @Autowired + private FollowProducer followProducer; + @Override -// @Transactional(rollbackFor = Exception.class) + @Transactional(rollbackFor = Exception.class) public void addFollowerOrder(Long id) { log.info("进入跟单处理逻辑 : {}", id); // 查询交易员订单 ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectById(id); - while (holdOrderEntity == null) { + if (holdOrderEntity == null) { try { log.info("等待事务提交:{}", id); Thread.sleep(200); - holdOrderEntity = contractHoldOrderDao.selectById(id); + followProducer.sendAddFollowOrder(id); + return; } catch (InterruptedException e) { e.printStackTrace(); } -- Gitblit v1.9.1