Helius
2021-01-29 27e305d2548498ef7747b389d74fa0335275bd97
src/main/java/com/xcong/excoin/utils/ThreadPoolUtils.java
@@ -2,16 +2,21 @@
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONObject;
import com.xcong.excoin.common.contants.AppContants;
import com.xcong.excoin.common.enumerates.CoinTypeEnum;
import com.xcong.excoin.modules.contract.dao.ContractEntrustOrderDao;
import com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao;
import com.xcong.excoin.modules.contract.dao.ContractOrderDao;
import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity;
import com.xcong.excoin.modules.contract.entity.ContractHoldOrderEntity;
import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
import com.xcong.excoin.modules.contract.mapper.ContractHoldOrderEntityMapper;
import com.xcong.excoin.modules.contract.service.impl.OrderWebsocketServiceImpl;
import com.xcong.excoin.modules.documentary.service.FollowOrderOperationService;
import com.xcong.excoin.modules.member.dao.MemberWalletContractDao;
import com.xcong.excoin.modules.member.entity.MemberEntity;
import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity;
import com.xcong.excoin.rabbit.pricequeue.whole.HoldOrderDataModel;
import com.xcong.excoin.rabbit.pricequeue.whole.WholePriceDataModel;
import com.xcong.excoin.rabbit.producer.OrderProducer;
import com.xcong.excoin.utils.dingtalk.DingTalkUtils;
@@ -103,36 +108,8 @@
     * @param memberId
     */
    public static void sendWholePrice(@NotNull Long memberId) {
        EXECUTOR.execute(new Runnable() {
            @Override
            public void run() {
                log.info("全仓操作价格");
                ContractHoldOrderDao contractHoldOrderDao = SpringContextHolder.getBean(ContractHoldOrderDao.class);
                MemberWalletContractDao memberWalletContractDao = SpringContextHolder.getBean(MemberWalletContractDao.class);
                List<ContractHoldOrderEntity> holdOrders = contractHoldOrderDao.selectHoldOrderListByMemberId(memberId);
                if (CollUtil.isEmpty(holdOrders)) {
                    return;
                }
                MemberWalletContractEntity wallet = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, CoinTypeEnum.USDT.name());
                WholePriceDataModel wholePriceData = new WholePriceDataModel();
                wholePriceData.setList(holdOrders);
                BigDecimal totalHoldBond = BigDecimal.ZERO;
                for (ContractHoldOrderEntity holdOrder : holdOrders) {
                    totalHoldBond = totalHoldBond.add(holdOrder.getHoldBond() == null ? BigDecimal.ZERO : holdOrder.getHoldBond());
                }
                wholePriceData.setHoldBond(totalHoldBond);
                wholePriceData.setBalance(wallet.getTotalBalance());
                wholePriceData.setMemberId(memberId);
                OrderProducer orderProducer = SpringContextHolder.getBean(OrderProducer.class);
                orderProducer.sendWholePrice(JSONObject.toJSONString(wholePriceData));
            }
        });
        log.info("全仓操作价格");
        OrderProducer orderProducer = SpringContextHolder.getBean(OrderProducer.class);
        orderProducer.sendWholePrice(memberId.toString());
    }
}