From 16f6d4eedb8e2174f0959d7735a24d6c53d7b6e8 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Thu, 04 Mar 2021 12:02:27 +0800 Subject: [PATCH] 20210304 消息提醒 --- src/main/java/com/xcong/excoin/modules/documentary/service/impl/FollowOrderOperationServiceImpl.java | 30 ++++++++++++++++++++++-------- 1 files changed, 22 insertions(+), 8 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 ae2f137..0260e27 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,6 +1,7 @@ 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; @@ -85,13 +86,24 @@ @Override - @Transactional + @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(); @@ -105,6 +117,14 @@ if (CollUtil.isNotEmpty(followerSettings)) { for (FollowFollowerSettingEntity followerSetting : followerSettings) { + //更新更新消息提醒的状态 + MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(followerSetting.getId()); + if(ObjectUtil.isNotEmpty(memberSettingEntity)){ + Long memberId = memberSettingEntity.getMemberId(); + log.info("更新更新消息提醒的状态"); + memberSettingDao.updateMessageReminderByMemberId(memberId); + } + if (!followerSetting.getSymbols().contains(holdOrderEntity.getSymbol().replace("/USDT", ""))) { log.info("不在跟单币种内,不跟单:{},{}", followerSetting.getSymbols(), holdOrderEntity.getSymbol()); continue; @@ -215,12 +235,6 @@ LogRecordUtils.insertMemberAccountFlow(memberEntity.getId(), prePaymentAmount, walletContract.getAvailableBalance().subtract(prePaymentAmount), holdOrderEntity.getSymbol(), "买跌持仓", "买跌:" + holdOrderEntity.getSymbol()); LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.OPEN_ORDER_TITLE, StrUtil.format(NoticeConstant.OPEN_ORDER_CONTENT, holdOrderEntity.getSymbol() + "开空", openPrice, followTraderInfoEntity.getNickname())); } - //更新更新消息提醒的状态 - //Wrapper<MemberSettingEntity> queryWrapperOrepool = new QueryWrapper<>(); - //((QueryWrapper<MemberSettingEntity>) queryWrapperOrepool).eq("member_id", memberEntity.getId()); - //MemberSettingEntity memberWalletOrepoolEntity = memberSettingDao.selectOne(queryWrapperOrepool); - //memberWalletOrepoolEntity.setMessageReminder(1); - //memberSettingDao.updateById(memberWalletOrepoolEntity); } } } -- Gitblit v1.9.1