Untitled

 avatar
unknown
plain_text
a year ago
1.3 kB
3
Indexable
        JPQLQuery query = from(featureStatistics)
                .leftJoin(deviceModel).on(featureStatistics.textField1.eq(deviceModel.name))
                .where(featureStatistics.feature.eq(Feature.INTERNET)
                        .and(featureStatistics.itemName.eq("users-model"))
                        .and(featureStatistics.type.eq(FeatureStatistics.StatisticsType.DAILY))
                        .and(featureStatistics.date.goe(LocalDate.now().minusDays(2)))
                        .and(deviceModel.id.isNull())
                ).groupBy(featureStatistics.textField1)
                .select(featureStatistics.textField1, featureStatistics.value1.sum())
                .orderBy(featureStatistics.value1.sum().desc());

        List<Tuple> resultRow = query.fetch();
        DeviceGroup unclassifiedGroup = deviceGroupRepository.findOneByName("UNCLASSIFIED");

        List<DeviceModel> newModels = resultRow.stream()
                .map(item -> item.get(0, String.class))
                .filter(item -> DEVICE_MODEL_NAME_PATTERN.matcher(item).matches())
                .map(item -> new DeviceModel(item, unclassifiedGroup))
                .collect(Collectors.toList());
        log.info("addNewDeviceModelFromStats - find: {} -> valid : {}",
                resultRow.size(), newModels.size());
Editor is loading...
Leave a Comment