From 850b124da3dca53b6f073af758357762d98d8691 Mon Sep 17 00:00:00 2001 From: Chopper Date: Wed, 11 May 2022 17:49:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E9=87=8F=E7=BB=9F=E8=AE=A1=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=AF=B9=E4=B8=8A=E4=B8=80=E5=91=A8=E6=9C=9F=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=A1=AB=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/statistics/OnlineMemberStatistics.java | 12 +++++++++--- .../modules/statistics/entity/vo/OnlineMemberVO.java | 7 +++++++ .../serviceimpl/PlatformViewServiceImpl.java | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/OnlineMemberStatistics.java b/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/OnlineMemberStatistics.java index e2aee5e3..8cffcd84 100644 --- a/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/OnlineMemberStatistics.java +++ b/consumer/src/main/java/cn/lili/timetask/handler/impl/statistics/OnlineMemberStatistics.java @@ -13,6 +13,7 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; +import java.util.concurrent.atomic.AtomicReference; import java.util.stream.Collectors; /** @@ -54,8 +55,13 @@ public class OnlineMemberStatistics implements EveryHourExecute { calendar.set(Calendar.MILLISECOND, 0); Calendar finalCalendar = calendar; + + AtomicReference lastNum = new AtomicReference<>(1); 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()); //计入新数据 @@ -63,7 +69,7 @@ public class OnlineMemberStatistics implements EveryHourExecute { calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 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); @@ -95,7 +101,7 @@ public class OnlineMemberStatistics implements EveryHourExecute { onlineMemberVOS = onlineMemberVOS.stream() .filter(onlineMemberVO -> onlineMemberVO.getDate().after(calendar.getTime())) .collect(Collectors.toList()); - onlineMemberVOS.add(new OnlineMemberVO(time, num)); + onlineMemberVOS.add(new OnlineMemberVO(time, num, num)); //写入缓存 cache.put(CachePrefix.ONLINE_MEMBER.getPrefix(), onlineMemberVOS); diff --git a/framework/src/main/java/cn/lili/modules/statistics/entity/vo/OnlineMemberVO.java b/framework/src/main/java/cn/lili/modules/statistics/entity/vo/OnlineMemberVO.java index fc66d9da..bd20847b 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/entity/vo/OnlineMemberVO.java +++ b/framework/src/main/java/cn/lili/modules/statistics/entity/vo/OnlineMemberVO.java @@ -3,6 +3,7 @@ package cn.lili.modules.statistics.entity.vo; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Data; +import lombok.NoArgsConstructor; import java.util.Date; @@ -14,6 +15,7 @@ import java.util.Date; */ @Data @AllArgsConstructor +@NoArgsConstructor public class OnlineMemberVO { /** @@ -27,4 +29,9 @@ public class OnlineMemberVO { */ private Integer num; + /** + * 上一周期在线会员人数 + */ + private Integer lastNum; + } diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewServiceImpl.java index 9b0e69c7..f1263659 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/PlatformViewServiceImpl.java @@ -142,7 +142,7 @@ public class PlatformViewServiceImpl extends ServiceImpl