diff --git a/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java b/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java index 5cc30a2..3ace49d 100644 --- a/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java +++ b/sky-server/src/main/java/com/sky/controller/admin/EmployeeController.java @@ -86,6 +86,7 @@ public class EmployeeController { @PostMapping public Result save(@RequestBody EmployeeDTO employeeDTO) { log.info("新增员工:{}",employeeDTO); + log.info("新增员工Controller所处的线程id:{}",Thread.currentThread().getId()); //调用业务层新增员工 employeeService.save(employeeDTO); return Result.success(); diff --git a/sky-server/src/main/java/com/sky/interceptor/JwtTokenAdminInterceptor.java b/sky-server/src/main/java/com/sky/interceptor/JwtTokenAdminInterceptor.java index e7c50b6..c112df7 100644 --- a/sky-server/src/main/java/com/sky/interceptor/JwtTokenAdminInterceptor.java +++ b/sky-server/src/main/java/com/sky/interceptor/JwtTokenAdminInterceptor.java @@ -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; @@ -47,6 +48,12 @@ public class JwtTokenAdminInterceptor implements HandlerInterceptor { Claims claims = JwtUtil.parseJWT(jwtProperties.getAdminSecretKey(), token); Long empId = Long.valueOf(claims.get(JwtClaimsConstant.EMP_ID).toString()); log.info("当前员工id:", empId); + + log.info("登录校验拦截器所处的线程id:{}",Thread.currentThread().getId()); + + //往ThreadLocal中保存当前登录的员工ID + BaseContext.setCurrentId(empId); + //3、通过,放行 return true; } catch (Exception ex) { diff --git a/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java b/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java index c8eeab6..79d4f00 100644 --- a/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java +++ b/sky-server/src/main/java/com/sky/service/impl/EmployeeServiceImpl.java @@ -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; @@ -11,6 +12,7 @@ import com.sky.exception.AccountNotFoundException; import com.sky.exception.PasswordErrorException; import com.sky.mapper.EmployeeMapper; import com.sky.service.EmployeeService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -19,6 +21,7 @@ import org.springframework.util.DigestUtils; import java.time.LocalDateTime; @Service +@Slf4j public class EmployeeServiceImpl implements EmployeeService { @Autowired @@ -65,6 +68,7 @@ public class EmployeeServiceImpl implements EmployeeService { */ @Override public void save(EmployeeDTO employeeDTO) { + log.info("新增员工Service层所处的线程id:{}",Thread.currentThread().getId()); //1.对象属性拷贝:EmployeeDTO--->Employee Employee employee = new Employee(); BeanUtils.copyProperties(employeeDTO,employee); @@ -75,8 +79,10 @@ public class EmployeeServiceImpl implements EmployeeService { employee.setUpdateTime(LocalDateTime.now()); //4.设置当前记录创建人和修改人的id //todo 后期要修改为当前登录用户的id - employee.setCreateUser(1L); - employee.setUpdateUser(1L); + //取出拦截器中保存的登录员工ID,作为创建者和更新者ID数据 + Long empId = BaseContext.getCurrentId(); + employee.setCreateUser(empId); + employee.setUpdateUser(empId); //添加默认密码 employee.setPassword(DigestUtils.md5DigestAsHex(PasswordConstant.DEFAULT_PASSWORD.getBytes()));