将之前写死的Id改为当前登录用户id,使用ThreadLocal

This commit is contained in:
Bunny 2024-01-05 15:18:26 +08:00
parent 4afb69f034
commit 3a1faa5ac2
2 changed files with 15 additions and 10 deletions

View File

@ -1,6 +1,7 @@
package com.sky.interceptor;
import com.sky.constant.JwtClaimsConstant;
import com.sky.context.BaseContext;
import com.sky.properties.JwtProperties;
import com.sky.utils.JwtUtil;
import io.jsonwebtoken.Claims;
@ -9,6 +10,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@ -19,17 +22,17 @@ import javax.servlet.http.HttpServletResponse;
@Slf4j
public class JwtTokenAdminInterceptor implements HandlerInterceptor {
@Autowired
@Resource
private JwtProperties jwtProperties;
/**
* 校验jwt
*
* @param request
* @param response
* @param handler
* @return
* @throws Exception
* @param request HttpServletRequest
* @param response HttpServletResponse
* @param handler Object
* @return boolean
* @throws Exception Exception
*/
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//判断当前拦截到的是Controller的方法还是其他资源
@ -46,7 +49,8 @@ public class JwtTokenAdminInterceptor implements HandlerInterceptor {
log.info("jwt校验:{}", token);
Claims claims = JwtUtil.parseJWT(jwtProperties.getAdminSecretKey(), token);
Long empId = Long.valueOf(claims.get(JwtClaimsConstant.EMP_ID).toString());
log.info("当前员工id", empId);
log.info("当前员工id{}", empId);
BaseContext.setCurrentId(empId);
//3通过放行
return true;
} catch (Exception ex) {

View File

@ -3,6 +3,7 @@ package com.sky.service.impl;
import com.sky.constant.MessageConstant;
import com.sky.constant.PasswordConstant;
import com.sky.constant.StatusConstant;
import com.sky.context.BaseContext;
import com.sky.dto.EmployeeDTO;
import com.sky.dto.EmployeeLoginDTO;
import com.sky.entity.Employee;
@ -83,10 +84,10 @@ public class EmployeeServiceImpl implements EmployeeService {
employee.setUpdateTime(LocalDateTime.now());
// 设置当前记录创建人id
// TODO 当前是写死的后期改为当前登录用户id
employee.setCreateUser(10L);
employee.setUpdateUser(10L);
employee.setCreateUser(BaseContext.getCurrentId());
employee.setUpdateUser(BaseContext.getCurrentId());
employeeMapper.insert(employee);
BaseContext.removeCurrentId();
}
}