From 82e32f285d15fef73d2f4b2a43817c905bf8f75f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=B3=BD=E5=B8=86?= <411641460@qq.com> Date: Fri, 1 May 2026 15:25:45 +0800 Subject: [PATCH] 1 --- .../src/main/java/com/evt/mgr/Utils.java | 80 +++++++++---------- .../src/main/java/com/game/data/Room.java | 34 +++++--- .../com/game/player/state/PlayerEndState.java | 2 +- .../game/player/state/PlayerReadyState.java | 47 +++++++++++ 4 files changed, 107 insertions(+), 56 deletions(-) diff --git a/event_mgr/src/main/java/com/evt/mgr/Utils.java b/event_mgr/src/main/java/com/evt/mgr/Utils.java index 430f852..8965a2f 100644 --- a/event_mgr/src/main/java/com/evt/mgr/Utils.java +++ b/event_mgr/src/main/java/com/evt/mgr/Utils.java @@ -39,55 +39,51 @@ public class Utils { CountUtil.countLogByDay30(gmr + "_self", 1, pipeline9, true); List temp = Utility.getMemberParents(jedis10, groupId, uid, true); - log.info("temp:"+temp.size()); + log.info("temp:" + temp.size()); if (temp != null && temp.size() > 0) { for (int i = 0; i < temp.size(); ++i) { - if(valid_count>0) { - int par = temp.get(i); - if (par != uid) { - String gmv2 = String.format("g{%s}:m%s:valid_round", groupId, par); - CountUtil.countLogByDay30(gmv2, 1, pipeline9); - } - - String gmvp = String.format("g{%s}:m%s:valid_round:p%s", groupId, par, pid); - CountUtil.countLogByDay30(gmvp, 1, pipeline9); - log.info("par增加场次:"+par); - - String gmvp2 = String.format("g{%s}:m%s:valid_round2:p%s", groupId, par, pid); - CountUtil.countLogByDay30(gmvp2, 1, pipeline9); - - String gmv = String.format("g{%s}:m%s:d_valid_round", groupId, par); - CountUtil.countLogByDay30(gmv, 1, pipeline9); + int par = temp.get(i); + if (par != uid) { + String gmv2 = String.format("g{%s}:m%s:valid_round", groupId, par); + CountUtil.countLogByDay30(gmv2, 1, pipeline9); } - + + String gmvp = String.format("g{%s}:m%s:valid_round:p%s", groupId, par, pid); + CountUtil.countLogByDay30(gmvp, 1, pipeline9); + log.info("par增加场次:" + par); + + String gmvp2 = String.format("g{%s}:m%s:valid_round2:p%s", groupId, par, pid); + CountUtil.countLogByDay30(gmvp2, 1, pipeline9); + + String gmv = String.format("g{%s}:m%s:d_valid_round", groupId, par); + CountUtil.countLogByDay30(gmv, 1, pipeline9); + } for (int i = 0; i < temp.size(); ++i) { - if(valid_count>0) { - int par = temp.get(i); - if (par != uid) { - gmr = String.format("g{%s}:m%s:round_log", groupId, par); - CountUtil.countLogByDay30(gmr, 1, pipeline9, true); - } - - gmr = String.format("g{%s}:m%s:valid_diamo:p%s", groupId, par, pid); - CountUtil.countLogByDay30(gmr, valid_diamo, pipeline9); - - gmr = String.format("g{%s}:m%s:all_count:p%s", groupId, par, pid); - - CountUtil.countLogByDay30(gmr, all_count, pipeline9, true); - - gmr = String.format("g{%s}:m%s:d_round_log", groupId, par); + int par = temp.get(i); + if (par != uid) { + gmr = String.format("g{%s}:m%s:round_log", groupId, par); CountUtil.countLogByDay30(gmr, 1, pipeline9, true); } - + + gmr = String.format("g{%s}:m%s:valid_diamo:p%s", groupId, par, pid); + CountUtil.countLogByDay30(gmr, valid_diamo, pipeline9); + + gmr = String.format("g{%s}:m%s:all_count:p%s", groupId, par, pid); + + CountUtil.countLogByDay30(gmr, all_count, pipeline9, true); + + gmr = String.format("g{%s}:m%s:d_round_log", groupId, par); + CountUtil.countLogByDay30(gmr, 1, pipeline9, true); } + } - }catch (Exception e) { - log.error("计入统计出错:",e); + } catch (Exception e) { + log.error("计入统计出错:", e); } - + } public static final void countValidAndTotal(Pipeline pipeline9, ITArray playerList, int groupId, int pid, @@ -101,18 +97,18 @@ public class Utils { int uid = playerList.getInt(i); EventServer.log.info("uid:" + uid); EventServer.log.info("win_player:" + win_player); - //平局两边都需要增加场次 - if(valid_count==0) { + // 平局两边都需要增加场次 + if (valid_count == 0) { EventServer.log.info("平局player:" + uid); countValidAndTotal(jedis10, pipeline9, uid, groupId, pid, 1, valid_diamo, all_count, 1); - }else if (win_player == uid) { + } else if (win_player == uid) { // 大赢家增加场次 EventServer.log.info("win_player:" + uid); countValidAndTotal(jedis10, pipeline9, uid, groupId, pid, valid_count, valid_diamo, all_count, 1); - }else { - //输家不增加场次 + } else { + // 输家不增加场次 EventServer.log.info("win_player:" + uid); countValidAndTotal(jedis10, pipeline9, uid, groupId, pid, 0, valid_diamo, all_count, 1); diff --git a/game_common/src/main/java/com/game/data/Room.java b/game_common/src/main/java/com/game/data/Room.java index 6dd92f2..c537664 100644 --- a/game_common/src/main/java/com/game/data/Room.java +++ b/game_common/src/main/java/com/game/data/Room.java @@ -569,7 +569,7 @@ public class Room implements Runnable { player.xi_pai = false; } - // redisUpdateXiPaiPlayer(player); + redisUpdateXiPaiPlayer(player); } } @@ -987,6 +987,8 @@ public class Room implements Runnable { * 总战绩 */ public void saveMilitaryTotal(boolean dissmiss) { + Global.logger.info("保存录像"); + if (dissmiss) { saveRecRound(); } @@ -1127,7 +1129,7 @@ public class Room implements Runnable { if (player.already_round == 0) continue; - long curHp = 0; + long curHp = player.hp.cur_hp; // 设置保底 if (scoreWin > pumpProportion) { @@ -1144,13 +1146,15 @@ public class Room implements Runnable { if (player.hp.total_hp > 0 && scoreWin > 0) { player.practicalHpPumpReal = roomMoney; this.basePump = 0; +// curHp = Global.eventCtr.redisFag(player, scoreWin, true, true, 0, false, null,player.hp.total_hp); + } else { // 这里只扣输家流水 Global.logger.info("输家" + player.playerid); Global.logger.info("输家:" + player.hp.total_hp); player.practicalHpPumpReal = roomMoney; player.practicalHpPump = 1; - curHp = Global.eventCtr.redisFag(player, 0, hpPump, true, 0, false, null,player.hp.total_hp); + curHp = Global.eventCtr.redisFag(player, player.hp.total_hp, hpPump, true, 0, false, null,-1); } } else { @@ -1179,9 +1183,12 @@ public class Room implements Runnable { // player.practicalHpPump = 0; // player.practicalHpPumpReal = 0; // } - curHp = Global.eventCtr.redisFag(player, player.hp.total_hp, hpPump || player.practicalHpPump > 0, - false, 0, false, null,0); + if(hpPump) { + curHp = Global.eventCtr.redisFag(player, player.hp.total_hp, hpPump || player.practicalHpPump > 0, + false, 0, false, null,0); + + } } Global.logger.info("scoreWin:" + scoreWin + "|room.basepump:" + this.basePump + "room practicalHpPumpReal" + player.practicalHpPumpReal); @@ -1625,14 +1632,13 @@ public class Room implements Runnable { player.hp.total_hp += hp; // player.hp.cur_hp = Redis.use("group1_db10").hincrBy(gm_key, "hp", hp); -// if(hp>0) { -// player.hp.cur_hp = Global.eventCtr.redisFag(player, hp, false, false, 0, false, null); -// }else { -// String gm_key = GroupMemberCache.genKey(this.groupId, player.playerid); -// player.hp.cur_hp = Redis.use("group1_db10").hincrBy(gm_key, "hp", hp); -// -// } - player.hp.cur_hp = Global.eventCtr.redisFag(player, hp, false, false, 0, false, null,0); + if(hp>0) { + player.hp.cur_hp = Global.eventCtr.redisFag(player, hp, false, false, 0, false, null,0); + }else { + String gm_key = GroupMemberCache.genKey(this.groupId, player.playerid); + player.hp.cur_hp = Redis.use("group1_db10").hincrBy(gm_key, "hp", hp); + + } redisCountBlack(player, hp); // 重新设置房间最低分数 @@ -1870,10 +1876,12 @@ public class Room implements Runnable { for (Entry entry : this.playerMapById.entrySet()) { Player player = (Player) entry.getValue(); if (player.xi_pai) { + player.room.redisUpdateXiPaiPlayer(player); list.addInt(player.playerid); } } param1.putTArray("list", list); + broadCastToClient(0, Router.GAME_EVENT_NOTIFY_XIPAI, param1); } } diff --git a/game_common/src/main/java/com/game/player/state/PlayerEndState.java b/game_common/src/main/java/com/game/player/state/PlayerEndState.java index 96039e9..ff7c15e 100644 --- a/game_common/src/main/java/com/game/player/state/PlayerEndState.java +++ b/game_common/src/main/java/com/game/player/state/PlayerEndState.java @@ -40,7 +40,7 @@ public class PlayerEndState extends StateBase { param1.putInt("result", 0); owner.sendEvent(Router.GAME_EVENT_XIPAI, param1); - owner.room.redisUpdateXiPaiPlayer(owner); +// owner.room.redisUpdateXiPaiPlayer(owner); } else { ITObject param1 = new TObject(); diff --git a/game_common/src/main/java/com/game/player/state/PlayerReadyState.java b/game_common/src/main/java/com/game/player/state/PlayerReadyState.java index f1f7fae..7e49769 100644 --- a/game_common/src/main/java/com/game/player/state/PlayerReadyState.java +++ b/game_common/src/main/java/com/game/player/state/PlayerReadyState.java @@ -1,9 +1,20 @@ package com.game.player.state; +import com.data.bean.GroupBean; +import com.data.cache.GroupCache; +import com.data.cache.GroupMemberCache; +import com.data.util.ConsumeCode; +import com.data.util.CountUtil; +import com.data.util.Utility; import com.game.ActionEvent; import com.game.Global; import com.game.data.Player; import com.game.state.StateBase; +import com.taurus.core.plugin.database.DataBase; +import com.taurus.core.plugin.redis.Redis; + +import redis.clients.jedis.Jedis; +import redis.clients.jedis.Pipeline; /** * 玩家准备状态 @@ -22,6 +33,42 @@ public class PlayerReadyState extends StateBase { public void execute(Player owner, String cmd, int gid, Object param) { if(owner.room.round>0)return; if(cmd.equals(ActionEvent.EVENT_EXIT_ROOM)) { +// if(owner.room.round==0) { +// String gm_key = GroupMemberCache.genKey(owner.room.groupId, owner.playerid); +// Redis.use("group1_db10").hincrBy(gm_key, "hp", owner.xi_pai_total); +// String sql = String.format("{call sp_update_hp(%s,%s,%s,%s,%s,%s,'%s',%s,'%s')}", owner.room.groupId, owner.playerid, owner.xi_pai_total, owner.hp.cur_hp, ConsumeCode.HP_PARTNER_XIPAI_REWARD_BACK, +// owner.room.groupPid, owner.room.roomid, System.currentTimeMillis()/1000, "洗牌退回"); +// Utility.evtdb(gid, 2, sql); +// +// Jedis jedis9 = Redis.use("group1_db13").getJedis(); +// try { +// //处理盟主退回操作 +// GroupBean gb = GroupCache.getGroup(owner.room.groupId); +// String desc = "洗牌退回"; +// long cur_hp = CountUtil.countLogByDay3(String.format("g%s:hp_reward:m%s", owner.room.groupId, gb.owner), -owner.xi_pai_total, +// jedis9); +// String mengzhuSql = String.format( +// "INSERT INTO group_hp_log(gid,uid,reason,hp,cur_hp,pid,roomid,time,round,info) " +// + "VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)", +// gb.id, gb.owner, ConsumeCode.HP_PARTNER_XIPAI_REWARD_BACK, -owner.xi_pai_total, cur_hp, owner.room.groupPid, owner.room.roomid, System.currentTimeMillis()/1000, +// 0, desc); +// Pipeline pipeline = jedis9.pipelined(); +// String key = String.format("g{%s}:m%s:d_xipai_reward", owner.room.groupId, gb.owner); +// CountUtil.countLogByDay30(key, -owner.xi_pai_total, pipeline); +// Utility.evtdbLog(gid, 1,mengzhuSql); +// String rewardsql = String.format( +// "update group_member set reward_hp=reward_hp+ %s where uid = %s AND groupId = %s", -owner.xi_pai_total, +// gb.owner, owner.room.groupId); +// +// Utility.evtdb(owner.room.groupId, 1, rewardsql); +// +// }catch (Exception e) { +// e.printStackTrace(); +// } finally { +// jedis9.close(); +// } +// +// } Global.gameCtr.exitRoom(owner, gid,false); } }