【7.0.2】【login】简化获取登录详情

pull/5/head
fengshuonan 2021-03-22 21:47:54 +08:00
parent 4f377a3364
commit 6895b93d52
4 changed files with 6 additions and 165 deletions

View File

@ -24,14 +24,10 @@
*/
package cn.stylefeng.roses.kernel.system.api.pojo.login;
import cn.stylefeng.roses.kernel.system.api.pojo.login.details.SimpleAuthDetail;
import cn.stylefeng.roses.kernel.system.api.pojo.login.details.SimpleUserDetail;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
*
*
@ -43,24 +39,14 @@ import java.util.List;
@NoArgsConstructor
public class LoginDetailsResponse {
/**
*
*/
private SimpleUserDetail user;
/**
* resource
*/
private List<SimpleAuthDetail> authorities;
/**
*
*/
private List<SimpleAuthDetail> roles;
/**
* ws-url
*/
private String wsUrl;
/**
*
*/
private String avatarUrl;
}

View File

@ -1,50 +0,0 @@
/*
* Copyright [2020-2030] [https://www.stylefeng.cn]
*
* 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.
*
* GunsAPACHE LICENSE 2.0使
*
* 1.LICENSE
* 2.Guns
* 3.
* 4. https://gitee.com/stylefeng/guns
* 5. https://gitee.com/stylefeng/guns
* 6.
*/
package cn.stylefeng.roses.kernel.system.api.pojo.login.details;
import lombok.Data;
import java.util.List;
/**
*
*
* @author fengshuonan
* @date 2021/1/7 17:06
*/
@Data
public class SimpleAuthDetail {
/**
*
*/
private String id;
/**
*
*/
private List<String> operation;
}

View File

@ -1,63 +0,0 @@
/*
* Copyright [2020-2030] [https://www.stylefeng.cn]
*
* 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.
*
* GunsAPACHE LICENSE 2.0使
*
* 1.LICENSE
* 2.Guns
* 3.
* 4. https://gitee.com/stylefeng/guns
* 5. https://gitee.com/stylefeng/guns
* 6.
*/
package cn.stylefeng.roses.kernel.system.api.pojo.login.details;
import lombok.Data;
/**
*
*
* @author fengshuonan
* @date 2021/1/7 17:06
*/
@Data
public class SimpleUserDetail {
/**
* id
*/
private Long userId;
/**
*
*/
private String name;
/**
*
*/
private String avatar;
/**
*
*/
private String address;
/**
*
*/
private String position;
}

View File

@ -27,16 +27,10 @@ package cn.stylefeng.roses.kernel.system.modular.user.wrapper;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.extra.spring.SpringUtil;
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleRoleInfo;
import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleUserInfo;
import cn.stylefeng.roses.kernel.system.api.pojo.login.LoginDetailsResponse;
import cn.stylefeng.roses.kernel.system.api.pojo.login.details.SimpleAuthDetail;
import cn.stylefeng.roses.kernel.system.api.pojo.login.details.SimpleUserDetail;
import cn.stylefeng.roses.kernel.system.modular.user.service.SysUserService;
import cn.stylefeng.roses.kernel.wrapper.api.BaseWrapper;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
@ -50,38 +44,12 @@ public class LoginUserWrapper implements BaseWrapper<LoginUser> {
@Override
public Map<String, Object> doWrap(LoginUser loginUser) {
SysUserService sysUserService = SpringUtil.getBean(SysUserService.class);
LoginDetailsResponse loginDetailsResponse = new LoginDetailsResponse();
// 获取用户详细信息
SimpleUserInfo simpleUserInfo = loginUser.getSimpleUserInfo();
// 获取用户角色信息
List<SimpleRoleInfo> simpleRoleInfoList = loginUser.getSimpleRoleInfoList();
// 组装用户信息
SimpleUserDetail simpleUserDetail = new SimpleUserDetail();
simpleUserDetail.setUserId(loginUser.getUserId());
simpleUserDetail.setName(simpleUserInfo.getRealName());
// 设置头像并获取头像的url
Long avatarFileId = loginUser.getSimpleUserInfo().getAvatar();
String userAvatarUrl = sysUserService.getUserAvatarUrl(avatarFileId, loginUser.getToken());
simpleUserDetail.setAvatar(userAvatarUrl);
loginDetailsResponse.setUser(simpleUserDetail);
// 组装权限
ArrayList<SimpleAuthDetail> authInfos = new ArrayList<>();
for (SimpleRoleInfo simpleRoleInfo : simpleRoleInfoList) {
SimpleAuthDetail simpleAuthDetail = new SimpleAuthDetail();
simpleAuthDetail.setId(simpleRoleInfo.getRoleCode());
// todo 没有按钮信息
simpleAuthDetail.setOperation(null);
authInfos.add(simpleAuthDetail);
}
loginDetailsResponse.setAuthorities(authInfos);
loginDetailsResponse.setRoles(authInfos);
loginDetailsResponse.setAvatarUrl(userAvatarUrl);
// 登录人的ws-url
loginDetailsResponse.setWsUrl(loginUser.getWsUrl());