【7.1.6】【statistics】更新统计返回的实体

pull/26/MERGE
fengshuonan 2022-02-11 11:23:25 +08:00
parent 1a75f5c8b3
commit 0c7f7a8786
4 changed files with 54 additions and 16 deletions

View File

@ -9,10 +9,10 @@ import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource;
import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource;
import cn.stylefeng.roses.kernel.system.api.pojo.home.HomeCompanyInfo; import cn.stylefeng.roses.kernel.system.api.pojo.home.HomeCompanyInfo;
import cn.stylefeng.roses.kernel.system.api.pojo.resource.ResourceRequest; import cn.stylefeng.roses.kernel.system.api.pojo.resource.ResourceRequest;
import cn.stylefeng.roses.kernel.system.api.pojo.user.OnlineUserDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.user.request.OnlineUserRequest; import cn.stylefeng.roses.kernel.system.api.pojo.user.request.OnlineUserRequest;
import org.springframework.web.bind.annotation.RestController;
import cn.stylefeng.roses.kernel.system.modular.home.service.HomePageService; import cn.stylefeng.roses.kernel.system.modular.home.service.HomePageService;
import cn.stylefeng.roses.kernel.system.modular.statistic.pojo.OnlineUserStat;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
@ -58,8 +58,8 @@ public class HomePageController {
* @author xixiaowei * @author xixiaowei
* @date 2022/1/25 14:11 * @date 2022/1/25 14:11
*/ */
@GetResource(name = "查询在线用户列表", path = "/homePage/getOnlineUserList") @GetResource(name = "查询在线用户列表", path = "/homePage/getOnlineUserList", requiredPermission = false)
public ResponseData<List<OnlineUserDTO>> getOnlineUserList(OnlineUserRequest onlineUserRequest) { public ResponseData<OnlineUserStat> getOnlineUserList(OnlineUserRequest onlineUserRequest) {
return new SuccessResponseData<>(homePageService.getOnlineUserList(onlineUserRequest)); return new SuccessResponseData<>(homePageService.getOnlineUserList(onlineUserRequest));
} }
@ -69,7 +69,7 @@ public class HomePageController {
* @author xixiaowei * @author xixiaowei
* @date 2022/2/9 10:12 * @date 2022/2/9 10:12
*/ */
@GetResource(name = "获取首页企业和公司信息", path = "/homePage/getHomeCompanyInfo") @GetResource(name = "获取首页企业和公司信息", path = "/homePage/getHomeCompanyInfo", requiredPermission = false)
public ResponseData<HomeCompanyInfo> getHomeCompanyInfo() { public ResponseData<HomeCompanyInfo> getHomeCompanyInfo() {
return new SuccessResponseData<>(homePageService.getHomeCompanyInfo()); return new SuccessResponseData<>(homePageService.getHomeCompanyInfo());
} }

View File

@ -5,9 +5,9 @@ import cn.stylefeng.roses.kernel.log.api.pojo.manage.LogManagerRequest;
import cn.stylefeng.roses.kernel.log.api.pojo.record.LogRecordDTO; import cn.stylefeng.roses.kernel.log.api.pojo.record.LogRecordDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.home.HomeCompanyInfo; import cn.stylefeng.roses.kernel.system.api.pojo.home.HomeCompanyInfo;
import cn.stylefeng.roses.kernel.system.api.pojo.resource.ResourceRequest; import cn.stylefeng.roses.kernel.system.api.pojo.resource.ResourceRequest;
import cn.stylefeng.roses.kernel.system.api.pojo.user.OnlineUserDTO;
import cn.stylefeng.roses.kernel.system.api.pojo.user.request.OnlineUserRequest; import cn.stylefeng.roses.kernel.system.api.pojo.user.request.OnlineUserRequest;
import cn.stylefeng.roses.kernel.system.modular.home.entity.InterfaceStatistics; import cn.stylefeng.roses.kernel.system.modular.home.entity.InterfaceStatistics;
import cn.stylefeng.roses.kernel.system.modular.statistic.pojo.OnlineUserStat;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;
@ -42,7 +42,7 @@ public interface HomePageService extends IService<InterfaceStatistics> {
* @author xixiaowei * @author xixiaowei
* @date 2022/1/25 14:06 * @date 2022/1/25 14:06
*/ */
List<OnlineUserDTO> getOnlineUserList(OnlineUserRequest onlineUserRequest); OnlineUserStat getOnlineUserList(OnlineUserRequest onlineUserRequest);
/** /**
* *

View File

@ -1,6 +1,7 @@
package cn.stylefeng.roses.kernel.system.modular.home.service.Impl; package cn.stylefeng.roses.kernel.system.modular.home.service.Impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi;
@ -21,6 +22,7 @@ import cn.stylefeng.roses.kernel.system.modular.home.entity.InterfaceStatistics;
import cn.stylefeng.roses.kernel.system.modular.home.mapper.InterfaceStatisticsMapper; import cn.stylefeng.roses.kernel.system.modular.home.mapper.InterfaceStatisticsMapper;
import cn.stylefeng.roses.kernel.system.modular.home.service.HomePageService; import cn.stylefeng.roses.kernel.system.modular.home.service.HomePageService;
import cn.stylefeng.roses.kernel.system.modular.statistic.entity.SysStatisticsCount; import cn.stylefeng.roses.kernel.system.modular.statistic.entity.SysStatisticsCount;
import cn.stylefeng.roses.kernel.system.modular.statistic.pojo.OnlineUserStat;
import cn.stylefeng.roses.kernel.system.modular.statistic.service.SysStatisticsCountService; import cn.stylefeng.roses.kernel.system.modular.statistic.service.SysStatisticsCountService;
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg; import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserOrg;
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService; import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService;
@ -29,9 +31,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.*;
import java.util.List; import java.util.stream.Collectors;
import java.util.Map;
/** /**
* *
@ -85,16 +86,27 @@ public class HomePageServiceImpl extends ServiceImpl<InterfaceStatisticsMapper,
} }
@Override @Override
public List<OnlineUserDTO> getOnlineUserList(OnlineUserRequest onlineUserRequest) { public OnlineUserStat getOnlineUserList(OnlineUserRequest onlineUserRequest) {
OnlineUserStat onlineUserStat = new OnlineUserStat();
// 获取在线总人数
List<OnlineUserDTO> onlineUserDTOS = userServiceApi.onlineUserList(onlineUserRequest); List<OnlineUserDTO> onlineUserDTOS = userServiceApi.onlineUserList(onlineUserRequest);
// 在线人数大于20人 // 去重
if (onlineUserDTOS.size() > 20) { HashSet<String> onlineUserList = new HashSet<>();
return onlineUserDTOS.subList(0, 19); for (OnlineUserDTO onlineUserDTO : onlineUserDTOS) {
if (ObjectUtil.isNotEmpty(onlineUserDTO.getRealName())) {
onlineUserList.add(onlineUserDTO.getRealName());
}
} }
onlineUserStat.setTotalNum(onlineUserList.size());
// 在线人数小于20人 // 统计前20个人
return onlineUserDTOS; Set<String> newSet = onlineUserList.stream().limit(20).collect(Collectors.toSet());
onlineUserStat.setTotalUserNames(newSet);
return onlineUserStat;
} }
@Override @Override

View File

@ -0,0 +1,26 @@
package cn.stylefeng.roses.kernel.system.modular.statistic.pojo;
import lombok.Data;
import java.util.Set;
/**
* 线
*
* @author fengshuonan
* @date 2022/2/11 10:54
*/
@Data
public class OnlineUserStat {
/**
* 线
*/
private Integer totalNum;
/**
*
*/
private Set<String> totalUserNames;
}