From 64cbc3b29ba6b987f1f14248493d7d82cfb72c8b Mon Sep 17 00:00:00 2001 From: zhangye <654600784@qq.com> Date: Tue, 10 Mar 2020 17:32:51 +0800 Subject: [PATCH] 0310.2 --- .../com/ccsens/tall/service/IUserService.java | 2 +- .../com/ccsens/tall/service/UserService.java | 57 +++++++++++++------ .../com/ccsens/tall/web/UserController.java | 8 +-- 3 files changed, 45 insertions(+), 22 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/service/IUserService.java b/tall/src/main/java/com/ccsens/tall/service/IUserService.java index d6dfd311..a6eaf2b2 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IUserService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IUserService.java @@ -73,5 +73,5 @@ public interface IUserService { UserVo.UserSign changePhoneNotPassword(Long userId,UserDto.WxBindingPhone phoneInfo) throws Exception; - String getTokenByUserId(Long userId); + UserVo.TokenBean getTokenByUserId(Long userId); } diff --git a/tall/src/main/java/com/ccsens/tall/service/UserService.java b/tall/src/main/java/com/ccsens/tall/service/UserService.java index 475bf90e..f60c8e4c 100644 --- a/tall/src/main/java/com/ccsens/tall/service/UserService.java +++ b/tall/src/main/java/com/ccsens/tall/service/UserService.java @@ -1372,22 +1372,46 @@ public class UserService implements IUserService { * @return */ @Override - public String getTokenByUserId(Long userId) { + public UserVo.TokenBean getTokenByUserId(Long userId) { + UserVo.TokenBean tokenBean = new UserVo.TokenBean(); + //在redis中获取token if (ObjectUtil.isNull(userId)) { throw new BaseException(CodeEnum.PARAM_ERROR); } - Object object = redisUtil.get(RedisKeyManager.getTokenCachedKey(userId)); - if (ObjectUtil.isNull(object)) { - UserVo.UserSign userSignVo = null; - - SysAuthExample authExample = new SysAuthExample(); - authExample.createCriteria().andUserIdEqualTo(userId); - List authList = authDao.selectByExample(authExample); - if (CollectionUtil.isNotEmpty(authList)) { - userSignVo = new UserVo.UserSign(); - userSignVo.setUserId(authList.get(0).getUserId()); - userSignVo.setAuthId(authList.get(0).getId()); + Object tokenR = redisUtil.get(RedisKeyManager.getTokenCachedKey(userId)); + //获取认证信息 + UserVo.UserSign userSignVo = null; + SysAuthExample authExample = new SysAuthExample(); + authExample.createCriteria().andUserIdEqualTo(userId); + List authList = authDao.selectByExample(authExample); + if (CollectionUtil.isNotEmpty(authList)) { + userSignVo = new UserVo.UserSign(); + userSignVo.setUserId(authList.get(0).getUserId()); + userSignVo.setAuthId(authList.get(0).getId()); + } + if(ObjectUtil.isNotNull(userSignVo)){ + //获取手机号 + String phone = getPhone(userSignVo.getUserId()); + //获取账号 + String account = selectAccountByPhone(phone); + //获取用户的基本信息、 + UserVo.WxInfo wxInfo = null; + SysUser user = userDao.selectByPrimaryKey(userSignVo.getUserId()); + if (ObjectUtil.isNotNull(user)) { + wxInfo = new UserVo.WxInfo(); + BeanUtil.copyProperties(user, wxInfo); + wxInfo.setSex(user.getGender()); + wxInfo.setHeadImgUrl(user.getAvatarUrl()); } + tokenBean.setId(userSignVo.getUserId()); + tokenBean.setPhone(phone); + tokenBean.setAccount(account); + tokenBean.setWxInfo(wxInfo); + }else { + throw new BaseException(CodeEnum.PARAM_ERROR); + } + //如果token为空重新生成一份 + if (ObjectUtil.isNull(tokenR)) { //3.生成token(access_token,refresh_token) if (ObjectUtil.isNotNull(userSignVo)) { Map theMap = CollectionUtil.newHashMap(); @@ -1397,14 +1421,13 @@ public class UserService implements IUserService { String token = JwtUtil.createJWT(userId + "", theMap, tokenExpired, - WebConstant.JWT_ACCESS_TOKEN_SECERT); + WebConstant.JWT_ACCESS_TOKEN_SECERT).toString(); redisUtil.set(RedisKeyManager.getTokenCachedKey((Long) userId), token, tokenExpired / 1000); - object = token; - } else { - throw new BaseException(CodeEnum.PARAM_ERROR); + tokenR = token; } } - return object.toString(); + tokenBean.setToken(tokenR.toString()); + return tokenBean; } } diff --git a/tall/src/main/java/com/ccsens/tall/web/UserController.java b/tall/src/main/java/com/ccsens/tall/web/UserController.java index d7c2d958..9489ab77 100644 --- a/tall/src/main/java/com/ccsens/tall/web/UserController.java +++ b/tall/src/main/java/com/ccsens/tall/web/UserController.java @@ -305,14 +305,14 @@ public class UserController { @ApiOperation(value = "通过userId获取token",notes = "") @ApiImplicitParams({ - @ApiImplicitParam(name="projectId",value = "projectId",required = true,paramType = "query") + @ApiImplicitParam(name="userId",value = "用户id",required = true,paramType = "query") }) @RequestMapping(value = "/userId",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) - public JsonResponse getTokenByUserId(HttpServletRequest request, + public JsonResponse getTokenByUserId(HttpServletRequest request, @RequestParam(required = true) Long userId) throws Exception { - String token = userService.getTokenByUserId(userId); - return JsonResponse.newInstance().ok(token); + UserVo.TokenBean tokenBean = userService.getTokenByUserId(userId); + return JsonResponse.newInstance().ok(tokenBean); }