xiaoyong931011
2022-03-14 b24b627ff36baa382cdc9ba2f91febe44bcd063c
20222223
2 files modified
11 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/otc/service/impl/OtcMarketBussinessServiceImpl.java 9 ●●●● patch | view | raw | blame | history
src/main/resources/mapper/otc/OtcOrderDao.xml 2 ●●● patch | view | raw | blame | history
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("条件未达标");
            }
src/main/resources/mapper/otc/OtcOrderDao.xml
@@ -99,7 +99,7 @@
    </select>
    <select id="selectOrderTotalAmount" resultType="java.math.BigDecimal">
        select sum(total_amount) from otc_order
        select IFNULL(sum(total_amount), 0) from otc_order
        where member_id=#{memberId} and status = 3
    </select>