From 9c75bc0a711a93069e36a7a648b5ce774448df22 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 16 Mar 2022 16:28:47 +0800
Subject: [PATCH] fix

---
 src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 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 c973749..1fc5cf9 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
@@ -50,13 +50,18 @@
         OtcSetting setting = otcSettingDao.selectById(1L);
         // 所有已完成订单
         List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 3);
-        if (CollUtil.isEmpty(finishOrders) || setting.getOrderNum() > finishOrders.size()) {
+        if (setting.getOrderNum() > finishOrders.size()) {
+//        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));
+            int i = 0;
+            if(CollUtil.isNotEmpty(finishOrders)){
+                i= finishOrders.size();
+            }
+            BigDecimal finishRatio = BigDecimal.valueOf(i).divide(BigDecimal.valueOf(allOrders.size()), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100));
             if (setting.getCompletionRate().compareTo(finishRatio) > 0) {
                 throw new GlobalException("条件未达标");
             }
@@ -85,6 +90,10 @@
             otcMb.setBuyCnt(0);
             otcMb.setFinishRatio(BigDecimal.ZERO);
             otcMb.setStatus(OtcMarketBussiness.CHECK_WAIT);
+            otcMb.setSaleOrderCnt(0);
+            otcMb.setBuyOrderCnt(0);
+            otcMb.setSaleTotalCnt(0);
+            otcMb.setSaleFinishRatio(BigDecimal.ZERO);
 
             this.baseMapper.insert(otcMb);
         }
@@ -144,7 +153,11 @@
         applyConditionsVo.setCancellNum(setting.getCancellNum());
         // 所有已完成订单
         List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 3);
-        if (CollUtil.isEmpty(finishOrders) || setting.getOrderNum() > finishOrders.size()) {
+        int i = 0;
+        if(CollUtil.isNotEmpty(finishOrders)){
+            i = finishOrders.size();
+        }
+        if (setting.getOrderNum() > i) {
             applyConditionsVo.setOrderNumStatus(2);
         }else{
             applyConditionsVo.setOrderNumStatus(1);
@@ -152,7 +165,7 @@
 
         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));
+            BigDecimal finishRatio = BigDecimal.valueOf(i).divide(BigDecimal.valueOf(allOrders.size()), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100));
             if (setting.getCompletionRate().compareTo(finishRatio) > 0) {
                 applyConditionsVo.setCompletionRateStatus(2);
             }else{

--
Gitblit v1.9.1