|
@@ -0,0 +1,54 @@
|
|
|
+package com.incubator.game.handler.gameinfo;
|
|
|
+
|
|
|
+import cn.hutool.json.JSONArray;
|
|
|
+import cn.hutool.json.JSONObject;
|
|
|
+import com.incubator.common.MessageHandler;
|
|
|
+import com.incubator.common.net.Connection;
|
|
|
+import com.incubator.core.net.ws.NetHandler;
|
|
|
+import com.incubator.core.net.ws.WSRequest;
|
|
|
+import com.incubator.core.net.ws.WSResponse;
|
|
|
+import com.incubator.game.constant.RedisKeyConstant;
|
|
|
+import com.incubator.game.data.jedis.RedisUtil;
|
|
|
+import com.incubator.game.util.JsonToMapUtil;
|
|
|
+import com.incubator.message.proto.CommonProto;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Author: xhb
|
|
|
+ * Date: 2025-01-15 19:24
|
|
|
+ * Description: 获取收藏的游戏信息处理器
|
|
|
+ */
|
|
|
+@MessageHandler(id = CommonProto.Cmd.GetCollectListReq_VALUE)
|
|
|
+public class GetCollectListHandler extends NetHandler {
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onDate(Connection session, WSRequest request, WSResponse response) {
|
|
|
+ response.setCmd(CommonProto.Cmd.GetCollectListRes_VALUE);
|
|
|
+ String userId = session.getPlayerId();
|
|
|
+ String userInfo = RedisUtil.get(RedisKeyConstant.ZJ_USER_GAME_KEY + userId);
|
|
|
+ if (userInfo == null) {
|
|
|
+ response.setData(new HashMap<>());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ JSONArray objects = new JSONArray(userInfo);
|
|
|
+ JSONArray jsonArray = new JSONArray();
|
|
|
+ for (Object object : objects) {
|
|
|
+ JSONObject jsonObject = (JSONObject) object;
|
|
|
+ if ((boolean) jsonObject.get("isCollected")) {
|
|
|
+ jsonArray.add(jsonObject);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ if (jsonArray.size()>0){
|
|
|
+ List<Map<String, Object>> mapList = JsonToMapUtil.parseJsonArrayToMapList(jsonArray);
|
|
|
+ map.put("gameRecData", mapList);
|
|
|
+ } else {
|
|
|
+ map.put("gameRecData", new JSONArray());
|
|
|
+ }
|
|
|
+ response.setData(map);
|
|
|
+ }
|
|
|
+}
|