|
@@ -48,35 +48,35 @@ public class DmpDataOverviewJob {
|
|
|
Date date4 = DateUtils.setDays(date3, 1);
|
|
|
//产品日
|
|
|
List<DmpDataOverview> dmpDataOverviews = new ArrayList<>();
|
|
|
- List<DmpDataOverviewVO> list = getListMap(null, dayStartTime, dayEndTime);
|
|
|
+ List<DmpDataOverviewVO> list = getListMap(dayStartTime, dayEndTime);
|
|
|
//计算产品活跃占比
|
|
|
checkRadio(list);
|
|
|
for (DmpDataOverviewVO dvo : list) {
|
|
|
DmpDataOverview dmpDataOverview = new DmpDataOverview();
|
|
|
dmpDataOverview.setCreatedTime(date3);
|
|
|
- dmpDataOverview.setProductId(dvo.getProductId());
|
|
|
+ dmpDataOverview.setTenantId(dvo.getTenantId());
|
|
|
dmpDataOverview.setDeviceNumber(JSON.toJSONString(dvo));
|
|
|
dmpDataOverviews.add(dmpDataOverview);
|
|
|
}
|
|
|
dmpDataOverviewService.saveBatch(dmpDataOverviews);
|
|
|
//产品月
|
|
|
- List<DmpDataOverviewVO> monthList = getListMap(null, firstDayOfMonth, lastDayOfMonth);
|
|
|
+ List<DmpDataOverviewVO> monthList = getListMap(firstDayOfMonth, lastDayOfMonth);
|
|
|
//活跃产品月
|
|
|
- List<DmpDataOverviewVO> hyList = getHyListMap(null, firstDayOfMonth, lastDayOfMonth);
|
|
|
+ List<DmpDataOverviewVO> hyList = getHyListMap(firstDayOfMonth, lastDayOfMonth);
|
|
|
for (DmpDataOverviewVO dmpDataOverviewVO : monthList) {
|
|
|
- hyList.stream().filter(hy -> Objects.equals(hy.getProductId(), dmpDataOverviewVO.getProductId()))
|
|
|
+ hyList.stream().filter(hy -> Objects.equals(hy.getTenantId(), dmpDataOverviewVO.getTenantId()))
|
|
|
.findFirst()
|
|
|
.ifPresent(hy -> dmpDataOverviewVO.setHyCount(hy.getHyCount()));
|
|
|
}
|
|
|
//统计全部时间数据
|
|
|
- List<DmpDataOverviewVO> allList = getListMap(null, null, null);
|
|
|
+ List<DmpDataOverviewVO> allList = getListMap(null, null);
|
|
|
//计算占比
|
|
|
checkRadio(monthList);
|
|
|
//查看对应月份数据是否存在
|
|
|
List<DmpDataOverview> listByTimeAndIds = getListByTimeAndIds(monthList, firstDayOfMonth,lastDayOfMonth);
|
|
|
for (DmpDataOverviewVO dmpDataOverviewVO : monthList) {
|
|
|
DmpDataOverview dd = listByTimeAndIds.stream()
|
|
|
- .filter(dm -> dmpDataOverviewVO.getProductId().equals(dm.getProductId()) && DateUtils.isSameDay(dm.getCreatedTime(),date4))
|
|
|
+ .filter(dm -> dmpDataOverviewVO.getTenantId().equals(dm.getTenantId()) && DateUtils.isSameDay(dm.getCreatedTime(),date4))
|
|
|
.findAny()
|
|
|
.map(dm -> {
|
|
|
dm.setDeviceNumber(JSON.toJSONString(dmpDataOverviewVO));
|
|
@@ -85,14 +85,14 @@ public class DmpDataOverviewJob {
|
|
|
.orElseGet(() -> {
|
|
|
DmpDataOverview dmpDataOverview = new DmpDataOverview();
|
|
|
dmpDataOverview.setDeviceNumber(JSON.toJSONString(dmpDataOverviewVO));
|
|
|
- dmpDataOverview.setProductId(dmpDataOverviewVO.getProductId());
|
|
|
+ dmpDataOverview.setTenantId(dmpDataOverviewVO.getTenantId());
|
|
|
dmpDataOverview.setCreatedTime(date4);
|
|
|
dmpDataOverview.setCycleType(2);
|
|
|
listByTimeAndIds.add(dmpDataOverview);
|
|
|
return dmpDataOverview;
|
|
|
});
|
|
|
allList.stream()
|
|
|
- .filter(dvo -> dvo.getProductId().equals(dd.getProductId()))
|
|
|
+ .filter(dvo -> dvo.getTenantId().equals(dd.getTenantId()))
|
|
|
.findAny()
|
|
|
.ifPresent(dvo -> dd.setMiddleStatistic(JSON.toJSONString(dvo)));
|
|
|
}
|
|
@@ -101,18 +101,18 @@ public class DmpDataOverviewJob {
|
|
|
|
|
|
/**
|
|
|
* 统计月信息
|
|
|
- * @param productIds
|
|
|
+ * @param tenantIds
|
|
|
* @param startTime
|
|
|
* @param endTime
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<DmpDataOverview> getListByTimeAndIds(List<DmpDataOverviewVO> productIds,Date startTime,Date endTime){
|
|
|
- if (CollectionUtils.isNotEmpty(productIds)){
|
|
|
- List<Integer> productId = productIds.stream()
|
|
|
- .map(DmpDataOverviewVO::getProductId)
|
|
|
+ public List<DmpDataOverview> getListByTimeAndIds(List<DmpDataOverviewVO> tenantIds,Date startTime,Date endTime){
|
|
|
+ if (CollectionUtils.isNotEmpty(tenantIds)){
|
|
|
+ List<Integer> tenantId = tenantIds.stream()
|
|
|
+ .map(DmpDataOverviewVO::getTenantId)
|
|
|
.collect(Collectors.toList());
|
|
|
LambdaQueryWrapper<DmpDataOverview> queryWrapper = Wrappers.lambdaQuery();
|
|
|
- queryWrapper.in(DmpDataOverview::getProductId,productId)
|
|
|
+ queryWrapper.in(DmpDataOverview::getTenantId,tenantId)
|
|
|
.between(DmpDataOverview::getCreatedTime,startTime,endTime)
|
|
|
.eq(DmpDataOverview::getCycleType,2);
|
|
|
return dmpDataOverviewService.list(queryWrapper);
|
|
@@ -121,23 +121,23 @@ public class DmpDataOverviewJob {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public List<DmpDataOverviewVO> getHyListMap(Integer productId,Date startTime,Date endTime){
|
|
|
- List<DmpDataOverviewVO> list = dmpDeviceStatusMapper.getMonthHyCollect(productId, startTime, endTime, SecurityUtils.getTenantId());
|
|
|
- DmpDataOverviewVO map = dmpDeviceStatusMapper.getAllMonthHyCollect(productId, startTime, endTime, SecurityUtils.getTenantId());
|
|
|
+ public List<DmpDataOverviewVO> getHyListMap(Date startTime,Date endTime){
|
|
|
+ List<DmpDataOverviewVO> list = dmpDeviceStatusMapper.getMonthHyCollect(startTime, endTime);
|
|
|
+ DmpDataOverviewVO map = dmpDeviceStatusMapper.getAllMonthHyCollect(startTime, endTime);
|
|
|
joinList(list,map);
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
- public List<DmpDataOverviewVO> getListMap(Integer productId,Date startTime,Date endTime){
|
|
|
- List<DmpDataOverviewVO> list = dmpDeviceStatusMapper.getDeviceStatusCollect(productId, startTime, endTime, SecurityUtils.getTenantId());
|
|
|
+ public List<DmpDataOverviewVO> getListMap(Date startTime,Date endTime){
|
|
|
+ List<DmpDataOverviewVO> list = dmpDeviceStatusMapper.getDeviceStatusCollect(startTime, endTime);
|
|
|
//全部产品日
|
|
|
- DmpDataOverviewVO map = dmpDeviceStatusMapper.getAllCollect(productId, startTime, endTime, SecurityUtils.getTenantId());
|
|
|
+ DmpDataOverviewVO map = dmpDeviceStatusMapper.getAllCollect(startTime, endTime);
|
|
|
joinList(list,map);
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
public void joinList(List<DmpDataOverviewVO> list,DmpDataOverviewVO map){
|
|
|
- Optional.ofNullable(map).ifPresent(map1 -> map.setProductId(0));
|
|
|
+ Optional.ofNullable(map).ifPresent(map1 -> map.setTenantId(0));
|
|
|
list.add(map);
|
|
|
}
|
|
|
|