KKSU
2024-04-29 0d30c93d000413c6eb34f489ef17688ad4175201
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java
@@ -109,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);
@@ -136,36 +138,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);