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