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 |   70 ++++++++++++++++++++++++++++++----
 1 files changed, 61 insertions(+), 9 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 65a692f..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;
 
 /**
  * 自定义拦截器,判断此次请求是否有权限
@@ -33,6 +34,15 @@
 
     @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 {
@@ -52,11 +62,53 @@
 
         if(StringUtils.isEmpty(token))
         {
-            //花城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)+"");
+                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;
             }
 
@@ -71,8 +123,8 @@
             }
         }
 
-        if(!StringUtils.isEmpty(token))
-        {
+//        if(!StringUtils.isEmpty(token))
+//        {
             //如果验证token失败,并且方法或类注明了Authorization,返回401错误
             if (method.getAnnotation(Authorization.class) != null ||
                     bean.getClass().getAnnotation(Authorization.class) != null)
@@ -85,7 +137,7 @@
                 facade.getWriter().write(reponse);
                 return false;
             }
-        }
+//        }
         return true;
     }
 }
\ No newline at end of file

--
Gitblit v1.7.1