【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.system.api.pojo.home.HomeCompanyInfo;
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 org.springframework.web.bind.annotation.RestController;
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 java.util.List;
@ -58,8 +58,8 @@ public class HomePageController {
* @author xixiaowei
* @date 2022/1/25 14:11
*/
@GetResource(name = "查询在线用户列表", path = "/homePage/getOnlineUserList")
public ResponseData<List<OnlineUserDTO>> getOnlineUserList(OnlineUserRequest onlineUserRequest) {
@GetResource(name = "查询在线用户列表", path = "/homePage/getOnlineUserList", requiredPermission = false)
public ResponseData<OnlineUserStat> getOnlineUserList(OnlineUserRequest onlineUserRequest) {
return new SuccessResponseData<>(homePageService.getOnlineUserList(onlineUserRequest));
}
@ -69,7 +69,7 @@ public class HomePageController {
* @author xixiaowei
* @date 2022/2/9 10:12
*/
@GetResource(name = "获取首页企业和公司信息", path = "/homePage/getHomeCompanyInfo")
@GetResource(name = "获取首页企业和公司信息", path = "/homePage/getHomeCompanyInfo", requiredPermission = false)
public ResponseData<HomeCompanyInfo> 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.system.api.pojo.home.HomeCompanyInfo;
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.modular.home.entity.InterfaceStatistics;
import cn.stylefeng.roses.kernel.system.modular.statistic.pojo.OnlineUserStat;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@ -42,7 +42,7 @@ public interface HomePageService extends IService<InterfaceStatistics> {
* @author xixiaowei
* @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;
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.pojo.login.LoginUser;
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.service.HomePageService;
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.user.entity.SysUserOrg;
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 javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
*
@ -85,16 +86,27 @@ public class HomePageServiceImpl extends ServiceImpl<InterfaceStatisticsMapper,
}
@Override
public List<OnlineUserDTO> getOnlineUserList(OnlineUserRequest onlineUserRequest) {
public OnlineUserStat getOnlineUserList(OnlineUserRequest onlineUserRequest) {
OnlineUserStat onlineUserStat = new OnlineUserStat();
// 获取在线总人数
List<OnlineUserDTO> onlineUserDTOS = userServiceApi.onlineUserList(onlineUserRequest);
// 在线人数大于20人
if (onlineUserDTOS.size() > 20) {
return onlineUserDTOS.subList(0, 19);
// 去重
HashSet<String> onlineUserList = new HashSet<>();
for (OnlineUserDTO onlineUserDTO : onlineUserDTOS) {
if (ObjectUtil.isNotEmpty(onlineUserDTO.getRealName())) {
onlineUserList.add(onlineUserDTO.getRealName());
}
}
onlineUserStat.setTotalNum(onlineUserList.size());
// 在线人数小于20人
return onlineUserDTOS;
// 统计前20个人
Set<String> newSet = onlineUserList.stream().limit(20).collect(Collectors.toSet());
onlineUserStat.setTotalUserNames(newSet);
return onlineUserStat;
}
@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;
}