lidongdong
2022-10-10 072c7650acbdb888c9ead841e6008aee1f2048f2
修改小程序 token获取不到用户信息
1个文件已修改
37 ■■■■ 已修改文件
flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/interceptor/AuthorizationInterceptor.java
@@ -2,8 +2,10 @@
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 org.apache.catalina.connector.ResponseFacade;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -15,6 +17,7 @@
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Method;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
/**
 * 自定义拦截器,判断此次请求是否有权限
@@ -29,6 +32,12 @@
    @Autowired
    com.dg.core.service.ISysUserService IUserService;
    /**
     * 花城e+用户接口
     */
    @Autowired
    IHuaChengSysUserService iHuaChengSysUserService;
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
@@ -53,7 +62,27 @@
                //如果token验证成功,权限检查通过,将token对应的用户id存在request中,便于之后注入
                request.setAttribute(Constant.CURRENT_USER_ID, manager.getHCUserId(HCtoken));
                System.out.println("花城用户id:"+manager.getHCUserId(HCtoken));
//            SysUser ss = IUserService.selectData(manager.getHCUserId(HCtoken)+"");
                SysUser ss = IUserService.selectData(manager.getHCUserId(HCtoken)+"");
                if(ss==null)
                {
                    HuaChengSysUser huaChengSysUser=iHuaChengSysUserService.selectData(manager.getHCUserId(HCtoken)+"","","");
                    if(huaChengSysUser!=null)
                    {
                        //本地没有此用户  新用户
                        SysUser newSysUser=new SysUser();
                        //默认  1系统后台用户
                        newSysUser.setUserType("1");
                        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);
                    }
                }
                return true;
            }
@@ -68,8 +97,8 @@
            }
        }
        if(!StringUtils.isEmpty(token))
        {
//        if(!StringUtils.isEmpty(token))
//        {
            //如果验证token失败,并且方法或类注明了Authorization,返回401错误
            if (method.getAnnotation(Authorization.class) != null ||
                    bean.getClass().getAnnotation(Authorization.class) != null)
@@ -81,7 +110,7 @@
                facade.setContentLength(reponse.getBytes(StandardCharsets.UTF_8).length);
                facade.getWriter().write(reponse);
                return false;
            }
//            }
        }
        return true;
    }