| | |
| | | } |
| | | OtcSetting setting = otcSettingDao.selectById(1L); |
| | | // 所有已完成订单 |
| | | List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 0); |
| | | List<OtcOrder> finishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 3); |
| | | if (CollUtil.isEmpty(finishOrders) || setting.getOrderNum() > finishOrders.size()) { |
| | | throw new GlobalException("条件未达标"); |
| | | } |
| | | |
| | | List<OtcOrder> unFinishOrders = otcOrderDao.selectOrderListForUser(member.getId(), 4); |
| | | if (CollUtil.isNotEmpty(unFinishOrders)) { |
| | | BigDecimal finishRatio = BigDecimal.valueOf(finishOrders.size() - unFinishOrders.size()).divide(BigDecimal.valueOf(finishOrders.size()), 4, BigDecimal.ROUND_DOWN).multiply(BigDecimal.valueOf(100)); |
| | | 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) { |
| | | throw new GlobalException("条件未达标"); |
| | | } |