cjl
2023-11-10 a79045aa1246299b6aa2a278744496effcf630e7
fix:token问题修改
2 files modified
46 ■■■■ changed files
screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java 41 ●●●● patch | view | raw | blame | history
screen-common/src/main/java/com/moral/util/TokenUtils.java 5 ●●●● patch | view | raw | blame | history
screen-api/src/main/java/com/moral/api/service/impl/UserServiceImpl.java
@@ -127,17 +127,6 @@
        result.put("device",ObjectUtils.isEmpty(list)? StateEnum.NOT_EFFECTIVE.value :StateEnum.TAKE_EFFECT.value);
        String userIdStr = new StringBuffer("00").append(userBo.getId().toString()).toString();
        String tokenResult = TokenUtils.getTokenById(userIdStr);
        if(StringUtils.isNotEmpty(tokenResult)){
            result.put("token", tokenResult);
            result.put("code", ResponseCodeEnum.SUCCESS.getCode());
            result.put("msg", ResponseCodeEnum.SUCCESS.getMsg());
            sysLog("登陆了用户:" + userBo.getAccount()+" ;openId:"+openId,userBo);
            //添加openId到user表中
            User user = userMapper.selectById(userBo.getId());
            user.setOpenId(openId);
            userMapper.updateById(user);
            return result;
        }
        //封装用户信息
        Map<String, Object> userInfo = new LinkedHashMap<>();
        userInfo.put("userId", userBo.getId());
@@ -152,6 +141,19 @@
        userInfo.put("isAdmin", userBo.getIsAdmin());
        userInfo.put("organizationId",userBo.getOrganizationId());
        userInfo.put("openid", openId);
        if(StringUtils.isNotEmpty(tokenResult)){
            result.put("token", tokenResult);
            result.put("code", ResponseCodeEnum.SUCCESS.getCode());
            result.put("msg", ResponseCodeEnum.SUCCESS.getMsg());
            sysLog("登陆了用户:" + userBo.getAccount()+" ;openId:"+openId,userBo);
            //添加openId到user表中
            User user = userMapper.selectById(userBo.getId());
            user.setOpenId(openId);
            userMapper.updateById(user);
            TokenUtils.getRefreshTokenApp(tokenResult,userInfo);
            return result;
        }
        try {
            //生成token,并存入redis
@@ -219,13 +221,6 @@
        result.put("device",ObjectUtils.isEmpty(list)? StateEnum.NOT_EFFECTIVE.value : StateEnum.TAKE_EFFECT.value);
        result.put("unName",Objects.nonNull(responsibilityUnit)&&Objects.nonNull(responsibilityUnit.getUnitName())?responsibilityUnit.getUnitName():"管理员登陆");
        result.put("openId",openid);
        if(StringUtils.isNotEmpty(tokenResult)){
            result.put("token", tokenResult);
            result.put("code", ResponseCodeEnum.SUCCESS.getCode());
            result.put("msg", ResponseCodeEnum.SUCCESS.getMsg());
            sysLog("登陆了用户:" + user.getAccount()+" ;openId:"+openid,user);
            return result;
        }
        Map<String, Object> userInfo = new LinkedHashMap<>();
        userInfo.put("userId", user.getId());
        userInfo.put("account", user.getAccount());
@@ -233,12 +228,18 @@
        userInfo.put("email", user.getEmail());
        userInfo.put("mobile", user.getMobile());
        userInfo.put("unitId",user.getUnitId());
//        userInfo.put("unName",user.getAreaName());
        userInfo.put("organizationId",user.getOrganizationId());
        userInfo.put("wechat", user.getWechat());
        userInfo.put("expireTime", DateUtils.dateToDateString(user.getExpireTime()));
        userInfo.put("isAdmin", user.getIsAdmin());
        if(StringUtils.isNotEmpty(tokenResult)){
            result.put("token", tokenResult);
            result.put("code", ResponseCodeEnum.SUCCESS.getCode());
            result.put("msg", ResponseCodeEnum.SUCCESS.getMsg());
            sysLog("登陆了用户:" + user.getAccount()+" ;openId:"+openid,user);
            TokenUtils.getRefreshTokenApp(tokenResult,userInfo);
            return result;
        }
        try {
            //生成token,并存入redis
            String token = TokenUtils.getTokenApp(new StringBuffer("00").append(user.getId().toString()).toString(),userInfo);
screen-common/src/main/java/com/moral/util/TokenUtils.java
@@ -86,7 +86,7 @@
            if (oldToken != null)
                redisTemplate.delete(oldToken);
            //新token写入到value中
            redisTemplate.opsForValue().set(token, userInfo);
            getRefreshTokenApp(token,userInfo);
            //redisTemplate.expire(token, validity_time, TimeUnit.SECONDS);
            //新token写入到Hash中
            redisTemplate.opsForHash().put("user_token", uid, token);
@@ -98,6 +98,9 @@
        }
    }
    public static void getRefreshTokenApp(String token, Object userInfo) {
        redisTemplate.opsForValue().set(token, userInfo);
    }
    /**
     * @Description: 校验token