From 41a5e33865a5fa32249d74b443d3f05b571111b6 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Fri, 05 Mar 2021 11:21:26 +0800 Subject: [PATCH] 20210304 跟单只允许跟一个交易员 --- src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 14 ++++++++++---- 1 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java index 7e1b743..4bdd613 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java @@ -1,6 +1,7 @@ package com.xcong.excoin.modules.contract.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.xcong.excoin.common.contants.AppContants; @@ -214,7 +215,7 @@ followOrderOperationService.closingFollowOrders(holdOrderEntity.getOrderNo()); } else { followFollowerProfitDao.updateFollowerProfitByTradeMemberId(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()), profitOrLoss, traderInfoEntity.getMemberId(), memberEntity.getId()); - LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.CLOSE_ORDER_TITLE, StrUtil.format(NoticeConstant.CLOSE_ORDER_CONTENT, contractOrderEntity.getSymbol(), contractOrderEntity.getClosingPrice(), profitOrLoss, traderInfoEntity.getNickname())); + LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.CLOSE_ORDER_TITLE, StrUtil.format(NoticeConstant.CLOSE_ORDER_CONTENT, contractOrderEntity.getSymbol(), contractOrderEntity.getClosingPrice(), profitOrLoss.setScale(8, BigDecimal.ROUND_DOWN).toString(), traderInfoEntity.getNickname())); } } } @@ -485,14 +486,16 @@ MemberEntity memberEntity = memberDao.selectById(wholePriceData.getMemberId()); List<HoldOrderDataModel> list = wholePriceData.getList(); if (CollUtil.isNotEmpty(list)) { + String batchNo = IdUtil.randomUUID(); for (HoldOrderDataModel holdOrderDataModel : list) { ContractHoldOrderEntity holdOrderEntity = contractHoldOrderDao.selectById(holdOrderDataModel.getId()); if (holdOrderEntity == null) { log.info("持仓不存在:{}", holdOrderDataModel.getId()); + redisUtils.del(AppContants.WHOLE_BOMB_PREFIX + wholePriceData.getMemberId()); continue; } - holdOrderEntity.setForceClosingPrice(getForceSetPrice(wholePriceData, holdOrderEntity, holdOrderDataModel.getSymbol())); +// holdOrderEntity.setForceClosingPrice(getForceSetPrice(wholePriceData, holdOrderEntity, holdOrderDataModel.getSymbol())); contractHoldOrderDao.deleteById(holdOrderDataModel.getId()); ContractOrderEntity contractOrderEntity = ContractHoldOrderEntityMapper.INSTANCE.holdOrderToOrder(holdOrderEntity); @@ -507,6 +510,7 @@ contractOrderEntity.setRewardRatio(rewardRatio); contractOrderEntity.setRewardAmount(holdOrderDataModel.getRewardAmount().add(contractOrderEntity.getHoldBond().negate())); contractOrderEntity.setClosingPrice(holdOrderDataModel.getClosingPrice()); + contractOrderEntity.setForceClosingPrice(holdOrderDataModel.getClosingPrice()); // 订单状态转换 if (ContractOrderEntity.ORDER_TYPE_OPEN_MORE == contractOrderEntity.getOrderType()) { @@ -515,7 +519,7 @@ contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_LESS); } contractOrderEntity.setClosingTime(new Date()); - + contractOrderEntity.setBatchNo(batchNo); contractOrderDao.insert(contractOrderEntity); } @@ -523,11 +527,13 @@ BigDecimal totalAmount = BigDecimal.ZERO; if (CollUtil.isNotEmpty(entrustOrder)) { for (ContractEntrustOrderEntity contractEntrustOrderEntity : entrustOrder) { - totalAmount.add(contractEntrustOrderEntity.getEntrustAmount()); + totalAmount = totalAmount.add(contractEntrustOrderEntity.getEntrustAmount()); } } memberWalletContractDao.increaseWalletContractBalanceById(wallet.getAvailableBalance().negate(), wallet.getTotalBalance().subtract(totalAmount).negate(), null, wallet.getId()); + + redisUtils.del(AppContants.WHOLE_BOMB_PREFIX + wholePriceData.getMemberId()); } else { log.info("参数有误:{}", memberEntity.getId()); } -- Gitblit v1.9.1