优化:优化修改角色的代码逻辑

1.变更角色编码、功能权限或数据权限后,关联在线用户会自动下线
2.优化角色和菜单关联、角色和部门关联、用户和角色关联的业务代码(增加返回结果)
3.重构在线用户功能,抽取在线用户业务实现
This commit is contained in:
2023-03-26 00:14:05 +08:00
parent c5b748fe52
commit 267ad9be13
14 changed files with 260 additions and 84 deletions

View File

@@ -1,55 +0,0 @@
/*
* Copyright (c) 2022-present Charles7c Authors. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package top.charles7c.cnadmin.monitor.model.query;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springdoc.api.annotations.ParameterObject;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 在线用户查询条件
*
* @author Charles7c
* @since 2023/1/20 23:07
*/
@Data
@ParameterObject
@Schema(description = "在线用户查询条件")
public class OnlineUserQuery implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户昵称
*/
@Schema(description = "用户昵称")
private String nickname;
/**
* 登录时间
*/
@Schema(description = "登录时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private List<Date> loginTime;
}

View File

@@ -1,79 +0,0 @@
/*
* Copyright (c) 2022-present Charles7c Authors. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package top.charles7c.cnadmin.monitor.model.vo;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
/**
* 在线用户信息
*
* @author Charles7c
* @since 2023/1/20 21:54
*/
@Data
@Schema(description = "在线用户信息")
public class OnlineUserVO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 令牌
*/
@Schema(description = "令牌")
private String token;
/**
* 用户名
*/
@Schema(description = "用户名")
private String username;
/**
* 昵称
*/
@Schema(description = "昵称")
private String nickname;
/**
* 登录 IP
*/
@Schema(description = "登录 IP")
private String clientIp;
/**
* 登录地点
*/
@Schema(description = "登录地点")
private String location;
/**
* 浏览器
*/
@Schema(description = "浏览器")
private String browser;
/**
* 登录时间
*/
@Schema(description = "登录时间")
private LocalDateTime loginTime;
}