From 0baaff4412822a9907bdf513e178c24272b5521f Mon Sep 17 00:00:00 2001
From: fengjin <1435304038@qq.com>
Date: 星期五, 21 十月 2022 10:19:03 +0800
Subject: [PATCH] Merge branch 'zigonggao_dev' into huacheng_test
---
flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java | 94 +++++++++++++++++++++++++++++++++++++----------
1 files changed, 74 insertions(+), 20 deletions(-)
diff --git a/flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java b/flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java
index c4f6854..780c72d 100644
--- a/flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java
+++ b/flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java
@@ -2,8 +2,11 @@
import com.dg.core.Constant;
import com.dg.core.annotation.Authorization;
+import com.dg.core.db.gen.entity.HuaChengSysUser;
import com.dg.core.db.gen.entity.SysUser;
import com.dg.core.manager.TokenManager;
+import com.dg.core.service.IHuaChengSysUserService;
+import com.dg.core.service.ISysUserRecordService;
import org.apache.catalina.connector.ResponseFacade;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -15,10 +18,7 @@
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.nio.charset.StandardCharsets;
-import java.text.SimpleDateFormat;
-import java.time.ZoneId;
-import java.util.Calendar;
-import java.util.Date;
+import java.time.LocalDateTime;
/**
* 自定义拦截器,判断此次请求是否有权限
@@ -31,9 +31,17 @@
@Autowired
private TokenManager manager;
-
@Autowired
com.dg.core.service.ISysUserService IUserService;
+
+ /**
+ * 花城e+用户接口
+ */
+ @Autowired
+ IHuaChengSysUserService iHuaChengSysUserService;
+
+ @Autowired
+ private ISysUserRecordService iSysUserRecordService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
@@ -48,24 +56,70 @@
//从header中得到token
String token = request.getHeader(Constant.AUTHORIZATION);
- if (manager.checkToken(token)) {
- //如果token验证成功,权限检查通过,将token对应的用户id存在request中,便于之后注入
- request.setAttribute(Constant.CURRENT_USER_ID, manager.getUserId(token));
- SysUser ss = IUserService.getUserById(manager.getUserId(token));
+ //花城token
+ String HCtoken = request.getHeader(Constant.HCAUTHORIZATION);
- return true;
+ if(StringUtils.isEmpty(token))
+ {
+ if (manager.checkHCToken(HCtoken)) {
+ //如果token验证成功,权限检查通过,将token对应的用户id存在request中,便于之后注入
+ request.setAttribute(Constant.CURRENT_USER_ID, manager.getHCUserId(HCtoken));
+ System.out.println("花城用户id:"+manager.getHCUserId(HCtoken));
+ HuaChengSysUser huaChengSysUser=iHuaChengSysUserService.selectData(manager.getHCUserId(HCtoken)+"","","");
+ if(huaChengSysUser!=null && huaChengSysUser.getUserId()!=0 )
+ {
+ SysUser sysUser = IUserService.selectData(null,huaChengSysUser.getPhone());
+ if(sysUser==null)
+ {
+ //本地没有此用户 新用户
+ SysUser newSysUser=new SysUser();
+ //默认 1系统后台用户
+ newSysUser.setUserType("3");
+ newSysUser.setPhonenumber(huaChengSysUser.getPhone());
+ newSysUser.setUserId(huaChengSysUser.getUserId());
+ newSysUser.setUserName(huaChengSysUser.getNickName());
+ newSysUser.setSex(huaChengSysUser.getSex());
+ newSysUser.setAvatar(huaChengSysUser.getImageUrl());
+ newSysUser.setCreateTime(LocalDateTime.now());
+ newSysUser.setUpdateTime(LocalDateTime.now());
+ newSysUser.setOpenid(huaChengSysUser.getOpenid());
+ IUserService.insertConfig(newSysUser);
+ }
+ //新增浏览记录
+ iSysUserRecordService.add(sysUser);
+ //删除因为token问题产出的重复脏数据
+ iSysUserRecordService.deleteDistinct();
+ }
+
+ return true;
+ }
+
+ }
+ else
+ {
+ if (manager.checkToken(token)) {
+ //如果token验证成功,权限检查通过,将token对应的用户id存在request中,便于之后注入
+ request.setAttribute(Constant.CURRENT_USER_ID, manager.getUserId(token));
+// SysUser ss = IUserService.selectData(manager.getUserId(token)+"");
+ return true;
+ }
}
- //如果验证token失败,并且方法或类注明了Authorization,返回401错误
- if (method.getAnnotation(Authorization.class) != null || bean.getClass().getAnnotation(Authorization.class) != null) {
- String reponse = "{\"result\": 449, \"message\": \"Overdue token\"}";
- response.setStatus(200);
- response.setCharacterEncoding(StandardCharsets.UTF_8.toString());
- ResponseFacade facade = (ResponseFacade) response;
- facade.setContentLength(reponse.getBytes(StandardCharsets.UTF_8).length);
- facade.getWriter().write(reponse);
- return false;
- }
+// if(!StringUtils.isEmpty(token))
+// {
+ //如果验证token失败,并且方法或类注明了Authorization,返回401错误
+ if (method.getAnnotation(Authorization.class) != null ||
+ bean.getClass().getAnnotation(Authorization.class) != null)
+ {
+ String reponse = "{\"result\": 449, \"message\": \"Overdue token\"}";
+ response.setStatus(200);
+ response.setCharacterEncoding(StandardCharsets.UTF_8.toString());
+ ResponseFacade facade = (ResponseFacade) response;
+ facade.setContentLength(reponse.getBytes(StandardCharsets.UTF_8).length);
+ facade.getWriter().write(reponse);
+ return false;
+ }
+// }
return true;
}
}
\ No newline at end of file
--
Gitblit v1.7.1