From 5575818556096be1dadaf5ff356b5db4c832aaa2 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Wed, 26 May 2021 19:27:09 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java | 29 +++++++++++++++++++++++++++++ 1 files changed, 29 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java index 66fbe07..363eaff 100644 --- a/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java @@ -1,5 +1,6 @@ package com.xcong.excoin.modules.otc.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xcong.excoin.common.LoginUserUtils; import com.xcong.excoin.common.exception.GlobalException; @@ -8,9 +9,13 @@ import com.xcong.excoin.modules.member.entity.MemberEntity; import com.xcong.excoin.modules.otc.dao.OtcEntrustOrderDao; import com.xcong.excoin.modules.otc.dao.OtcMarketBussinessDao; +import com.xcong.excoin.modules.otc.dao.OtcOrderDao; +import com.xcong.excoin.modules.otc.dao.OtcSettingDao; import com.xcong.excoin.modules.otc.dto.MbAddDto; import com.xcong.excoin.modules.otc.entity.OtcEntrustOrder; import com.xcong.excoin.modules.otc.entity.OtcMarketBussiness; +import com.xcong.excoin.modules.otc.entity.OtcOrder; +import com.xcong.excoin.modules.otc.entity.OtcSetting; import com.xcong.excoin.modules.otc.mapper.OtcEntrustOrderMapper; import com.xcong.excoin.modules.otc.mapper.OtcMarketBussinessMapper; import com.xcong.excoin.modules.otc.service.OtcMarketBussinessService; @@ -28,14 +33,38 @@ private final OtcEntrustOrderDao otcEntrustOrderDao; private final MemberDao memberDao; + private final OtcSettingDao otcSettingDao; + private final OtcOrderDao otcOrderDao; + @Override public void add() { MemberEntity member = LoginUserUtils.getAppLoginUser(); member = memberDao.selectById(member.getId()); +// long memberId = 444L; +// MemberEntity member = memberDao.selectById(memberId); if (MemberEntity.IS_TRADER_Y.equals(member.getIsTrader())) { throw new GlobalException("已经是市商"); } + OtcSetting setting = otcSettingDao.selectById(1L); + // 所有已完成订单 + List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 3); + if (CollUtil.isEmpty(finishOrders) || setting.getOrderNum() > finishOrders.size()) { + throw new GlobalException("条件未达标"); + } + + List<OtcOrder> allOrders = otcOrderDao.selectOrderListForUser(member.getId(), null); + if (CollUtil.isNotEmpty(allOrders)) { + BigDecimal finishRatio = BigDecimal.valueOf(finishOrders.size()).divide(BigDecimal.valueOf(allOrders.size()), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100)); + if (setting.getCompletionRate().compareTo(finishRatio) > 0) { + throw new GlobalException("条件未达标"); + } + } + + BigDecimal totalAmount = otcOrderDao.selectOrderTotalAmount(member.getId()); + if (setting.getTotalAmount().compareTo(totalAmount) > 0) { + throw new GlobalException("条件未达标"); + } OtcMarketBussiness mb = this.baseMapper.selectMarketBussinessByMemberId(member.getId()); OtcMarketBussiness otcMb = new OtcMarketBussiness(); -- Gitblit v1.9.1