package com.fdkankan.sale.controller; import com.auth0.jwt.JWT; import com.auth0.jwt.interfaces.DecodedJWT; import com.fdkankan.sale.common.ResultCode; import com.fdkankan.sale.entity.SysUser; import com.fdkankan.sale.exception.BusinessException; import com.fdkankan.sale.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import static com.baomidou.mybatisplus.core.toolkit.IdWorker.getId; @Component public class BaseController { @Autowired protected HttpServletRequest request; @Autowired ISysUserService sysUserService; @Autowired protected HttpServletResponse response; protected String getToken(){ return request.getHeader("token"); } protected Long getUserId(){ String token = request.getHeader("token"); DecodedJWT jwt = JWT.decode(token); Long userId = jwt.getClaim("userId").asLong(); SysUser sysUser = sysUserService.getByManageId(userId); if(sysUser == null){ throw new BusinessException(ResultCode.USER_NOT_LOGIN); } return sysUser.getId(); } }