From edb19b1fec14d667363b38b90dbb4585a0cc37ef Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 04 Mar 2021 11:32:42 +0800
Subject: [PATCH] 20210304   消息提醒日志

---
 src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java |   27 +++++++++++++++++++++++----
 1 files changed, 23 insertions(+), 4 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 c12b384..cd0d7e9 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
@@ -1,8 +1,11 @@
 package com.xcong.excoin.modules.documentary.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.xcong.excoin.common.enumerates.CoinTypeEnum;
 import com.xcong.excoin.common.enumerates.RabbitPriceTypeEnum;
 import com.xcong.excoin.common.response.Result;
@@ -38,6 +41,7 @@
 import com.xcong.excoin.utils.ThreadPoolUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
@@ -82,12 +86,24 @@
 
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public void addFollowerOrder(Long id) {
-        log.info("进入跟单处理逻辑");
+        log.info("进入跟单处理逻辑 : {}", id);
         // 查询交易员订单
         ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectById(id);
 
+        while (holdOrderEntity == null) {
+            try {
+                log.info("等待事务提交:{}", id);
+                Thread.sleep(200);
+                holdOrderEntity = contractHoldOrderDao.selectById(id);
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+        }
+
         List<FollowFollowerSettingEntity> followerSettings = followFollowerSettingDao.selectAllFollowerSettingByTradeMemberId(holdOrderEntity.getMemberId());
+        log.info("进入跟单处理逻辑---跟单人数"+followerSettings.size());
         // 开仓价
         BigDecimal openPrice = holdOrderEntity.getOpeningPrice();
         PlatformTradeSettingEntity tradeSettingEntity = cacheSettingUtils.getTradeSetting();
@@ -212,9 +228,12 @@
                         LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.OPEN_ORDER_TITLE, StrUtil.format(NoticeConstant.OPEN_ORDER_CONTENT, holdOrderEntity.getSymbol() + "开空", openPrice, followTraderInfoEntity.getNickname()));
                     }
                     //更新更新消息提醒的状态
-                    MemberSettingEntity memberSettingEntity = memberSettingDao.selectById(memberEntity.getId());
-                    memberSettingEntity.setMessageReminder(1);
-                    memberSettingDao.updateById(memberSettingEntity);
+                    MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(memberEntity.getId());
+                    if(ObjectUtil.isNotEmpty(memberSettingEntity)){
+                    	log.info("更新更新消息提醒的状态");
+                    	memberSettingEntity.setMessageReminder(1);
+                    	memberSettingDao.updateById(memberSettingEntity);
+                    }
                 }
             }
         }

--
Gitblit v1.9.1