Helius
2021-05-28 e577147005f0e78e7be9333766032405107b6a26
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java
@@ -137,36 +137,41 @@
        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.setOrderNum(2);
            applyConditionsVo.setOrderNumStatus(2);
        }else{
            applyConditionsVo.setOrderNum(1);
            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.setCompletionRate(2);
                applyConditionsVo.setCompletionRateStatus(2);
            }else{
                applyConditionsVo.setCompletionRate(1);
                applyConditionsVo.setCompletionRateStatus(1);
            }
        }
        BigDecimal totalAmount = otcOrderDao.selectOrderTotalAmount(member.getId());
        totalAmount = totalAmount == null ? BigDecimal.ZERO : totalAmount;
        if (setting.getTotalAmount().compareTo(totalAmount) > 0) {
            applyConditionsVo.setTotalAmount(2);
            applyConditionsVo.setTotalAmountStatus(2);
        }else{
            applyConditionsVo.setTotalAmount(1);
            applyConditionsVo.setTotalAmountStatus(1);
        }
        Integer certifyStatus = member.getCertifyStatus();
        if(MemberEntity.CERTIFY_STATUS_Y == certifyStatus){
            applyConditionsVo.setMemberAuth(1);
            applyConditionsVo.setMemberAuthStatus(1);
        }else{
            applyConditionsVo.setMemberAuth(2);
            applyConditionsVo.setMemberAuthStatus(2);
        }
        return Result.ok(applyConditionsVo);