| | |
| | | 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; |
| | |
| | | import java.lang.reflect.Method; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 自定义拦截器,判断此次请求是否有权限 |
| | |
| | | @Autowired |
| | | IHuaChengSysUserService iHuaChengSysUserService; |
| | | |
| | | @Autowired |
| | | private ISysUserRecordService iSysUserRecordService; |
| | | |
| | | @Override |
| | | public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { |
| | | //如果不是映射到方法直接通过 |
| | |
| | | |
| | | if(StringUtils.isEmpty(token)) |
| | | { |
| | | //花城e+ 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 ) |
| | | List<HuaChengSysUser> list=iHuaChengSysUserService.selectData(manager.getHCUserId(HCtoken)+"","",""); |
| | | HuaChengSysUser huaChengSysUser=null; |
| | | |
| | | if(list!=null || list.size()>0 ) |
| | | { |
| | | SysUser sysUser = IUserService.selectData(null,huaChengSysUser.getPhone()); |
| | | if(sysUser==null && sysUser.getUserId()<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("3"); |
| | | newSysUser.setUserType("4"); |
| | | newSysUser.setRoleIds("4"); |
| | | newSysUser.setIsDivisionHead("2"); |
| | | newSysUser.setPhonenumber(huaChengSysUser.getPhone()); |
| | | newSysUser.setUserId(huaChengSysUser.getUserId()); |
| | | newSysUser.setUserName(huaChengSysUser.getNickName()); |
| | |
| | | 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; |
| | | } |
| | | |