-
@Company: 洛阳图联科技有限公司
-
@Date: 2019/12/10 17:05
*/
public class SmartRequestTokenUtil {
private static ThreadLocal requestUserThreadLocal = new ThreadLocal();
public static void setUser(HttpServletRequest request, SystemUserVo requestToken) {
request.getSession().setAttribute(CommonConst.SESSION_CURRENT_USER_KEY, requestToken);
request.getSession().setAttribute(CommonConst.X_ACCESS_TOKEN,request.getHeader(CommonConst.X_ACCESS_TOKEN));
requestUserThreadLocal.set(requestToken);
}
public static SystemUserVo getThreadLocalUser() {
return requestUserThreadLocal.get();
}
public static SystemUserVo getRequestUser() {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if (requestAttributes != null) {
HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
if (request != null) {
return (SystemUserVo) request.getSession().getAttribute(CommonConst.SESSION_CURRENT_USER_KEY);
}
}
return null;
}
public static String getRequestToken() {
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if (requestAttributes != null) {
HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
if (request != null) {
//解决- 跨服务调用接口时,拦截器session判断null转string异常问题
Object session = request.getSession().getAttribute(CommonConst.X_ACCESS_TOKEN);
if(session != null){
return session.toString();
}
}
}
return null;
}
public static String getRequestUserId() {
SystemUserVo requestUser = getRequestUser();
if (null == requestUser) {
return null;
}
return requestUser.getId();
}
public static String getRequestCompanyId() {
SystemUserVo requestUser = getRequestUser();
if (null == requestUser) {
return null;
}
return requestUser.getCompanyId();
}
}
user对象
import com.tulian.cim6d.valid.user.UserInterface;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
-
用户信息
-
@version 1.0
-
@since JDK1.8
-
@author tarzan
-
@date 2019年12月06日 16:29:12
*/
@Data
public class SystemUserVo {
public SystemUserVo(){}
public SystemUserVo(UserInterface ui){
this.companyId = ui.getCompanyId();
this.id = ui.getUserId();
this.loginName = ui.getLoginName();
this.realName = ui.getName();
}
/**
- 主键
*/
@ApiModelProperty(value = “主键”)
private String id;
/**
- 昵称
*/
@ApiModelProperty(value = “昵称”)
private String nickName;
/**
- 真实姓名
*/
@ApiModelProperty(value = “真实姓名”)
private String realName;
/**
- 手机号
*/
@ApiModelProperty(value = “手机号”)
private String mobile;
/**
- 性别(1:男,2:女)
*/
@ApiModelProperty(value = “性别(1:男,2:女)”)
private Integer sex;
/**
- 登录用户名
*/
@ApiModelProperty(value = “登录用户名”)
private String loginName;
/**
- 主属部门id
*/
@ApiModelProperty(value = “主属部门id”)
private String primaryDepartmentId;
/**
- 主属部门id
*/
@ApiModelProperty(value = “主属部门id”)
private String primaryDepartmentName;
/**
- 附属部门id(多个用逗号隔开)
*/
@ApiModelProperty(value = “附属部门id(多个用逗号隔开)”)
private String secondaryDepartmentId;
/**
-
附属部门名称(多个用逗号隔开)
*/
@ApiModelProperty(value = “附属部门名称(多个用逗号隔开)”)
private String secondaryDepartmentNames;
/**
- 职位
*/
@ApiModelProperty(value = “职位”)
private String duty;
/**
- 汇报对象id(t_system_user中的id)
*/
@ApiModelProperty(value = “汇报对象id”)
private String reportPersonId;
/**
- 入职日期
*/
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
![](https://img-blog.csdnimg.cn/img_convert/66db9e695d61bdad46b3417011fa36f7.jpeg)
最后
今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!
可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。
源码讲义、实战项目、讲解视频,并且会持续更新!**
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
![](https://img-blog.csdnimg.cn/img_convert/66db9e695d61bdad46b3417011fa36f7.jpeg)
最后
今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。不过光是看完而不去付出行动,或者直接进入你的收藏夹里吃灰,那么我写这篇文章就没多大意义了。所以看完之后,还是多多行动起来吧!
可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。