对比新文件 |
| | |
| | | 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; |
| | | } |
| | | } |