From c428522a1d47199b30acf4522a33c88f54180fdd Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Tue, 30 Mar 2021 21:52:45 +0800 Subject: [PATCH] 20210329 返利记录的修改 --- src/main/java/com/xcong/excoin/modules/contract/service/impl/RabbitOrderServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++-- 1 files changed, 35 insertions(+), 2 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 6f4d0ce..05c3810 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 @@ -6,9 +6,11 @@ import com.alibaba.fastjson.JSONObject; import com.xcong.excoin.common.contants.AppContants; import com.xcong.excoin.common.enumerates.CoinTypeEnum; +import com.xcong.excoin.common.enumerates.MemberWalletCoinEnum; import com.xcong.excoin.common.enumerates.OrderClosingTypeEnum; import com.xcong.excoin.common.system.service.CommonService; import com.xcong.excoin.modules.coin.entity.MemberAccountFlowEntity; +import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange; import com.xcong.excoin.modules.contract.dao.ContractEntrustOrderDao; import com.xcong.excoin.modules.contract.dao.ContractHoldOrderDao; import com.xcong.excoin.modules.contract.dao.ContractOrderDao; @@ -113,7 +115,14 @@ List<ContractHoldOrderEntity> holdOrderEntities = contractHoldOrderDao.selectBatchIds(ids); if (CollUtil.isNotEmpty(holdOrderEntities)) { for (ContractHoldOrderEntity holdOrder : holdOrderEntities) { - cancelHoldOrderMethod(holdOrder); + // 判断仓位类型是否逐仓 + if (holdOrder.getPositionType() == ContractEntrustOrderEntity.POSITION_TYPE_ADD) { + // 逐仓平仓 + cancelHoldOrderMethod(holdOrder); + } else { + // 全仓模式平仓 + closingWholeOrder(holdOrder); + } } } } @@ -185,6 +194,25 @@ MemberWalletContractEntity traderWallet = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(traderInfoEntity.getMemberId(), CoinTypeEnum.USDT.name()); memberWalletContractDao.increaseWalletContractBalanceById(returnMoney, returnMoney, null, traderWallet.getId()); insertReturnProfitDetail(traderInfoEntity.getMemberId(), memberEntity.getId(), returnMoney, holdOrderEntity.getOrderNo()); + //增加返佣提醒 +// String orderNo = holdOrderEntity.getOrderNo(); +// LogRecordUtils.insertFollowerNotice(traderInfoEntity.getMemberId(), +// NoticeConstant.RETURN_MONEY_TITLE, +// StrUtil.format(NoticeConstant.RETURN_MONEY_CONTENT, +// orderNo, +// holdOrderEntity.getSymbol(), +// returnMoney.setScale(2, BigDecimal.ROUND_HALF_UP).toString())); +// //带单返利的记录要在资产页面的其他记录 +// LogRecordUtils.insertMemberAccountMoneyChange( +// traderInfoEntity.getMemberId(), +// StrUtil.format(NoticeConstant.RETURN_MONEY_CONTENT_MAMC, +// orderNo, +// holdOrderEntity.getSymbol(), +// returnMoney.setScale(2, BigDecimal.ROUND_HALF_UP).toString()), +// returnMoney.setScale(2, BigDecimal.ROUND_HALF_UP), +// MemberWalletCoinEnum.WALLETCOINCODE.getValue(), +// MemberAccountMoneyChange.STATUS_SUCCESS_INTEGER, +// MemberAccountMoneyChange.TYPE_WALLET_AGENT); } } } @@ -218,7 +246,7 @@ if (MemberEntity.IS_TRADER_Y.equals(memberEntity.getIsTrader())) { followOrderOperationService.closingFollowOrders(holdOrderEntity.getOrderNo()); } else { - followFollowerProfitDao.updateFollowerProfitByTradeMemberId(holdOrderEntity.getBondAmount().subtract(holdOrderEntity.getOpeningFeeAmount()), profitOrLoss, traderInfoEntity.getMemberId(), memberEntity.getId()); + //followFollowerProfitDao.updateFollowerProfitByTradeMemberId(holdOrderEntity.getBondAmount(), profitOrLoss, traderInfoEntity.getMemberId(), memberEntity.getId()); LogRecordUtils.insertFollowerNotice(memberEntity.getId(), NoticeConstant.CLOSE_ORDER_TITLE, StrUtil.format(NoticeConstant.CLOSE_ORDER_CONTENT, contractOrderEntity.getSymbol(), contractOrderEntity.getClosingPrice().setScale(2, BigDecimal.ROUND_HALF_UP).toString(), profitOrLoss.setScale(2, BigDecimal.ROUND_HALF_UP).toString(), traderInfoEntity.getNickname())); } } @@ -278,6 +306,11 @@ // 获取平仓张数 Integer closeCnt = (Integer) redisUtils.get(AppContants.CLOSING_ORDER_PREFIX + holdOrderEntity.getId()); + // 无法从redis中获取平仓张数,说明来自一键平仓 + if (closeCnt == null) { + closeCnt = holdOrderEntity.getSymbolCntSale(); + holdOrderEntity.setSymbolCntSale(0); + } MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(memberEntity.getId()); // 开多 -- Gitblit v1.9.1