Helius
2021-03-04 095d9d75e4f587374f96dcd85e7a0fb3d99d09a9
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("等待事务提交");
                Thread.sleep(500);
                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,11 @@
                        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)){
                       memberSettingEntity.setMessageReminder(1);
                       memberSettingDao.updateById(memberSettingEntity);
                    }
                }
            }
        }