mirror of https://gitee.com/stylefeng/roses
【7.1.6】【statistics】更新统计返回的实体
parent
1a75f5c8b3
commit
0c7f7a8786
|
@ -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());
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
/**
|
||||
* 获取首页企业和公司信息
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
Loading…
Reference in New Issue