From f65443d8abeaedc9d102324565e8368e7c9d90c8 Mon Sep 17 00:00:00 2001
From: 郑永安 <zyazyz250@sina.com>
Date: 星期一, 19 六月 2023 14:41:54 +0800
Subject: [PATCH] commit

---
 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