From 0d30c93d000413c6eb34f489ef17688ad4175201 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 29 Apr 2024 18:18:21 +0800
Subject: [PATCH] 55测试环境

---
 src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java |   54 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 53 insertions(+), 1 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 363eaff..c973749 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;
@@ -108,10 +109,12 @@
         }
 
         MarketBussinessInfoVo mbVo = OtcMarketBussinessMapper.INSTANCE.entityToVo(mb);
-
+        mbVo.setTotalOrderCnt(mb.getTotalOrderCnt() + mb.getSaleTotalCnt());
+        mbVo.setFinishRatio(mb.getFinishRatio().add(mb.getSaleFinishRatio()).divide(BigDecimal.valueOf(2), 4, BigDecimal.ROUND_DOWN));
         MemberEntity member = memberDao.selectById(mb.getMemberId());
         OtcEntrustOrder query = new OtcEntrustOrder();
         query.setMemberId(mb.getMemberId());
+        query.setIsDefualt(1);
         query.setOrderType(OtcEntrustOrder.ORDER_TYPE_B);
         query.setStatus(OtcEntrustOrder.LINE_UP);
         List<OtcEntrustOrder> buysEntity = otcEntrustOrderDao.selectEntrustOrderByOrderType(query);
@@ -125,4 +128,53 @@
         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);
+        applyConditionsVo.setOrderNum(setting.getOrderNum());
+        applyConditionsVo.setTotalAmount(setting.getTotalAmount());
+        applyConditionsVo.setCompletionRate(setting.getCompletionRate());
+        applyConditionsVo.setCancellNum(setting.getCancellNum());
+        // 所有已完成订单
+        List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 3);
+        if (CollUtil.isEmpty(finishOrders) || setting.getOrderNum() > finishOrders.size()) {
+            applyConditionsVo.setOrderNumStatus(2);
+        }else{
+            applyConditionsVo.setOrderNumStatus(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.setCompletionRateStatus(2);
+            }else{
+                applyConditionsVo.setCompletionRateStatus(1);
+            }
+        }
+
+        BigDecimal totalAmount = otcOrderDao.selectOrderTotalAmount(member.getId());
+        totalAmount = totalAmount == null ? BigDecimal.ZERO : totalAmount;
+        if (setting.getTotalAmount().compareTo(totalAmount) > 0) {
+            applyConditionsVo.setTotalAmountStatus(2);
+        }else{
+            applyConditionsVo.setTotalAmountStatus(1);
+        }
+
+        Integer certifyStatus = member.getCertifyStatus();
+        if(MemberEntity.CERTIFY_STATUS_Y == certifyStatus){
+            applyConditionsVo.setMemberAuthStatus(1);
+        }else{
+            applyConditionsVo.setMemberAuthStatus(2);
+        }
+
+        return Result.ok(applyConditionsVo);
+    }
 }

--
Gitblit v1.9.1