|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | @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)); | 
|---|
|  |  |  | 
|---|
|  |  |  | if(huaChengSysUser!=null && huaChengSysUser.getUserId()!=0 ) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | SysUser sysUser = IUserService.selectData(null,huaChengSysUser.getPhone()); | 
|---|
|  |  |  | if(sysUser==null && sysUser.getUserId()<0) | 
|---|
|  |  |  | if(sysUser==null) | 
|---|
|  |  |  | { | 
|---|
|  |  |  | //本地没有此用户  新用户 | 
|---|
|  |  |  | SysUser newSysUser=new SysUser(); | 
|---|
|  |  |  | 
|---|
|  |  |  | newSysUser.setOpenid(huaChengSysUser.getOpenid()); | 
|---|
|  |  |  | IUserService.insertConfig(newSysUser); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | //新增浏览记录 | 
|---|
|  |  |  | iSysUserRecordService.add(sysUser); | 
|---|
|  |  |  | //删除因为token问题产出的重复脏数据 | 
|---|
|  |  |  | iSysUserRecordService.deleteDistinct(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|