diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java index eb8bc3012..138666b98 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/activity/CommitShejiActivityItemRequestHandler.java @@ -6,6 +6,8 @@ import com.ljsd.jieling.exception.ErrorCode; import com.ljsd.jieling.exception.ErrorCodeException; import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.handler.BaseHandler; +import com.ljsd.jieling.ktbeans.ReportEventEnum; +import com.ljsd.jieling.ktbeans.ReportUtil; import com.ljsd.jieling.logic.activity.ActivityLogic; import com.ljsd.jieling.logic.activity.ActivityTypeEnum; import com.ljsd.jieling.logic.activity.event.CommitSheJiEvent; @@ -14,6 +16,9 @@ import com.ljsd.jieling.logic.dao.GuilidManager; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.GuildInfo; import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.rank.RankContext; +import com.ljsd.jieling.logic.rank.RankEnum; +import com.ljsd.jieling.logic.rank.RankLogic; import rpc.protocols.ActivityProto; import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; @@ -99,7 +104,7 @@ public class CommitShejiActivityItemRequestHandler extends BaseHandler{} not exit", guildId); } @@ -122,8 +125,13 @@ class SheJiActivity extends AbstractActivity { if(guildInfo.getGuildSheJiScore()>=sGodSacrificeSetting.getL1Score()){ guildRank.addRank(guildId,String.valueOf(id),guildInfo.getGuildSheJiScore()); } - if( ((CommitSheJiEvent) event).getScore()!=0){ - RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()).incrementRankScoreOnly(((CommitSheJiEvent) event).getCommitUid(), String.valueOf(id), ((CommitSheJiEvent) event).getScore()); + if( commitSheJiEvent.getScore()!=0){ + RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()).incrementRankScoreOnly(commitSheJiEvent.getCommitUid(), String.valueOf(id), commitSheJiEvent.getScore()); + } + if(commitSheJiEvent.getItemId()!=0){ + AbstractRank personRank = RankContext.getRankEnum(RankEnum.EXPERT_RANK.getType()); + double score = RankContext.getRankEnum(RankEnum.GUILD_SHEJI_SCORE_RANK.getType()).getScoreById(commitSheJiEvent.getCommitUid(), String.valueOf(id)); + ReportUtil.onReportEvent(UserManager.getUser(commitSheJiEvent.getCommitUid()),ReportEventEnum.CEREMONY.getType(),commitSheJiEvent.getItemId()+"#"+commitSheJiEvent.getItemNum(),commitSheJiEvent.getScore(),(int)score,personRank.getRankIndexByKey(String.valueOf(id),commitSheJiEvent.getCommitUid()),guildRank.getRankIndexByKey("",guildId)==-1?0:guildRank.getRankIndexByKey("",guildId)); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/CommitSheJiEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/CommitSheJiEvent.java index 21a79ae63..92012cb87 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/CommitSheJiEvent.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/CommitSheJiEvent.java @@ -8,6 +8,8 @@ public class CommitSheJiEvent implements IEvent{ private int guild; private int commitUid; private int score; + private int itemId; + private int itemNum; public CommitSheJiEvent(int guild, int commitUid, int score) { this.guild = guild; @@ -15,6 +17,14 @@ public class CommitSheJiEvent implements IEvent{ this.score = score; } + public CommitSheJiEvent(int guild, int commitUid, int score, int itemId, int itemNum) { + this.guild = guild; + this.commitUid = commitUid; + this.score = score; + this.itemId = itemId; + this.itemNum = itemNum; + } + public int getGuild() { return guild; } @@ -38,4 +48,20 @@ public class CommitSheJiEvent implements IEvent{ public void setScore(int score) { this.score = score; } + + public int getItemId() { + return itemId; + } + + public void setItemId(int itemId) { + this.itemId = itemId; + } + + public int getItemNum() { + return itemNum; + } + + public void setItemNum(int itemNum) { + this.itemNum = itemNum; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java index e5fefcbb6..dac4262d3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java @@ -371,7 +371,7 @@ public class GuildLogic { RedisUtil.getInstence().releaseDistributedLock(RedisKey.OPERATE_FAMILY,Integer.toString(guildId), Integer.toString(uid)); } //社稷大典需要初始化分数 - Poster.getPoster().dispatchEvent(new CommitSheJiEvent(guildId,uid,0)); + Poster.getPoster().dispatchEvent(new CommitSheJiEvent(guildId,uid,0,0,0)); RedisUtil.getInstence().expire(RedisKey.getKey(RedisKey.FAMILY_JOIN,String.valueOf(uid),false), TimeUtils.DAY); addGuildLog(guildInfo.getId(),GuildDef.Log.JOIN,user.getPlayerInfoManager().getNickName()); Family.FamilyJoinIndicaion build = Family.FamilyJoinIndicaion.newBuilder().setFamilyBaseInfo(CBean2Proto.getFamilyBaseInfo(guildInfo)).setFamilyUserInfo(CBean2Proto.getFamilyUserInfo(user, GlobalsDef.MEMBER)).build();