|
@@ -8,6 +8,7 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
|
|
|
import cn.iocoder.yudao.framework.common.exception.ServiceException;
|
|
import cn.iocoder.yudao.framework.common.exception.ServiceException;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
|
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
|
|
|
|
|
+import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils;
|
|
import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils;
|
|
|
import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils;
|
|
import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils;
|
|
@@ -21,6 +22,7 @@ import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserPageReqV
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
|
|
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.UserPostDO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.UserPostDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
|
|
|
import cn.iocoder.yudao.module.system.dal.mysql.dept.UserPostMapper;
|
|
import cn.iocoder.yudao.module.system.dal.mysql.dept.UserPostMapper;
|
|
|
import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper;
|
|
import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper;
|
|
@@ -36,6 +38,7 @@ import jakarta.annotation.Resource;
|
|
|
import jakarta.validation.ConstraintViolationException;
|
|
import jakarta.validation.ConstraintViolationException;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
|
|
+import org.springframework.data.redis.core.StringRedisTemplate;
|
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@@ -45,6 +48,7 @@ import java.util.*;
|
|
|
|
|
|
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
|
|
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.*;
|
|
|
|
|
+import static cn.iocoder.yudao.module.system.dal.redis.RedisKeyConstants.OAUTH2_ACCESS_TOKEN;
|
|
|
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
|
import static cn.iocoder.yudao.module.system.enums.ErrorCodeConstants.*;
|
|
|
import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.*;
|
|
import static cn.iocoder.yudao.module.system.enums.LogRecordConstants.*;
|
|
|
|
|
|
|
@@ -81,6 +85,8 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
|
|
|
|
|
@Resource
|
|
@Resource
|
|
|
private ConfigApi configApi;
|
|
private ConfigApi configApi;
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private StringRedisTemplate stringRedisTemplate;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -517,4 +523,22 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|
|
return passwordEncoder.encode(password);
|
|
return passwordEncoder.encode(password);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 用户在线
|
|
|
|
|
+ * @param id 用户id
|
|
|
|
|
+ * @param username 用户账号
|
|
|
|
|
+ * @return
|
|
|
|
|
+ */
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public List<OAuth2AccessTokenDO> getOnlineUser(Long id, String username) {
|
|
|
|
|
+ List<String> strings = new ArrayList<>(stringRedisTemplate.opsForValue().multiGet(stringRedisTemplate.keys(String.format(OAUTH2_ACCESS_TOKEN, "*"))));
|
|
|
|
|
+ for (String s : strings) {
|
|
|
|
|
+ OAuth2AccessTokenDO oAuth2AccessTokenDO = JsonUtils.parseObject(s, OAuth2AccessTokenDO.class);
|
|
|
|
|
+ System.out.println("1-----" + oAuth2AccessTokenDO);
|
|
|
|
|
+ Map<String, String> userInfo = oAuth2AccessTokenDO.getUserInfo();
|
|
|
|
|
+ System.out.println("2-----" + userInfo);
|
|
|
|
|
+ }
|
|
|
|
|
+ return null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|