mirror of https://gitee.com/stylefeng/roses
parent
d6924fc276
commit
3d23ce9573
|
@ -46,4 +46,22 @@ public enum SexEnum {
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编码转化成中文含义
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/11 22:34
|
||||||
|
*/
|
||||||
|
public static String codeToMessage(String code) {
|
||||||
|
if (null != code) {
|
||||||
|
for (SexEnum e : SexEnum.values()) {
|
||||||
|
if (e.getCode().equals(code)) {
|
||||||
|
return e.getMessage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "未知";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleUserInfo;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
@ -73,6 +74,16 @@ public class LoginUser implements Serializable {
|
||||||
*/
|
*/
|
||||||
private Set<String> buttonCodes;
|
private Set<String> buttonCodes;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录的时间
|
||||||
|
*/
|
||||||
|
private Date loginTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户的token,当返回用户会话信息时候回带token
|
||||||
|
*/
|
||||||
|
private String token;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 其他信息,Dict为Map的拓展
|
* 其他信息,Dict为Map的拓展
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -10,10 +10,7 @@ import cn.stylefeng.roses.kernel.rule.util.HttpServletUtil;
|
||||||
|
|
||||||
import javax.servlet.http.Cookie;
|
import javax.servlet.http.Cookie;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 基于redis的会话管理
|
* 基于redis的会话管理
|
||||||
|
@ -182,7 +179,17 @@ public class DefaultSessionManager implements SessionManagerApi {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<LoginUser> onlineUserList() {
|
public List<LoginUser> onlineUserList() {
|
||||||
return new ArrayList<>(loginUserCache.getAllValues());
|
Map<String, LoginUser> allKeyValues = loginUserCache.getAllKeyValues();
|
||||||
|
|
||||||
|
ArrayList<LoginUser> loginUsers = new ArrayList<>();
|
||||||
|
for (Map.Entry<String, LoginUser> userEntry : allKeyValues.entrySet()) {
|
||||||
|
String token = userEntry.getKey();
|
||||||
|
LoginUser loginUser = userEntry.getValue();
|
||||||
|
loginUser.setToken(token);
|
||||||
|
loginUsers.add(loginUser);
|
||||||
|
}
|
||||||
|
|
||||||
|
return loginUsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
package cn.stylefeng.roses.kernel.system;
|
package cn.stylefeng.roses.kernel.system;
|
||||||
|
|
||||||
|
import cn.stylefeng.roses.kernel.system.pojo.user.OnlineUserResponse;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserDTO;
|
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserDTO;
|
||||||
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
|
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserResponse;
|
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserResponse;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.user.UserLoginInfoDTO;
|
import cn.stylefeng.roses.kernel.system.pojo.user.UserLoginInfoDTO;
|
||||||
|
import cn.stylefeng.roses.kernel.system.pojo.user.request.OnlineUserRequest;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
|
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -83,7 +84,7 @@ public interface UserServiceApi {
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2021/1/10 9:56
|
* @date 2021/1/10 9:56
|
||||||
*/
|
*/
|
||||||
List<LoginUser> onlineUserList();
|
List<OnlineUserResponse> onlineUserList(OnlineUserRequest onlineUserRequest);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据用户ID获取用户信息
|
* 根据用户ID获取用户信息
|
||||||
|
@ -104,8 +105,6 @@ public interface UserServiceApi {
|
||||||
*/
|
*/
|
||||||
List<Long> queryAllUserIdList(SysUserRequest sysUserRequest);
|
List<Long> queryAllUserIdList(SysUserRequest sysUserRequest);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取用户信息
|
* 获取用户信息
|
||||||
*
|
*
|
||||||
|
|
|
@ -0,0 +1,57 @@
|
||||||
|
package cn.stylefeng.roses.kernel.system.pojo.user;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前的在线用户的信息封装
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/11 22:30
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OnlineUserResponse {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户的token
|
||||||
|
*/
|
||||||
|
private String token;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 主键
|
||||||
|
*/
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 账号
|
||||||
|
*/
|
||||||
|
private String account;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 昵称
|
||||||
|
*/
|
||||||
|
private String nickName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 姓名
|
||||||
|
*/
|
||||||
|
private String realName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 性别
|
||||||
|
*/
|
||||||
|
private String sex;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 角色名称
|
||||||
|
*/
|
||||||
|
private String roleName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录的时间
|
||||||
|
*/
|
||||||
|
private Date loginTime;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
package cn.stylefeng.roses.kernel.system.pojo.user.request;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前的在线用户的信息请求
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/11 22:30
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OnlineUserRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户的token
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "参数token不能为空")
|
||||||
|
private String token;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户账号
|
||||||
|
*/
|
||||||
|
private String account;
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,56 @@
|
||||||
|
package cn.stylefeng.roses.kernel.system.modular.user.controller;
|
||||||
|
|
||||||
|
import cn.stylefeng.roses.kernel.auth.api.SessionManagerApi;
|
||||||
|
import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource;
|
||||||
|
import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
|
||||||
|
import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
|
||||||
|
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
||||||
|
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
||||||
|
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
|
||||||
|
import cn.stylefeng.roses.kernel.system.pojo.user.request.OnlineUserRequest;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 在线用户管理
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/11 22:52
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@ApiResource(name = "在线用户管理")
|
||||||
|
public class OnlineUserController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SysUserService sysUserService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private SessionManagerApi sessionManagerApi;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前在线用户列表
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/11 22:53
|
||||||
|
*/
|
||||||
|
@GetResource(name = "当前在线用户列表", path = "/sysUser/onlineUserList")
|
||||||
|
public ResponseData onlineUserList(OnlineUserRequest onlineUserRequest) {
|
||||||
|
return new SuccessResponseData(sysUserService.onlineUserList(onlineUserRequest));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 踢掉在线用户
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/11 22:53
|
||||||
|
*/
|
||||||
|
@PostResource(name = "踢掉在线用户", path = "/sysUser/removeSession")
|
||||||
|
public ResponseData removeSession(@Valid @RequestBody OnlineUserRequest onlineUserRequest) {
|
||||||
|
sessionManagerApi.removeSession(onlineUserRequest.getToken());
|
||||||
|
return new SuccessResponseData();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -8,9 +8,9 @@ import cn.stylefeng.roses.kernel.resource.api.annotation.PostResource;
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
|
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData;
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
|
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService;
|
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
|
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
|
||||||
|
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
@ -240,15 +240,4 @@ public class SysUserController {
|
||||||
return new SuccessResponseData(sysUserService.detail(sysUserRequest));
|
return new SuccessResponseData(sysUserService.detail(sysUserRequest));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 当前在线用户列表
|
|
||||||
*
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2021/1/1 19:01
|
|
||||||
*/
|
|
||||||
@GetResource(name = "当前在线用户列表", path = "/sysUser/onlineUserList", requiredPermission = false)
|
|
||||||
public ResponseData onlineUserList() {
|
|
||||||
return new SuccessResponseData(sysUserService.onlineUserList());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,41 @@
|
||||||
|
package cn.stylefeng.roses.kernel.system.modular.user.factory;
|
||||||
|
|
||||||
|
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
|
||||||
|
import cn.stylefeng.roses.kernel.rule.enums.SexEnum;
|
||||||
|
import cn.stylefeng.roses.kernel.system.pojo.user.OnlineUserResponse;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前在线用户的创建工厂
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/11 22:31
|
||||||
|
*/
|
||||||
|
public class OnlineUserCreateFactory {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录用户转化为在线用户
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2021/1/11 22:31
|
||||||
|
*/
|
||||||
|
public static OnlineUserResponse createOnlineUser(LoginUser loginUser) {
|
||||||
|
|
||||||
|
OnlineUserResponse onlineUserResponse = new OnlineUserResponse();
|
||||||
|
|
||||||
|
onlineUserResponse.setUserId(loginUser.getUserId());
|
||||||
|
onlineUserResponse.setAccount(loginUser.getAccount());
|
||||||
|
onlineUserResponse.setSex(SexEnum.codeToMessage(loginUser.getSimpleUserInfo().getSex()));
|
||||||
|
onlineUserResponse.setRealName(loginUser.getSimpleUserInfo().getRealName());
|
||||||
|
onlineUserResponse.setNickName(loginUser.getSimpleUserInfo().getNickName());
|
||||||
|
|
||||||
|
if (loginUser.getSimpleRoleInfoList() != null && loginUser.getSimpleRoleInfoList().size() > 0) {
|
||||||
|
onlineUserResponse.setRoleName(loginUser.getSimpleRoleInfoList().get(0).getRoleName());
|
||||||
|
}
|
||||||
|
|
||||||
|
onlineUserResponse.setLoginTime(loginUser.getLoginTime());
|
||||||
|
onlineUserResponse.setToken(loginUser.getToken());
|
||||||
|
|
||||||
|
return onlineUserResponse;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -13,10 +13,7 @@ import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResponse;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserOrgResponse;
|
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserOrgResponse;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.user.UserLoginInfoDTO;
|
import cn.stylefeng.roses.kernel.system.pojo.user.UserLoginInfoDTO;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组装当前登录用户的信息
|
* 组装当前登录用户的信息
|
||||||
|
@ -34,7 +31,7 @@ public class UserLoginInfoFactory {
|
||||||
* @param dataScopeResponse 数据范围信息
|
* @param dataScopeResponse 数据范围信息
|
||||||
* @param userOrgInfo 组织机构信息
|
* @param userOrgInfo 组织机构信息
|
||||||
* @param resourceUrlsListByCodes 用户的所有资源url
|
* @param resourceUrlsListByCodes 用户的所有资源url
|
||||||
* @param roleButtonCodes
|
* @param roleButtonCodes 用户的所拥有的按钮编码
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2020/12/26 17:53
|
* @date 2020/12/26 17:53
|
||||||
*/
|
*/
|
||||||
|
@ -102,6 +99,9 @@ public class UserLoginInfoFactory {
|
||||||
// 填充用户拥有的按钮编码
|
// 填充用户拥有的按钮编码
|
||||||
loginUser.setButtonCodes(roleButtonCodes);
|
loginUser.setButtonCodes(roleButtonCodes);
|
||||||
|
|
||||||
|
// 设置用户的登录时间
|
||||||
|
loginUser.setLoginTime(new Date());
|
||||||
|
|
||||||
// 响应dto
|
// 响应dto
|
||||||
userLoginInfoDTO.setLoginUser(loginUser);
|
userLoginInfoDTO.setLoginUser(loginUser);
|
||||||
return userLoginInfoDTO;
|
return userLoginInfoDTO;
|
||||||
|
|
|
@ -2,6 +2,7 @@ package cn.stylefeng.roses.kernel.system.modular.user.service.impl;
|
||||||
|
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.stylefeng.roses.kernel.auth.api.SessionManagerApi;
|
import cn.stylefeng.roses.kernel.auth.api.SessionManagerApi;
|
||||||
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.expander.AuthConfigExpander;
|
import cn.stylefeng.roses.kernel.auth.api.expander.AuthConfigExpander;
|
||||||
|
@ -25,11 +26,10 @@ import cn.stylefeng.roses.kernel.system.exception.enums.SysUserExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser;
|
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUser;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserDataScope;
|
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserDataScope;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole;
|
import cn.stylefeng.roses.kernel.system.modular.user.entity.SysUserRole;
|
||||||
|
import cn.stylefeng.roses.kernel.system.modular.user.factory.OnlineUserCreateFactory;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.factory.SysUserCreateFactory;
|
import cn.stylefeng.roses.kernel.system.modular.user.factory.SysUserCreateFactory;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.factory.UserLoginInfoFactory;
|
import cn.stylefeng.roses.kernel.system.modular.user.factory.UserLoginInfoFactory;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserMapper;
|
import cn.stylefeng.roses.kernel.system.modular.user.mapper.SysUserMapper;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserDTO;
|
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
|
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.pojo.response.SysUserResponse;
|
import cn.stylefeng.roses.kernel.system.modular.user.pojo.response.SysUserResponse;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserDataScopeService;
|
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserDataScopeService;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService;
|
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserOrgService;
|
||||||
|
@ -37,8 +37,12 @@ import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserRoleService;
|
||||||
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
|
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.organization.DataScopeResponse;
|
import cn.stylefeng.roses.kernel.system.pojo.organization.DataScopeResponse;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResponse;
|
import cn.stylefeng.roses.kernel.system.pojo.role.response.SysRoleResponse;
|
||||||
|
import cn.stylefeng.roses.kernel.system.pojo.user.OnlineUserResponse;
|
||||||
|
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserDTO;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserOrgResponse;
|
import cn.stylefeng.roses.kernel.system.pojo.user.SysUserOrgResponse;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.user.UserLoginInfoDTO;
|
import cn.stylefeng.roses.kernel.system.pojo.user.UserLoginInfoDTO;
|
||||||
|
import cn.stylefeng.roses.kernel.system.pojo.user.request.OnlineUserRequest;
|
||||||
|
import cn.stylefeng.roses.kernel.system.pojo.user.request.SysUserRequest;
|
||||||
import cn.stylefeng.roses.kernel.system.util.DataScopeUtil;
|
import cn.stylefeng.roses.kernel.system.util.DataScopeUtil;
|
||||||
import com.alibaba.excel.support.ExcelTypeEnum;
|
import com.alibaba.excel.support.ExcelTypeEnum;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
@ -473,8 +477,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<LoginUser> onlineUserList() {
|
public List<OnlineUserResponse> onlineUserList(OnlineUserRequest onlineUserRequest) {
|
||||||
return sessionManagerApi.onlineUserList();
|
List<LoginUser> loginUsers = sessionManagerApi.onlineUserList();
|
||||||
|
|
||||||
|
// 对象转化
|
||||||
|
List<OnlineUserResponse> result = loginUsers.stream().map(OnlineUserCreateFactory::createOnlineUser).collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 如果带了条件则根据account筛选结果
|
||||||
|
if (StrUtil.isNotBlank(onlineUserRequest.getAccount())) {
|
||||||
|
return result.stream().filter(i -> i.getAccount().equals(onlineUserRequest.getAccount())).collect(Collectors.toList());
|
||||||
|
} else {
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue