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