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.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());
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取首页企业和公司信息
|
* 获取首页企业和公司信息
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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