From 286ea89f5f6cade73276f865effa5dcd2b19406d Mon Sep 17 00:00:00 2001 From: zainali5120 <512061637@qq.com> Date: Fri, 25 Sep 2020 15:19:11 +0800 Subject: [PATCH] 撮合交易代码提交 --- src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java | 26 +++++++++++++++++--------- 1 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java index 58fee8e..93b135e 100644 --- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/OrderWebsocketServiceImpl.java @@ -12,8 +12,10 @@ import com.xcong.excoin.modules.contract.service.ContractHoldOrderService; import com.xcong.excoin.modules.contract.service.ContractOrderService; import com.xcong.excoin.modules.member.dao.AgentReturnDao; +import com.xcong.excoin.modules.member.dao.MemberSettingDao; import com.xcong.excoin.modules.member.entity.AgentReturnEntity; import com.xcong.excoin.modules.member.entity.MemberEntity; +import com.xcong.excoin.modules.member.entity.MemberSettingEntity; import com.xcong.excoin.modules.member.entity.MemberWalletContractEntity; import com.xcong.excoin.modules.member.parameter.vo.NeedMoneyMemberVo; import com.xcong.excoin.modules.member.service.MemberService; @@ -67,6 +69,8 @@ @Resource private MemberAccountFlowEntityDao memberAccountFlowEntityDao; + @Resource + private MemberSettingDao memberSettingDao; public void dealOrderFromMq(List<OrderModel> list, Integer type) { @@ -172,13 +176,16 @@ .multiply(new BigDecimal(currentFlat)) .multiply(symbolSku).setScale(8, BigDecimal.ROUND_DOWN); MemberEntity memberEntity = memberService.getById(memberId); - + MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(memberId); + log.info("划点前:{}", profitLossPrice); + profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(memberSettingEntity.getClosingSpread().divide(BigDecimal.valueOf(100), 4, BigDecimal.ROUND_DOWN))); + log.info("划点后:{}", profitLossPrice); if (memberEntity.getIsProfit() == 1) { PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting(); if (profitLossPrice.compareTo(BigDecimal.ZERO) > 0) { profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(tradeSetting.getProfitParam())); } else { - profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam())); +// profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam())); } } //回报率 @@ -262,13 +269,16 @@ .multiply(new BigDecimal(currentFlat + "")) .multiply(symbolSku).setScale(8, BigDecimal.ROUND_DOWN); MemberEntity memberEntity = memberService.getById(memberId); - + MemberSettingEntity memberSettingEntity = memberSettingDao.selectMemberSettingByMemberId(memberId); + log.info("划点前:{}", profitLossPrice); + profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(memberSettingEntity.getClosingSpread().divide(BigDecimal.valueOf(100), 4, BigDecimal.ROUND_DOWN))); + log.info("划点后:{}", profitLossPrice); if (memberEntity.getIsProfit() == 1) { PlatformTradeSettingEntity tradeSetting = cacheSettingUtils.getTradeSetting(); if (profitLossPrice.compareTo(BigDecimal.ZERO) > 0) { profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(tradeSetting.getProfitParam())); } else { - profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam())); +// profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam())); } } //回报率 @@ -278,7 +288,7 @@ contractOrderEntity.setClosingFeeAmount(order.getOpeningFeeAmount()); contractOrderEntity.setClosingPrice(closePrice); contractOrderEntity.setClosingType(7); - contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_MORE); + contractOrderEntity.setOrderType(ContractOrderEntity.ORDER_TYPE_CLOSE_LESS); BigDecimal totalReturn = BigDecimal.ZERO; contractOrderService.save(contractOrderEntity); @@ -360,7 +370,7 @@ if (profitLossPrice.compareTo(BigDecimal.ZERO) > 0) { profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(tradeSetting.getProfitParam())); } else { - profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam())); +// profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam())); } } //回报率 @@ -451,7 +461,7 @@ if (profitLossPrice.compareTo(BigDecimal.ZERO) > 0) { profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.subtract(tradeSetting.getProfitParam())); } else { - profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam())); +// profitLossPrice = profitLossPrice.multiply(BigDecimal.ONE.add(tradeSetting.getProfitParam())); } } //回报率 @@ -671,11 +681,9 @@ String[] referenceIds = member.getRefererIds().split(","); List<String> ids = Arrays.asList(referenceIds); - log.info("---->{}", member.getAccountType()); if (MemberEntity.ACCOUNT_TYPE_TEST.equals(member.getAccountType())) { return; } - log.info("--->--->"); // 判断该用户是否为代理商 NeedMoneyMemberVo needMoneyMember = memberService.selectFriendRelationUserByMemberId(mid); -- Gitblit v1.9.1