Helius
2022-03-16 4db1c06713cc8133d9858bee3c1cd1206588d61a
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("条件未达标");
            }
@@ -148,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);
@@ -156,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{