diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/EndExpeditionBattleRequest.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/EndExpeditionBattleRequest.java index 71dd36b70..fd60ac05d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/EndExpeditionBattleRequest.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/Expedition/EndExpeditionBattleRequest.java @@ -10,6 +10,9 @@ 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.event.EndExpeditionNodeEvent; +import com.ljsd.jieling.logic.activity.event.IEvent; +import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.expedition.ExpeditionLogic; @@ -301,7 +304,7 @@ public class EndExpeditionBattleRequest extends BaseHandler activityProgressInfoMap = activityMission.getActivityMissionMap(); + + for (SActivityRewardConfig sActivityRewardConfig : SActivityRewardConfig.getsActivityRewardConfigByActivityId(id)) { + ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(sActivityRewardConfig.getId(), null); + if (null == activityProgressInfo) + continue; + activityProgressInfo.setProgrss(activityProgressInfo.getProgrss() + 1); + activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); + } + updateProgressWithUser(user,activityMission,nodeEvent.getNodeScore()); + //更新进度 + ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); + sendActivityProgress(sessionByUid, activityMission, null); + + } public ExpeditionExpert(int id) { super(id); + Poster.getPoster().listenEvent(this,EndExpeditionNodeEvent.class); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/EndExpeditionNodeEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/EndExpeditionNodeEvent.java new file mode 100644 index 000000000..8918f3c49 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/EndExpeditionNodeEvent.java @@ -0,0 +1,33 @@ +package com.ljsd.jieling.logic.activity.event; + +/** + * @author lvxinran + * @date 2020/9/23 + * @discribe + */ +public class EndExpeditionNodeEvent implements IEvent { + private int nodeScore; + + private int uid; + + public EndExpeditionNodeEvent( int uid,int nodeScore) { + this.nodeScore = nodeScore; + this.uid = uid; + } + + public int getNodeScore() { + return nodeScore; + } + + public void setNodeScore(int nodeScore) { + this.nodeScore = nodeScore; + } + + public int getUid() { + return uid; + } + + public void setUid(int uid) { + this.uid = uid; + } +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLog.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLog.java index 4b7ab29fc..45672bd19 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLog.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/ItemLog.java @@ -12,6 +12,8 @@ public class ItemLog { private int type; + private int level; + private String time; private int reason; @@ -26,9 +28,10 @@ public class ItemLog { } - public ItemLog(int uid, int type, String time, int reason, int itemId, int itemNum, int itemTotalNum) { + public ItemLog(int uid, int type, int level, String time, int reason, int itemId, int itemNum, int itemTotalNum) { this.uid = uid; this.type = type; + this.level = level; this.time = time; this.reason = reason; this.itemId = itemId; @@ -99,4 +102,12 @@ public class ItemLog { public void setItemTotalNum(int itemTotalNum) { this.itemTotalNum = itemTotalNum; } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java index e4b7cf1b3..fdc76055f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -625,7 +625,7 @@ public class ItemUtil { user.getUserMissionManager().onGameEvent(user, GameEvent.GOT_SOUL_MARK, sItem.getId(), itemNum); } //日志记录 - ItemLogic.getInstance().addItemLog(new ItemLog(user.getId(),0,String.valueOf(TimeUtils.now()),reason,sItem.getId(),itemNum,item.getItemNum())); + ItemLogic.getInstance().addItemLog(new ItemLog(user.getId(),0,user.getPlayerInfoManager().getLevel(),String.valueOf(TimeUtils.now()),reason,sItem.getId(),itemNum,item.getItemNum())); } if (dropBuilder != null) { dropBuilder.addAllItemlist(itemProtoList); @@ -917,7 +917,7 @@ public class ItemUtil { myItem.setItemNum(myItem.getItemNum() - needCount); // KtEventUtils.onKtEvent(user, eventType,reason,GlobalsDef.subReason,myItem.getItemId(),needCount,myItem.getItemNum(),subReason); } - ItemLogic.getInstance().addItemLog(new ItemLog(user.getId(),1,String.valueOf(TimeUtils.now()),reason,myItem.getItemId(),needCount,myItem.getItemNum())); + ItemLogic.getInstance().addItemLog(new ItemLog(user.getId(),1,user.getPlayerInfoManager().getLevel(),String.valueOf(TimeUtils.now()),reason,myItem.getItemId(),needCount,myItem.getItemNum())); sendToFront.add(CBean2Proto.getItem(myItem,-1)); }