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