From 59e91a4e9ddaf23cebb12993c774aa899ab22d16 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: Mon, 19 Jun 2023 14:22:45 +0800
Subject: [PATCH] 描述
---
src/main/java/com/gk/firework/Controller/Base/BaseController.java | 137 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 137 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gk/firework/Controller/Base/BaseController.java b/src/main/java/com/gk/firework/Controller/Base/BaseController.java
new file mode 100644
index 0000000..c673b3e
--- /dev/null
+++ b/src/main/java/com/gk/firework/Controller/Base/BaseController.java
@@ -0,0 +1,137 @@
+package com.gk.firework.Controller.Base;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.gk.firework.Config.Oauth2.IRedisService;
+import com.gk.firework.Config.Oauth2.RedisKeyEnum;
+import com.gk.firework.Domain.UserInfo;
+import com.gk.firework.Domain.Utils.CommonUtil;
+import com.gk.firework.Domain.Utils.Msg;
+import com.google.common.net.HttpHeaders;
+import io.jsonwebtoken.Claims;
+import org.apache.log4j.Logger;
+import org.springframework.web.bind.annotation.ModelAttribute;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+public class BaseController {
+
+ protected static final Logger logger = Logger.getLogger(BaseController.class);
+ protected HttpServletRequest request;
+ protected HttpServletResponse response;
+ protected HttpSession session;
+
+ @Resource
+ IRedisService redisService;
+
+ @ModelAttribute
+ public void setReqAndResp(HttpServletRequest request, HttpServletResponse response){
+ this.request = request;
+ this.response = response;
+ this.session = request.getSession();
+ }
+
+ /**
+ * 输出信息到页面
+ * @param msg:要输出的信息(可以是js脚本等)
+ */
+ public void printOutMsg(String msg){
+ try {
+ this.response.setCharacterEncoding("UTF-8");
+ this.response.setContentType("text/html;charset=utf-8");
+ PrintWriter out = null;
+ out = this.response.getWriter();
+ out.print(msg);
+ out.flush();
+ out.close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * 获取请求完整路径
+ * @param request
+ * @return
+ */
+ public String getUrl(HttpServletRequest request){
+ String url = request.getRequestURI();
+ String params = "";
+ if(request.getQueryString()!=null){
+ params = request.getQueryString().toString();
+ }
+ if(!"".equals(params)){
+ url = url+"?"+params;
+ }
+ return url;
+ }
+
+ /**
+ * @Description: 获取用户
+ * @param
+ * @date 2021/3/23 14:36
+ */
+ public UserInfo getUser() {
+ String token = this.request.getHeader(HttpHeaders.AUTHORIZATION);
+ //解析token
+
+ Claims claims = CommonUtil.parseJWT(token);
+ if (null != claims){
+ String tokenKey = StrUtil.format(RedisKeyEnum.AUTH_TOKEN.getKey(), claims.getId());
+ Object o = redisService.get(tokenKey);
+ if (o == null) {
+ return null;
+ }else{
+ JSONObject jo = JSONObject.parseObject(o.toString());
+ UserInfo user = new UserInfo();
+ user.setId(jo.getLong("id"));;
+ user.setUsername(jo.getString("username"));
+ user.setCompanyid(jo.getLong("companyid"));
+ user.setType(jo.getInteger("type"));
+ return user;
+ }
+ }else{
+ return null;
+ }
+
+ }
+
+ public String getAuth(){
+ String token = this.request.getHeader(HttpHeaders.AUTHORIZATION);
+ Claims claims = CommonUtil.parseJWT(token);
+ if (null != claims){
+ String tokenKey = StrUtil.format(RedisKeyEnum.AUTH_TOKEN.getKey(), claims.getId());
+ Object o = redisService.get(tokenKey);
+ if (o == null) {
+ return null;
+ }else{
+ JSONObject object = JSONObject.parseObject(o.toString());
+
+ return object.getString("auth");
+ }
+ }else{
+ return null;
+ }
+
+ }
+
+ public Msg success() {
+ Msg msg = new Msg();
+ msg.setCode("200");
+ msg.setMessage("success");
+ return msg;
+ }
+
+ public Msg success(Object object) {
+ Msg msg = new Msg();
+ msg.setCode("200");
+ msg.setMessage("success");
+ msg.setResult(object);
+ return msg;
+ }
+}
--
Gitblit v1.9.2