From 7f133cb8fc080b64ab8002b35f04b646f95a6abf Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 27 May 2021 16:37:38 +0800
Subject: [PATCH] Merge branch 'otc' of http://120.27.238.55:7000/r/exchange into otc

---
 src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 50 insertions(+), 6 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 102810b..ac41c05 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
@@ -19,6 +19,7 @@
 import com.xcong.excoin.modules.otc.mapper.OtcEntrustOrderMapper;
 import com.xcong.excoin.modules.otc.mapper.OtcMarketBussinessMapper;
 import com.xcong.excoin.modules.otc.service.OtcMarketBussinessService;
+import com.xcong.excoin.modules.otc.vo.ApplyConditionsVo;
 import com.xcong.excoin.modules.otc.vo.EntrustListInfoVo;
 import com.xcong.excoin.modules.otc.vo.MarketBussinessInfoVo;
 import lombok.RequiredArgsConstructor;
@@ -48,16 +49,15 @@
         }
         OtcSetting setting = otcSettingDao.selectById(1L);
         // 所有已完成订单
-        List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 0);
+        List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 3);
         if (CollUtil.isEmpty(finishOrders) || setting.getOrderNum() > finishOrders.size()) {
             throw new GlobalException("条件未达标");
         }
 
-        List<OtcOrder> unFinishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 4);
-        if (CollUtil.isNotEmpty(unFinishOrders)) {
-            //完成率 = 已完成  /  总单数
-            BigDecimal finishRatio = BigDecimal.valueOf(finishOrders.size()).divide(BigDecimal.valueOf(finishOrders.size() + unFinishOrders.size()), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100));
-            if (setting.getCompletionRate().compareTo(finishRatio) >= 0) {
+        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("条件未达标");
             }
         }
@@ -126,4 +126,48 @@
         mbVo.setNikename(member.getName());
         return Result.ok(mbVo);
     }
+
+    @Override
+    public Result applyConditions() {
+        MemberEntity member = LoginUserUtils.getAppLoginUser();
+        member = memberDao.selectById(member.getId());
+//        long memberId = 444L;
+//        MemberEntity member = memberDao.selectById(memberId);
+        ApplyConditionsVo applyConditionsVo = new ApplyConditionsVo();
+
+        OtcSetting setting = otcSettingDao.selectById(1L);
+        // 所有已完成订单
+        List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 3);
+        if (CollUtil.isEmpty(finishOrders) || setting.getOrderNum() > finishOrders.size()) {
+            applyConditionsVo.setOrderNum(2);
+        }else{
+            applyConditionsVo.setOrderNum(1);
+        }
+
+        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) {
+                applyConditionsVo.setCompletionRate(2);
+            }else{
+                applyConditionsVo.setCompletionRate(1);
+            }
+        }
+
+        BigDecimal totalAmount = otcOrderDao.selectOrderTotalAmount(member.getId());
+        if (setting.getTotalAmount().compareTo(totalAmount) > 0) {
+            applyConditionsVo.setTotalAmount(2);
+        }else{
+            applyConditionsVo.setTotalAmount(1);
+        }
+
+        Integer certifyStatus = member.getCertifyStatus();
+        if(MemberEntity.CERTIFY_STATUS_Y == certifyStatus){
+            applyConditionsVo.setMemberAuth(1);
+        }else{
+            applyConditionsVo.setMemberAuth(2);
+        }
+
+        return Result.ok(applyConditionsVo);
+    }
 }

--
Gitblit v1.9.1