From 08f1b1f1804a8bd833d42f257908d80e88387b55 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 14 三月 2025 11:27:47 +0800
Subject: [PATCH] 3.5增加登录验证、修改密码、人员列表调整

---
 flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java |  113 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 77 insertions(+), 36 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 2ec7af8..70888b1 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,8 @@
 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;
+import java.util.List;
 
 /**
  * 自定义拦截器,判断此次请求是否有权限
@@ -31,9 +32,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 {
@@ -53,26 +62,56 @@
 
         if(StringUtils.isEmpty(token))
         {
-            if(StringUtils.isEmpty(HCtoken))
-            {
-                String reponse = "{\"result\": 448, \"message\": \"token not is null \"}";
-                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;
-            }
-            else
-            {
-                //花城e+   token
-                if (manager.checkHCToken(HCtoken)) {
-                    //如果token验证成功,权限检查通过,将token对应的用户id存在request中,便于之后注入
-                    request.setAttribute(Constant.CURRENT_USER_ID, manager.getHCUserId(HCtoken));
-//            SysUser ss = IUserService.selectData(manager.getHCUserId(HCtoken)+"");
-                    return true;
+            if (manager.checkHCToken(HCtoken)) {
+                //如果token验证成功,权限检查通过,将token对应的用户id存在request中,便于之后注入
+                request.setAttribute(Constant.CURRENT_USER_ID, manager.getHCUserId(HCtoken));
+                System.out.println("花城用户id:"+manager.getHCUserId(HCtoken));
+                List<HuaChengSysUser> list=iHuaChengSysUserService.selectData(manager.getHCUserId(HCtoken)+"","","");
+                HuaChengSysUser huaChengSysUser=null;
+
+                if(list!=null || list.size()>0 )
+                {
+                    huaChengSysUser=list.get(0);
                 }
+
+                if(huaChengSysUser!=null && !StringUtils.isEmpty(huaChengSysUser.getUserId()) )
+                {
+                    SysUser sysUser = IUserService.selectData(null,huaChengSysUser.getPhone(),null);
+                    if(sysUser==null)
+                    {
+                        //本地没有此用户  新用户
+                        SysUser newSysUser=new SysUser();
+                        //默认  1系统后台用户
+                        newSysUser.setUserType("4");
+                        newSysUser.setRoleIds("4");
+                        newSysUser.setIsDivisionHead("2");
+                        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);
+                    }
+                    else
+                    {
+                        if(StringUtils.isEmpty(sysUser.getOpenid()))
+                        {
+                            sysUser.setOpenid(huaChengSysUser.getOpenid());
+                            IUserService.updateConfig(sysUser);
+                        }
+                    }
+                    //新增浏览记录
+                    iSysUserRecordService.add(sysUser);
+                    //删除因为token问题产出的重复脏数据
+                    iSysUserRecordService.deleteDistinct();
+                }
+
+                return true;
             }
+
         }
         else
         {
@@ -84,19 +123,21 @@
             }
         }
 
-
-        //如果验证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