流量统计增加对上一周期的数据填充
This commit is contained in:
parent
49a2d3cab3
commit
850b124da3
@ -13,6 +13,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -54,8 +55,13 @@ public class OnlineMemberStatistics implements EveryHourExecute {
|
|||||||
calendar.set(Calendar.MILLISECOND, 0);
|
calendar.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
Calendar finalCalendar = calendar;
|
Calendar finalCalendar = calendar;
|
||||||
|
|
||||||
|
AtomicReference<Integer> lastNum = new AtomicReference<>(1);
|
||||||
onlineMemberVOS = onlineMemberVOS.stream()
|
onlineMemberVOS = onlineMemberVOS.stream()
|
||||||
.filter(onlineMemberVO -> onlineMemberVO.getDate().after(finalCalendar.getTime()))
|
.filter(onlineMemberVO -> {
|
||||||
|
lastNum.set(onlineMemberVO.getNum());
|
||||||
|
return onlineMemberVO.getDate().after(finalCalendar.getTime());
|
||||||
|
})
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
//计入新数据
|
//计入新数据
|
||||||
@ -63,7 +69,7 @@ public class OnlineMemberStatistics implements EveryHourExecute {
|
|||||||
calendar.set(Calendar.MINUTE, 0);
|
calendar.set(Calendar.MINUTE, 0);
|
||||||
calendar.set(Calendar.SECOND, 0);
|
calendar.set(Calendar.SECOND, 0);
|
||||||
calendar.set(Calendar.MILLISECOND, 0);
|
calendar.set(Calendar.MILLISECOND, 0);
|
||||||
onlineMemberVOS.add(new OnlineMemberVO(calendar.getTime(), cache.keys(CachePrefix.ACCESS_TOKEN.getPrefix(UserEnums.MEMBER) + "*").size()));
|
onlineMemberVOS.add(new OnlineMemberVO(calendar.getTime(), cache.keys(CachePrefix.ACCESS_TOKEN.getPrefix(UserEnums.MEMBER) + "*").size(), lastNum.get()));
|
||||||
|
|
||||||
//写入缓存
|
//写入缓存
|
||||||
cache.put(CachePrefix.ONLINE_MEMBER.getPrefix(), onlineMemberVOS);
|
cache.put(CachePrefix.ONLINE_MEMBER.getPrefix(), onlineMemberVOS);
|
||||||
@ -95,7 +101,7 @@ public class OnlineMemberStatistics implements EveryHourExecute {
|
|||||||
onlineMemberVOS = onlineMemberVOS.stream()
|
onlineMemberVOS = onlineMemberVOS.stream()
|
||||||
.filter(onlineMemberVO -> onlineMemberVO.getDate().after(calendar.getTime()))
|
.filter(onlineMemberVO -> onlineMemberVO.getDate().after(calendar.getTime()))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
onlineMemberVOS.add(new OnlineMemberVO(time, num));
|
onlineMemberVOS.add(new OnlineMemberVO(time, num, num));
|
||||||
|
|
||||||
//写入缓存
|
//写入缓存
|
||||||
cache.put(CachePrefix.ONLINE_MEMBER.getPrefix(), onlineMemberVOS);
|
cache.put(CachePrefix.ONLINE_MEMBER.getPrefix(), onlineMemberVOS);
|
||||||
|
@ -3,6 +3,7 @@ package cn.lili.modules.statistics.entity.vo;
|
|||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@ -14,6 +15,7 @@ import java.util.Date;
|
|||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
public class OnlineMemberVO {
|
public class OnlineMemberVO {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -27,4 +29,9 @@ public class OnlineMemberVO {
|
|||||||
*/
|
*/
|
||||||
private Integer num;
|
private Integer num;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 上一周期在线会员人数
|
||||||
|
*/
|
||||||
|
private Integer lastNum;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -142,7 +142,7 @@ public class PlatformViewServiceImpl extends ServiceImpl<PlatformViewMapper, Pla
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (exitOnlineNum == null) {
|
if (exitOnlineNum == null) {
|
||||||
onlineMemberVOS.add(new OnlineMemberVO(calendar.getTime(), 0));
|
onlineMemberVOS.add(new OnlineMemberVO(calendar.getTime(), 0, 0));
|
||||||
} else {
|
} else {
|
||||||
onlineMemberVOS.add(exitOnlineNum);
|
onlineMemberVOS.add(exitOnlineNum);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user