1
0
mirror of https://gitee.com/bookshelfplus/bookshelfplus synced 2025-09-21 01:10:39 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
Files
bookshelfplus/bookshelfplus/src/main/java/plus/bookshelf/Controller/Controller/BaseController.java

89 lines
3.2 KiB
Java

package plus.bookshelf.Controller.Controller;
import com.aventrix.jnanoid.jnanoid.NanoIdUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import plus.bookshelf.Common.SessionManager.RedisSessionManager;
import plus.bookshelf.Common.SessionManager.SessionManager;
import plus.bookshelf.Service.Model.UserModel;
import javax.servlet.http.HttpServletRequest;
public class BaseController {
@Autowired
HttpServletRequest httpServletRequest;
@Autowired
RedisTemplate redisTemplate;
// content-type 常量
public static final String CONTENT_TYPE_FORMED = "application/x-www-form-urlencoded";
// PageHelper分页常量
public static final Integer COMMON_START_PAGE = 1;
public static final Integer COMMON_PAGE_SIZE = 10;
/**
* 获取用户登陆状态
*/
public Boolean isLogin() {
SessionManager sessionManager = RedisSessionManager.getInstance(redisTemplate);
return (Boolean) sessionManager.getValue("IS_LOGIN");
// SessionManager sessionManager = LocalSessionManager.getInstance(httpServletRequest);
// return (Boolean) sessionManager.getValue("IS_LOGIN");
}
/**
* 保存用户的登录状态
*
* @return String uuidToken
*/
public String onLogin(UserModel userModel) {
String token = NanoIdUtils.randomNanoId(); // UUID.randomUUID().toString();
SessionManager sessionManager = RedisSessionManager.getInstance(redisTemplate);
sessionManager.setValue(token, userModel.getId());
return token;
// SessionManager sessionManager = LocalSessionManager.getInstance(httpServletRequest);
// sessionManager.setValue("IS_LOGIN", true);
// sessionManager.setValue("user", userModel);
// return;
}
/**
* 用户退出登录
*/
public void onLogout(String token) {
SessionManager sessionManager = RedisSessionManager.getInstance(redisTemplate);
sessionManager.remove(token);
return;
// SessionManager sessionManager = LocalSessionManager.getInstance(httpServletRequest);
// sessionManager.setValue("IS_LOGIN", false);
// sessionManager.remove("user");
// return;
}
// // 定义ExceptionHandler解决未被Controller层吸收的Exception
// @ExceptionHandler(Exception.class)
// @ResponseStatus(HttpStatus.OK)
// @ResponseBody
// public Object handlerException(HttpServletRequest request, Exception ex) {
// HashMap<Object, Object> responseData = new HashMap<>();
//
// if (ex instanceof BusinessException) {
// BusinessException businessException = (BusinessException) ex;
// responseData.put("errCode", businessException.getErrCode());
// responseData.put("errMsg", businessException.getErrMsg());
// } else {
// // 生产环境输出格式化信息
// responseData.put("errCode", BusinessErrorCode.UNKNOWN_ERROR.getErrCode());
// responseData.put("errMsg", BusinessErrorCode.UNKNOWN_ERROR.getErrMsg());
// }
//
// return CommonReturnType.create(responseData, CommonReturnTypeStatus.FAILED);
// }
}