|
@@ -13,13 +13,16 @@ import com.fdkankan.manage.service.*;
|
|
|
import com.fdkankan.manage.vo.request.ManageLoginRequest;
|
|
|
import com.fdkankan.manage.vo.response.ManageLoginResponse;
|
|
|
import com.fdkankan.redis.util.RedisUtil;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Set;
|
|
|
|
|
|
@Service
|
|
|
+@Slf4j
|
|
|
public class ManageService {
|
|
|
|
|
|
@Autowired
|
|
@@ -95,10 +98,6 @@ public class ManageService {
|
|
|
redisUtil.set(String.format(RedisKeyUtil.loginToken ,result.getToken()), JSONObject.toJSONString(result), RedisKeyUtil.loginTime);
|
|
|
}
|
|
|
|
|
|
- String redisUserNameKey = String.format(RedisKeyUtil.loginUserName, param.getUserName());
|
|
|
-
|
|
|
- redisUtil.lRightPush(redisUserNameKey,result.getToken());
|
|
|
-
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -138,21 +137,26 @@ public class ManageService {
|
|
|
}
|
|
|
|
|
|
public void updateLoginUserStatus(String userName,Integer status) {
|
|
|
- String redisUserNameKey = String.format(RedisKeyUtil.loginUserName, userName);
|
|
|
|
|
|
- List<String> list = redisUtil.lGet(redisUserNameKey,0,-1);
|
|
|
- if(list != null && list.size() >0){
|
|
|
- for (String token : list) {
|
|
|
- String redisKey = String.format(RedisKeyUtil.loginToken, token);
|
|
|
- String userStr = redisUtil.get(redisKey);
|
|
|
+ String redisUserNameKey = String.format(RedisKeyUtil.loginToken, "*");
|
|
|
+ Set<String> keys = redisUtil.keys(redisUserNameKey);
|
|
|
+ log.info("登录用户数:{}",keys.size());
|
|
|
+ for (String key : keys) {
|
|
|
+ String userStr = redisUtil.get(key);
|
|
|
if(StringUtils.isNotBlank(userStr)){
|
|
|
ManageLoginResponse result = JSONObject.parseObject(userStr,ManageLoginResponse.class);
|
|
|
- result.setStatus(status);
|
|
|
- redisUtil.set(redisKey,JSONObject.toJSONString(result), 2*60*60);
|
|
|
+ if(result.getUserName().equalsIgnoreCase(userName)){
|
|
|
+ result.setStatus(status);
|
|
|
+ String redisKeyTime = String.format(RedisKeyUtil.loginTokenTime,result.getToken());
|
|
|
+ if(redisUtil.hasKey(redisKeyTime)){
|
|
|
+ redisUtil.set(key,JSONObject.toJSONString(result),Integer.valueOf(redisUtil.get(redisKeyTime)));
|
|
|
+ redisUtil.set(redisKeyTime,redisUtil.get(redisKeyTime),Integer.valueOf(redisUtil.get(redisKeyTime)));
|
|
|
+ }else {
|
|
|
+ redisUtil.set(key,JSONObject.toJSONString(result), 2*60*60);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
}
|
|
|
}
|