mirror of https://gitee.com/stylefeng/roses
【7.0.2】【login】删除loginWithDetail
parent
2ab11fc6c3
commit
4f377a3364
|
@ -33,35 +33,25 @@ import lombok.NoArgsConstructor;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 登陆信息详情相应结果
|
||||
* 登录人详细信息
|
||||
*
|
||||
* @author majianguo
|
||||
* @date 2021/1/7 11:59
|
||||
* @author fengshuonan
|
||||
* @date 2021/3/22 21:27
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class LoginDetailsResponse {
|
||||
|
||||
/**
|
||||
* 登录人的token
|
||||
*/
|
||||
private String token;
|
||||
|
||||
/**
|
||||
* 到期时间
|
||||
*/
|
||||
private Long expireAt;
|
||||
|
||||
/**
|
||||
* 用户基本信息
|
||||
*/
|
||||
private SimpleUserDetail user;
|
||||
|
||||
/**
|
||||
* 权限信息
|
||||
* 权限信息(对应后台的resource)
|
||||
*/
|
||||
private List<SimpleAuthDetail> permissions;
|
||||
private List<SimpleAuthDetail> authorities;
|
||||
|
||||
/**
|
||||
* 角色信息
|
||||
|
|
|
@ -70,6 +70,14 @@
|
|||
<version>7.0.2</version>
|
||||
</dependency>
|
||||
|
||||
<!--包装器模块-->
|
||||
<!--包装结果-->
|
||||
<dependency>
|
||||
<groupId>cn.stylefeng.roses</groupId>
|
||||
<artifactId>wrapper-api</artifactId>
|
||||
<version>7.0.2</version>
|
||||
</dependency>
|
||||
|
||||
<!--缓存api-->
|
||||
<!--用户的查询会使用缓存-->
|
||||
<dependency>
|
||||
|
|
|
@ -34,8 +34,8 @@ import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData;
|
|||
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.PostResource;
|
||||
import cn.stylefeng.roses.kernel.system.api.pojo.login.LoginDetailsResponse;
|
||||
import cn.stylefeng.roses.kernel.system.modular.user.factory.LoginResponseFactory;
|
||||
import cn.stylefeng.roses.kernel.system.modular.user.wrapper.LoginUserWrapper;
|
||||
import cn.stylefeng.roses.kernel.wrapper.api.annotation.Wrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
@ -81,19 +81,6 @@ public class LoginController {
|
|||
return new SuccessResponseData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户登陆并返回详情
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2021/3/17 17:24
|
||||
*/
|
||||
@PostResource(name = "用户登陆并返回详情", path = "/loginWithDetail", requiredLogin = false, requiredPermission = false)
|
||||
public ResponseData loginWithDetail(@RequestBody @Validated LoginRequest loginRequest) {
|
||||
LoginResponse loginResponse = authServiceApi.login(loginRequest);
|
||||
LoginDetailsResponse loginDetail = LoginResponseFactory.createLoginDetail(loginResponse);
|
||||
return new SuccessResponseData(loginDetail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前用户的用户信息
|
||||
*
|
||||
|
@ -101,6 +88,7 @@ public class LoginController {
|
|||
* @date 2021/3/17 17:37
|
||||
*/
|
||||
@GetResource(name = "获取当前用户的用户信息", path = "/getCurrentLoginUserInfo", requiredPermission = false)
|
||||
@Wrapper(LoginUserWrapper.class)
|
||||
public ResponseData getCurrentLoginUserInfo() {
|
||||
LoginUser loginUser = LoginContext.me().getLoginUser();
|
||||
return new SuccessResponseData(loginUser);
|
||||
|
|
|
@ -22,10 +22,10 @@
|
|||
* 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns
|
||||
* 6.若您的项目无法满足以上几点,可申请商业授权
|
||||
*/
|
||||
package cn.stylefeng.roses.kernel.system.modular.user.factory;
|
||||
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.auth.LoginResponse;
|
||||
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;
|
||||
|
@ -33,53 +33,40 @@ 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;
|
||||
|
||||
/**
|
||||
* 登录返回结果组装
|
||||
* 登录用户的包装类
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2021/1/7 17:11
|
||||
* @date 2021/3/22 21:22
|
||||
*/
|
||||
public class LoginResponseFactory {
|
||||
|
||||
/**
|
||||
* 用于登录接口的返回值创建
|
||||
*
|
||||
* @author fengshuonan
|
||||
* @date 2021/1/7 17:12
|
||||
*/
|
||||
public static LoginDetailsResponse createLoginDetail(LoginResponse loginResponse) {
|
||||
public class LoginUserWrapper implements BaseWrapper<LoginUser> {
|
||||
|
||||
@Override
|
||||
public Map<String, Object> doWrap(LoginUser loginUser) {
|
||||
SysUserService sysUserService = SpringUtil.getBean(SysUserService.class);
|
||||
|
||||
LoginDetailsResponse loginDetailsResponse = new LoginDetailsResponse();
|
||||
|
||||
// 获取用户详细信息
|
||||
LoginUser loginUser = loginResponse.getLoginUser();
|
||||
SimpleUserInfo simpleUserInfo = loginUser.getSimpleUserInfo();
|
||||
|
||||
// 获取用户角色信息
|
||||
List<SimpleRoleInfo> simpleRoleInfoList = loginUser.getSimpleRoleInfoList();
|
||||
|
||||
// 组装token和过期时间
|
||||
loginDetailsResponse.setToken(loginResponse.getToken());
|
||||
loginDetailsResponse.setExpireAt(loginResponse.getExpireAt());
|
||||
|
||||
// 组装用户信息
|
||||
SimpleUserDetail simpleUserDetail = new SimpleUserDetail();
|
||||
simpleUserDetail.setUserId(loginUser.getUserId());
|
||||
simpleUserDetail.setName(simpleUserInfo.getRealName());
|
||||
|
||||
// todo 地址信息
|
||||
simpleUserDetail.setAddress("北京市");
|
||||
simpleUserDetail.setPosition("总经理");
|
||||
|
||||
// 设置头像,并获取头像的url
|
||||
Long avatarFileId = loginResponse.getLoginUser().getSimpleUserInfo().getAvatar();
|
||||
String userAvatarUrl = sysUserService.getUserAvatarUrl(avatarFileId, loginResponse.getToken());
|
||||
Long avatarFileId = loginUser.getSimpleUserInfo().getAvatar();
|
||||
String userAvatarUrl = sysUserService.getUserAvatarUrl(avatarFileId, loginUser.getToken());
|
||||
|
||||
simpleUserDetail.setAvatar(userAvatarUrl);
|
||||
loginDetailsResponse.setUser(simpleUserDetail);
|
||||
|
@ -93,13 +80,13 @@ public class LoginResponseFactory {
|
|||
simpleAuthDetail.setOperation(null);
|
||||
authInfos.add(simpleAuthDetail);
|
||||
}
|
||||
loginDetailsResponse.setPermissions(authInfos);
|
||||
loginDetailsResponse.setAuthorities(authInfos);
|
||||
loginDetailsResponse.setRoles(authInfos);
|
||||
|
||||
// 登录人的ws-url
|
||||
loginDetailsResponse.setWsUrl(loginUser.getWsUrl());
|
||||
|
||||
return loginDetailsResponse;
|
||||
return BeanUtil.beanToMap(loginDetailsResponse);
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue