|
|
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import com.izouma.nineth.domain.MetaMMOLoginInfo;
|
|
|
import com.izouma.nineth.dto.MMOMessage;
|
|
|
import com.izouma.nineth.dto.MMOSingleMessage;
|
|
|
+import com.izouma.nineth.dto.MetaRestResult;
|
|
|
import com.izouma.nineth.dto.MetaServiceResult;
|
|
|
import com.izouma.nineth.repo.MetaMMOLoginInfoRepo;
|
|
|
import com.izouma.nineth.utils.ApplicationContextUtil;
|
|
|
@@ -29,7 +30,7 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
@ServerEndpoint(value = "/websocket/mmo/{nickName}/{userId}")
|
|
|
@Slf4j
|
|
|
-public class WebSocket extends WebsocketCommon{
|
|
|
+public class WebSocket extends WebsocketCommon {
|
|
|
|
|
|
/**
|
|
|
* 当前在线的客户端map
|
|
|
@@ -393,4 +394,17 @@ public class WebSocket extends WebsocketCommon{
|
|
|
}
|
|
|
return otherUserIds;
|
|
|
}
|
|
|
+
|
|
|
+ public MetaRestResult clearMMO(String userId, String regionId, String cityId) {
|
|
|
+ init();
|
|
|
+ if (clients.containsKey(REDIS_PREFIX.concat(userId))) {
|
|
|
+ String errMsg = String.format("userId[%S]用户mmo连接正常,无法清除缓存!", userId);
|
|
|
+ log.info(errMsg);
|
|
|
+ return MetaRestResult.returnError(errMsg);
|
|
|
+ }
|
|
|
+ String key = cityId.concat(":").concat(regionId);
|
|
|
+ redisTemplate.delete(REDIS_PREFIX.concat(userId));
|
|
|
+ redisTemplate.opsForList().remove(REDIS_PREFIX.concat(key), 0, REDIS_PREFIX.concat(userId));
|
|
|
+ return MetaRestResult.returnSuccess("清除成功");
|
|
|
+ }
|
|
|
}
|