Переглянути джерело

个人数据刷新,官方赛事完善

xhb 3 місяців тому
батько
коміт
2eeb6c886b

+ 19 - 0
incubator-game/src/main/java/com/incubator/game/data/po/PlayerInfoPO.java

@@ -2,6 +2,8 @@ package com.incubator.game.data.po;
 
 import com.incubator.game.util.GDUtils;
 
+import java.util.Date;
+
 /**
  * 数据库表[player_info]对应的实体类
  * 作者:agui
@@ -115,6 +117,23 @@ public class PlayerInfoPO {
 	/** 身份证号 **/
 	public String idCard;
 
+	/**登录状态*/
+	private String loginStatus;
+
+	/**魅力*/
+	private Integer charm;
+
+	/**主俱乐部*/
+	private String userClub;
+
+
+	/**充值金钱*/
+	private Integer rmb;
+
+	/**创建时间*/
+	private Date createTime;
+
+
 	public PlayerInfoPO () {
 
 	}

+ 0 - 1
incubator-game/src/main/java/com/incubator/game/handler/contest/GetContestListHandler.java

@@ -45,7 +45,6 @@ public class GetContestListHandler extends NetHandler {
     public static List<Object> contestInfoList(Player player) {
         List<Object> list = new ArrayList<>();
         for (Contest contest : ContestService.getInstance().contestMap.values()) {
-            Log.info(contest.toString());
             if (contest.prop != null && contest.prop.getCompeteType() == 0 && contest.prop.runStatus.equals("Y")) {
                 list.add(contestInfoToMessageByUId(contest, player.getId()));
             }

+ 4 - 1
incubator-game/src/main/java/com/incubator/game/handler/event/GetReward.java

@@ -11,7 +11,10 @@ import com.incubator.core.net.ws.WSResponse;
 import com.incubator.game.constant.RedisKeyConstant;
 import com.incubator.game.data.jedis.RedisUtil;
 import com.incubator.game.data.mq.RabbitMQUtil;
+import com.incubator.game.player.GPlayer;
+import com.incubator.game.player.Player;
 import com.incubator.game.util.JsonToMapUtil;
+import com.incubator.game.util.PlayerUtil;
 import com.incubator.game.util.ProtoUtil;
 import com.incubator.message.proto.CommonProto;
 
@@ -32,7 +35,7 @@ public class GetReward extends NetHandler {
         String userId = session.getUid();
         String eventId = request.getDataValue("eventId", String.class, "");//活动id
         String periodNum = request.getDataValue("dayX", String.class, "");//第几天
-        String goodsId = request.getDataValue("itemId", String.class, "");//第几天
+        String goodsId = request.getDataValue("itemId", String.class, "");//物品id
         JSONObject object = new JSONObject();
         object.put("type","GetReward");
         object.put("userId",userId);

+ 13 - 0
incubator-game/src/main/java/com/incubator/game/handler/http/UpdateCompeteHandler.java

@@ -4,12 +4,17 @@ import com.incubator.common.MessageHandler;
 import com.incubator.core.net.http.HttpHandler;
 import com.incubator.core.net.http.HttpRequest;
 import com.incubator.core.net.http.HttpResponse;
+import com.incubator.game.GGame;
 import com.incubator.game.contest.Contest;
 import com.incubator.game.contest.ContestService;
 import com.incubator.game.data.data.ext.ContestExt;
+import com.incubator.game.handler.contest.GetContestListHandler;
+import com.incubator.game.player.GPlayer;
+import com.incubator.game.player.Player;
 import com.incubator.game.util.ProtoUtil;
 import com.incubator.message.proto.CommonProto;
 
+import java.util.HashMap;
 import java.util.Map;
 
 /**
@@ -43,6 +48,14 @@ public class UpdateCompeteHandler extends HttpHandler {
                 player1.receive(CommonProto.Cmd.EndOfRace_VALUE, data);
             });
         }
+        //给在线玩家发送比赛列表
+        Map<String, GPlayer> onlinePlayers = GGame.onlinePlayers;
+        for (GPlayer player : onlinePlayers.values()) {
+            Map<String, Object> map = new HashMap<>();
+            // 官方比赛信息列表
+            map.put("contestInfo", GetContestListHandler.contestInfoList((Player) player));
+            player.receive(CommonProto.Cmd.GetContestListRes_VALUE, map);
+        }
         return httpResponse;
     }
 }

+ 44 - 0
incubator-game/src/main/java/com/incubator/game/handler/http/UpdatePlayer.java

@@ -0,0 +1,44 @@
+package com.incubator.game.handler.http;
+
+import com.incubator.common.MessageHandler;
+import com.incubator.core.net.http.HttpHandler;
+import com.incubator.core.net.http.HttpRequest;
+import com.incubator.core.net.http.HttpResponse;
+import com.incubator.game.player.Player;
+import com.incubator.game.util.PlayerUtil;
+import com.incubator.game.util.ProtoUtil;
+import com.incubator.message.proto.CommonProto;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Author:  xhb
+ * Date:  2025-01-07 16:47
+ */
+@MessageHandler(httpPath = "/updatePlayer")
+public class UpdatePlayer extends HttpHandler {
+    /**
+     * 修改个人信息数据
+     **/
+    @Override
+    public HttpResponse onDate(HttpRequest request, Map<String, String> params) throws Exception {
+        HttpResponse httpResponse = new HttpResponse();
+        String userId = params.get("userId");
+        long gold = Long.parseLong(params.get("gold"));
+        long diamond = Long.parseLong(params.get("diamond"));
+        long foca = Long.parseLong(params.get("foca"));
+        Player player = (Player) PlayerUtil.getOnlinePlayer(userId);
+        player.data.foca = foca;
+        player.data.gold = gold;
+        player.data.diamond = diamond;
+        // 正常返回
+        Map<String, Object> map = new HashMap<>();
+        map.put("playerInfo", ProtoUtil.playerInfoToMessage(player));
+        player.receive(CommonProto.Cmd.PersonalDataChanges_VALUE, map);
+        httpResponse.setCode(200);
+        httpResponse.setMessage("成功!");
+        return httpResponse;
+    }
+
+}

+ 2 - 2
incubator-game/src/main/java/com/incubator/game/util/ContestUtil.java

@@ -50,7 +50,7 @@ public class ContestUtil {
             contestCO.setSubstituteTime(Integer.parseInt(params.get("SubstituteTime")));
         }
         ContestService.getInstance().creatContest(contestCO.getGameType(),contestCO.getiD(),contestCO);
-        List<Object> objects = ProtoUtil.contestListToMessage();
+        List<Object> objects = ProtoUtil.contestListByRunToMessage();
         Log.info("比赛列表 : List={}", objects);
     }
 
@@ -105,7 +105,7 @@ public class ContestUtil {
             contestCO.setSubstituteTime((Integer)params.get("SubstituteTime"));
         }
         ContestService.getInstance().creatContest(contestCO.getGameType(),contestCO.getiD(),contestCO);
-        List<Object> objects = ProtoUtil.contestListToMessage();
+        List<Object> objects = ProtoUtil.contestListByRunToMessage();
         Log.info("比赛列表 : List={}", objects);
     }
 

+ 1 - 0
incubator-message/src/main/proto/CommonProto.proto

@@ -95,6 +95,7 @@ enum Cmd {
     GetAuthenticationRes = 200320; //获取个人实名认证响应
     AuthenticationReq = 200321; //绑定个人实名认证请求
     AuthenticationRes = 200322; //绑定个人实名认证响应
+    PersonalDataChanges = 200324; //个人信息变化数据
 
 
     //排行榜