|
@@ -132,14 +132,14 @@ public class UserServiceImpl implements UserService {
|
|
|
}
|
|
|
switch (isExistUser.getState()) {
|
|
|
case ConstantStr.NORMAL_USE:
|
|
|
- String userId = Convert.toStr(redisUtil.get(ConstantStr.FRONT_USER_String + isExistUser.getUserId()));
|
|
|
- if (Blank.isNotEmpty(userId)) {
|
|
|
+ String token = Convert.toStr(redisUtil.get(ConstantStr.FRONT_USER_String + isExistUser.getUserId()));
|
|
|
+ if (Blank.isNotEmpty(token)) {
|
|
|
return Result.no(ResultEnum.SERVER_ERROR.getRespCode(), "此账号在其他地方登录,请勿重新登录");
|
|
|
}
|
|
|
JSONObject json = new JSONObject();
|
|
|
isExistUser.setPassword("");
|
|
|
//生成token
|
|
|
- String token = TokenUtil.token(isExistUser.getUserName(), ConstantStr.FIVE_HOUR);
|
|
|
+ token = TokenUtil.token(isExistUser.getUserName(), ConstantStr.FIVE_HOUR);
|
|
|
token = ConstantStr.FRONT_USER_String + token;
|
|
|
redisUtil.set(ConstantStr.FRONT_USER_String + isExistUser.getUserId(), token, ConstantStr.FIVE_HOUR);
|
|
|
redisUtil.set(token, isExistUser.getUserId(), ConstantStr.FIVE_HOUR);
|
|
@@ -665,23 +665,40 @@ public class UserServiceImpl implements UserService {
|
|
|
@Override
|
|
|
public Result getOnlineUser(String loginType) {
|
|
|
if (loginType.equals(ConstantStr.FRONT_USER_String)) {
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
List<String> userIdList = userDao.getAllUserIdByType(ConstantStr.FRONT_USER);
|
|
|
+ List<String> userIdLoginList = new ArrayList<>();
|
|
|
if (Blank.isEmpty(userIdList)) {
|
|
|
- return Result.ok(0);
|
|
|
+ jsonObject.put("count", 0);
|
|
|
+ jsonObject.put("frontLoginList", new ArrayList<>());
|
|
|
} else {
|
|
|
int count = 0;
|
|
|
for (String userId : userIdList) {
|
|
|
if (Blank.isNotEmpty(redisUtil.get(ConstantStr.FRONT_USER_String + userId))) {
|
|
|
count += 1;
|
|
|
+ userIdLoginList.add(userId);
|
|
|
}
|
|
|
}
|
|
|
- return Result.ok(count);
|
|
|
+ jsonObject.put("count", count);
|
|
|
+ jsonObject.put("frontLoginList", Blank.isEmpty(userIdLoginList) ?
|
|
|
+ new ArrayList<>() : userDao.getUserListByIdList(userIdLoginList));
|
|
|
}
|
|
|
+ return Result.ok(jsonObject);
|
|
|
} else {
|
|
|
throw new CustomException(ResultEnum.REQUEST_WRONGPARAMS.getRespCode(), "当前只支持查看客户端在线用户人数");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Result clearLoginSession(String userId) {
|
|
|
+ String token = Convert.toStr(redisUtil.get(ConstantStr.FRONT_USER_String + userId));
|
|
|
+ redisUtil.del(ConstantStr.FRONT_USER_String + userId);
|
|
|
+ if (Blank.isNotEmpty(token)) {
|
|
|
+ redisUtil.del(token);
|
|
|
+ }
|
|
|
+ return Result.ok("清空用户登录信息成功");
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public synchronized Result updateUser(User user) {
|