diff --git a/src/main/java/com/baiyee/adcallback/task/PlatFormRecordTask.java b/src/main/java/com/baiyee/adcallback/task/PlatFormRecordTask.java index 889781b..fc44d58 100644 --- a/src/main/java/com/baiyee/adcallback/task/PlatFormRecordTask.java +++ b/src/main/java/com/baiyee/adcallback/task/PlatFormRecordTask.java @@ -70,71 +70,73 @@ public class PlatFormRecordTask { for (TbPlatformCompanyEntity platform : platforms) { DateTime date = DateUtil.date(); String tagStr = platform.getTagStr().get(0); - Integer value = DeliveryPlatformEnum.getValue - (tagStr.substring(0, tagStr.indexOf(StrPool.DASHED))); - // 偏移十分钟 - DateTime offsetMinute = ObjectUtil.isNull(beginTime) ? - DateUtil.offsetMinute(date, -10) : - DateUtil.offsetMinute(beginTime, -10); - beginTime = offsetMinute; - log.info("================ the begin time as {} end time as {} ================", offsetMinute, date); - List dtoList = backDataEntityService.queryPlateFormDTO - (CharSequenceUtil.EMPTY, "__IMEI__", offsetMinute, date, platform.getTagStr(), value); - log.info("================ the dto list as {} ================", dtoList.size()); - if (CollUtil.isNotEmpty(dtoList)) { - // tag进行分组 - Map> listMap = dtoList.stream() - .collect(Collectors.groupingBy(PlateFormDTO::getTag)); - - List saveDataList = Lists.newArrayList(); - for (Map.Entry> stringListEntry : listMap.entrySet()) { - List list = listMap.get(stringListEntry.getKey()); - List repeatFormDTOList = Convert.toList(RepeatFormDTO.class, list); - repeatFormDTOList.forEach(dto -> dto.setUserId(platform.getUserId())); - // 去除重复数据 - Set originSet = - Sets.newHashSet(repeatFormDTOList); - // 查询数据 - List tagLists = - adPlatformDeliveryService.findByTag(platform.getUserId(), stringListEntry.getKey(), 0); - - Set querySet = Sets.newHashSet(tagLists); - // 差集去除数据 - List differentData - = Lists.newArrayList(Sets.difference(originSet, querySet)); - // 保存将要插入数据 - saveDataList.addAll(differentData); - } - // 分批发送 - List> partition = Lists.partition(saveDataList, 500); - int num = 0; - for (List formDTOList : partition) { - PlatformTransmitDTO dto = new PlatformTransmitDTO(); - dto.setList(formDTOList); - dto.setAuthToken(authToken); - dto.setUserId(platform.getUserId()); - dto.setTaskId(platform.getTaskId()); - String post = HttpUtil.post(url, JSONUtil.toJsonStr(dto)); - Object status = new JSONObject(post).get("status"); - if (ObjectUtil.isNotNull(status) && - Integer.parseInt(status.toString()) != 0) { - num++; + if (tagStr.contains(StrPool.DASHED)) { + Integer value = DeliveryPlatformEnum.getValue + (tagStr.substring(0, tagStr.indexOf(StrPool.DASHED))); + // 偏移十分钟 + DateTime offsetMinute = ObjectUtil.isNull(beginTime) ? + DateUtil.offsetMinute(date, -10) : + DateUtil.offsetMinute(beginTime, -10); + beginTime = offsetMinute; + log.info("================ the begin time as {} end time as {} ================", offsetMinute, date); + List dtoList = backDataEntityService.queryPlateFormDTO + (CharSequenceUtil.EMPTY, "__IMEI__", offsetMinute, date, platform.getTagStr(), value); + log.info("================ the dto list as {} ================", dtoList.size()); + if (CollUtil.isNotEmpty(dtoList)) { + // tag进行分组 + Map> listMap = dtoList.stream() + .collect(Collectors.groupingBy(PlateFormDTO::getTag)); + + List saveDataList = Lists.newArrayList(); + for (Map.Entry> stringListEntry : listMap.entrySet()) { + List list = listMap.get(stringListEntry.getKey()); + List repeatFormDTOList = Convert.toList(RepeatFormDTO.class, list); + repeatFormDTOList.forEach(dto -> dto.setUserId(platform.getUserId())); + // 去除重复数据 + Set originSet = + Sets.newHashSet(repeatFormDTOList); + // 查询数据 + List tagLists = + adPlatformDeliveryService.findByTag(platform.getUserId(), stringListEntry.getKey(), 0); + + Set querySet = Sets.newHashSet(tagLists); + // 差集去除数据 + List differentData + = Lists.newArrayList(Sets.difference(originSet, querySet)); + // 保存将要插入数据 + saveDataList.addAll(differentData); + } + // 分批发送 + List> partition = Lists.partition(saveDataList, 500); + int num = 0; + for (List formDTOList : partition) { + PlatformTransmitDTO dto = new PlatformTransmitDTO(); + dto.setList(formDTOList); + dto.setAuthToken(authToken); + dto.setUserId(platform.getUserId()); + dto.setTaskId(platform.getTaskId()); + String post = HttpUtil.post(url, JSONUtil.toJsonStr(dto)); + Object status = new JSONObject(post).get("status"); + if (ObjectUtil.isNotNull(status) && + Integer.parseInt(status.toString()) != 0) { + num++; + } } + if (num == 0 && CollUtil.isNotEmpty(saveDataList)) { + // 异步插入数据 + CompletableFuture.runAsync(() -> { + List deliveryStatisticEntityList = + Convert.toList(TbPlatformDeliveryEntity.class, saveDataList); + // 批量保存 + adPlatformDeliveryService.saveAll(deliveryStatisticEntityList); + }); + beginTime = date; + } + log.error("================ the new datalist size as {} ================", saveDataList.size()); } - if (num == 0 && CollUtil.isNotEmpty(saveDataList)) { - // 异步插入数据 - CompletableFuture.runAsync(() -> { - List deliveryStatisticEntityList = - Convert.toList(TbPlatformDeliveryEntity.class, saveDataList); - // 批量保存 - adPlatformDeliveryService.saveAll(deliveryStatisticEntityList); - }); + if (CollUtil.isEmpty(dtoList)) { beginTime = date; } - log.error("================ the new datalist size as {} ================", saveDataList.size()); - } - if (CollUtil.isEmpty(dtoList)) { - beginTime = date; } } }