From 7923c95d11603f01e57d4c0fbc871c154de83960 Mon Sep 17 00:00:00 2001 From: duhui Date: Thu, 17 Jun 2021 10:53:11 +0800 Subject: [PATCH 01/42] =?UTF-8?q?=E6=83=8A=E5=96=9C=E7=A4=BC=E7=9B=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/activity/ActivityType.java | 1 + .../logic/activity/ActivityTypeEnum.java | 1 + .../logic/activity/SuperBoxActivity.java | 192 ++++++++++++++++++ .../logic/activity/event/SuperBoxEvent.java | 35 ++++ .../jieling/logic/store/BuyGoodsNewLogic.java | 8 +- .../src/main/java/config/SSurpriseBox.java | 83 ++++++++ 6 files changed, 316 insertions(+), 4 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SuperBoxEvent.java create mode 100644 tablemanager/src/main/java/config/SSurpriseBox.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java index 9de4eee0b..8e843f8f7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java @@ -94,5 +94,6 @@ public interface ActivityType { int DEMON_TREASURE = 36;//降妖夺宝 int NEW_GENERAL_ATTACK = 200;//新将来袭 + int SUPER_BOX = 69;//惊喜礼盒 } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java index c8c00e210..a10f10292 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java @@ -72,6 +72,7 @@ public enum ActivityTypeEnum { EQUIP_UPLEVEL(ActivityType.EQUIP_UPLEVEL,EquipUpLevelActivity::new), TA_SUI_LING_XIAO(ActivityType.TA_SUI_LING_XIAO,TaSuiLingXiaoActivity::new), CHOICE_DRAW_CRAD(ActivityType.CHOICE_DRAW_CRAD,ChoiceDrawCardActivity::new), + SUPER_BOX(ActivityType.SUPER_BOX,SuperBoxActivity::new), ; private int type; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java new file mode 100644 index 000000000..4ba3d2aab --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java @@ -0,0 +1,192 @@ +package com.ljsd.jieling.logic.activity; + +import com.ljsd.jieling.globals.Global; +import com.ljsd.jieling.jbean.ActivityMission; +import com.ljsd.jieling.jbean.ActivityProgressInfo; +import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.activity.event.IEvent; +import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.activity.event.SuperBoxEvent; +import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.network.session.ISession; +import config.SGlobalActivity; +import config.SSurpriseBox; +import util.TimeUtils; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author hj + * 惊喜礼盒活动 + * + * 礼盒状态: + * 已解锁可购买 1 + * 已解锁不可购买 2 + * 未解锁可见可预览 3 + * 未解锁可见不可预览 4 + * 未解锁不可见 5 + * 已购买 6 + */ +@SuppressWarnings("ALL") +public class SuperBoxActivity extends AbstractActivity { + + SuperBoxActivity(int id) { + super(id); + Poster.getPoster().listenEvent(this, SuperBoxEvent.class); + } + + @Override + public void initActivity(User user) throws Exception { + ActivityMission mission = new ActivityMission(); + // 读表获取阶段奖励信息 + Collection boxes = SSurpriseBox.map.get(id).values(); + if (boxes == null || boxes.isEmpty()){ + LOGGER.error("惊喜礼盒初始化失败,活动id:"+id); + boxes = new ArrayList<>(); + } + List list = boxes.stream().mapToInt(SSurpriseBox::getId).boxed().collect(Collectors.toList()); + // 初始化阶段奖励 + ActivityLogic.getInstance().initOtherMission(mission, list); + user.getActivityManager().getActivityMissionMap().put(id, mission); + LOGGER.info("惊喜礼盒初始化..."+id); + } + + @Override + public void onEvent(IEvent event) throws Exception { + // 类型验证 + if (!(event instanceof SuperBoxEvent)) { + return; + } + // 获取信息 + SuperBoxEvent event1 = (SuperBoxEvent) event; + User user = UserManager.getUser(event1.getUserId()); + // 礼包处理 + giftHandle(user, event1.getGiftId()); + // 状态刷新 + updateState(user); + } + + /** + * 礼包处理 + * @param user + * @param giftId + * @param missionMap + */ + private void giftHandle(User user, int giftId){ + if (giftId == -1){ + // 非礼包处理 + return; + } + + Map missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap(); + Collection boxes = SSurpriseBox.map.getOrDefault(id, new HashMap<>(0)).values(); + + for (SSurpriseBox box : boxes) { + if (box.getPackId() == giftId){ + // 当前礼包状态处理 + ActivityProgressInfo current = missionMap.get(box.getPackId()); + current.setState(8); + missionMap.put(box.getId(),current); + + // 下位礼包数据处理 + ActivityProgressInfo next = missionMap.get(box.getLimitPackId()); + next.setProgrss(1); + missionMap.put(box.getId(),next); + break; + } + } + } + + /** + * 修改状态 + * 次数代码非必要不要进行修改,包含N多的嵌套if + * 不要问我为啥写的这么恶心,因为我自己也不知怎么写出来的 + * @param user + */ + private void updateState(User user){ + long now = TimeUtils.now(); + SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id); + // 验证活动是否开启 + if (now < activity.getStartTimeLong() || now > activity.getEndTimeLong()){ + return; + } + ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id); + // 计算过去了几天 + int days = TimeUtils.getSoFarWentDays(activity.getStartTimeLong(), now); + mission.setV(days); + // mission 单个礼包 + Map missionMap = mission.getActivityMissionMap(); + Map boxMap = SSurpriseBox.map.get(id); + // 极为恶心的循环,包含超多的if-else + for (Map.Entry entry : missionMap.entrySet()) { + int k = entry.getKey(); + ActivityProgressInfo v = entry.getValue(); + int state = v.getState(); + // 是否已购买 + if (state == 8){ + // 已购买 + continue; + } + + SSurpriseBox box = boxMap.get(k); + // 未购买, 是否解锁 + if (days >= box.getUnlockDay()){ + // 已解锁, 可买天数 + if (days >= box.getBuyDay()){ + // 可买, 是否购买前置礼包 + if (v.getProgrss() == 1){ + // 已购买前置. 是否需要特权, 是否激活特权 + state = checkRule(user,box.getRule())?1:4; + }else { + // 未购买前置 + state = 3; + } + }else { + // 不可买 + state = 2; + } + }else { + // 未解锁, 是否可见 + if (days >= box.getVisibleDay()){ + // 可见, 是否可预览 + state = days >= box.getViewDay()?6:7; + }else { + // 不可见 + state = 5; + } + } + v.setState(state); + } + + // 客户端推送 + ISession session = OnlineUserManager.getSessionByUid(user.getId()); + sendActivityProgress(session, mission, null); + } + + /** + * 检测特殊权限 + * 0走默认 true + * @param user + * @param ruleId + * @return + */ + private boolean checkRule(User user, int ruleId){ + boolean result = true; + switch (ruleId){ + case 1: + // 普通月卡 + result = user.getPlayerInfoManager().getMonthCard().get(Global.MONTHCARDID) != null; + break; + case 2: + // 高级月卡 + result = user.getPlayerInfoManager().getMonthCard().get(Global.LMONTHCARDID) != null; + break; + default: + break; + } + return result; + } + +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SuperBoxEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SuperBoxEvent.java new file mode 100644 index 000000000..cea74ced7 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/SuperBoxEvent.java @@ -0,0 +1,35 @@ +package com.ljsd.jieling.logic.activity.event; + +/** + * @Author hj + * @Date 2021/5/26 11:05 + * @Description: + * @Version 1.0 + */ +public class SuperBoxEvent implements IEvent { + + private int userId; + private int giftId = -1;//礼包id + + public SuperBoxEvent(int userId, int giftId) { + this.userId = userId; + this.giftId = giftId; + } + + public int getUserId() { + return userId; + } + + public void setUserId(int userId) { + this.userId = userId; + } + + public int getGiftId() { + return giftId; + } + + public void setGiftId(int giftId) { + this.giftId = giftId; + } + +} diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index 8f8813626..341bc7cbb 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -16,10 +16,7 @@ import com.ljsd.jieling.logic.GlobalDataManaager; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.activity.ActivityLogic; import com.ljsd.jieling.logic.activity.ActivityType; -import com.ljsd.jieling.logic.activity.event.BuyGoodsDirectEvent; -import com.ljsd.jieling.logic.activity.event.NewWelfareEvent; -import com.ljsd.jieling.logic.activity.event.NewWelfareTypeEnum; -import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.activity.event.*; import com.ljsd.jieling.logic.dao.PlayerManager; import com.ljsd.jieling.logic.dao.RechargeInfo; import com.ljsd.jieling.logic.dao.UserManager; @@ -220,6 +217,9 @@ public class BuyGoodsNewLogic { //活动 user.getPlayerInfoManager().setRechargedaily(user.getPlayerInfoManager().getRechargedaily()+price); changeActivity(user,price,info); + + // 惊喜礼盒,事件推送 + Poster.getPoster().dispatchEvent(new SuperBoxEvent(user.getId(),config.getId())); } if(!info.getIsFirst()){ info.setIsFirst(true); diff --git a/tablemanager/src/main/java/config/SSurpriseBox.java b/tablemanager/src/main/java/config/SSurpriseBox.java new file mode 100644 index 000000000..b4530bbad --- /dev/null +++ b/tablemanager/src/main/java/config/SSurpriseBox.java @@ -0,0 +1,83 @@ +package config; + +import manager.STableManager; +import manager.Table; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Table(name ="SurpriseBox") +public class SSurpriseBox implements BaseConfig { + + private int id; + + private int activityId; + + private int packId; + + private int unlockDay; + + private int visibleDay; + + private int viewDay; + + private int buyDay; + + private int limitPackId; + + private int rule; + + /** + * key: 活动id value: 对象list + */ + public static Map> map = new HashMap<>(); + + @Override + public void init() throws Exception { + Map config = STableManager.getConfig(SSurpriseBox.class); + config.values().forEach(v->{ + Map boxMap = map.getOrDefault(v.getActivityId(), new HashMap<>()); + boxMap.put(v.getId(),v); + map.put(v.getActivityId(),boxMap); + }); + } + + + public int getId() { + return id; + } + + public int getActivityId() { + return activityId; + } + + public int getPackId() { + return packId; + } + + public int getVisibleDay() { + return visibleDay; + } + + public int getBuyDay() { + return buyDay; + } + + public int getLimitPackId() { + return limitPackId; + } + + public int getRule() { + return rule; + } + + public int getUnlockDay() { + return unlockDay; + } + + public int getViewDay() { + return viewDay; + } +} \ No newline at end of file From eac97377b29dbaa3e9158a11d556d16af48e963c Mon Sep 17 00:00:00 2001 From: duhui Date: Thu, 17 Jun 2021 11:01:57 +0800 Subject: [PATCH 02/42] =?UTF-8?q?=E6=83=8A=E5=96=9C=E7=A4=BC=E7=9B=92,=20?= =?UTF-8?q?=E9=9B=B6=E7=82=B9=E5=88=B7=E6=96=B0=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/logic/GlobalDataManaager.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java index 2bcfe393d..30bd87bb0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -13,6 +13,8 @@ import com.ljsd.jieling.logic.activity.ActivityLogic; import com.ljsd.jieling.logic.activity.FightMainEventHandler; import com.ljsd.jieling.logic.activity.RemoveEventHeroHandler; import com.ljsd.jieling.logic.activity.UserLevelEventHandler; +import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.activity.event.SuperBoxEvent; import com.ljsd.jieling.logic.redpacket.WelfareRedPackSendHandler; import com.ljsd.jieling.logic.activity.eventhandler.ActivityStateChangeHandler; import com.ljsd.jieling.logic.activity.eventhandler.BuyGoodsDirectHandler; @@ -380,6 +382,9 @@ public class GlobalDataManaager implements IManager { // 道具刷新 BuyGoodsNewLogic.refreshWelfareState(user); user.getUserMissionManager().onGameEvent(user, GameEvent.LOGIN_GAME,0); + + // 惊喜礼盒,事件推送 + Poster.getPoster().dispatchEvent(new SuperBoxEvent(user.getId(),-1)); } user.getPlayerInfoManager().setLoginTime(TimeUtils.now()); } From 8811d07aced3b6c7165b62000f8a5b5290227335 Mon Sep 17 00:00:00 2001 From: duhui Date: Thu, 17 Jun 2021 14:21:20 +0800 Subject: [PATCH 03/42] =?UTF-8?q?=E6=83=8A=E5=96=9C=E7=9B=92=E5=AD=90,?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/SuperBoxActivity.java | 36 +++++++++++++------ .../src/main/java/config/SSurpriseBox.java | 14 +++++--- 2 files changed, 35 insertions(+), 15 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java index 4ba3d2aab..04e932b24 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java @@ -41,15 +41,26 @@ public class SuperBoxActivity extends AbstractActivity { public void initActivity(User user) throws Exception { ActivityMission mission = new ActivityMission(); // 读表获取阶段奖励信息 - Collection boxes = SSurpriseBox.map.get(id).values(); - if (boxes == null || boxes.isEmpty()){ + Map boxMap = SSurpriseBox.map.getOrDefault(id,new HashMap<>()); + if (boxMap.isEmpty()){ LOGGER.error("惊喜礼盒初始化失败,活动id:"+id); - boxes = new ArrayList<>(); } - List list = boxes.stream().mapToInt(SSurpriseBox::getId).boxed().collect(Collectors.toList()); + List list = boxMap.values().stream().mapToInt(SSurpriseBox::getId).boxed().collect(Collectors.toList()); // 初始化阶段奖励 ActivityLogic.getInstance().initOtherMission(mission, list); + + // 第一位的礼包初始化参数 + for (Map.Entry entry : mission.getActivityMissionMap().entrySet()) { + SSurpriseBox box = boxMap.get(entry.getKey()); + if (box != null && box.getLimitPackFId() == 0){ + entry.getValue().setProgrss(1); + break; + } + } + user.getActivityManager().getActivityMissionMap().put(id, mission); + // 修改状态 + updateState(user); LOGGER.info("惊喜礼盒初始化..."+id); } @@ -86,14 +97,17 @@ public class SuperBoxActivity extends AbstractActivity { for (SSurpriseBox box : boxes) { if (box.getPackId() == giftId){ // 当前礼包状态处理 - ActivityProgressInfo current = missionMap.get(box.getPackId()); - current.setState(8); - missionMap.put(box.getId(),current); - + ActivityProgressInfo current = missionMap.get(box.getId()); + if (current != null){ + current.setState(8); + missionMap.put(box.getId(),current); + } // 下位礼包数据处理 - ActivityProgressInfo next = missionMap.get(box.getLimitPackId()); - next.setProgrss(1); - missionMap.put(box.getId(),next); + ActivityProgressInfo next = missionMap.get(box.getLimitPackBId()); + if (next != null){ + next.setProgrss(1); + missionMap.put(box.getId(),next); + } break; } } diff --git a/tablemanager/src/main/java/config/SSurpriseBox.java b/tablemanager/src/main/java/config/SSurpriseBox.java index b4530bbad..bf04bc914 100644 --- a/tablemanager/src/main/java/config/SSurpriseBox.java +++ b/tablemanager/src/main/java/config/SSurpriseBox.java @@ -25,7 +25,9 @@ public class SSurpriseBox implements BaseConfig { private int buyDay; - private int limitPackId; + private int limitPackFId; + + private int limitPackBId; private int rule; @@ -65,11 +67,15 @@ public class SSurpriseBox implements BaseConfig { return buyDay; } - public int getLimitPackId() { - return limitPackId; + public int getLimitPackFId() { + return limitPackFId; } - public int getRule() { + public int getLimitPackBId() { + return limitPackBId; + } + + public int getRule() { return rule; } From 374cd9d58da481254f43e875b430dc0a98e8fedf Mon Sep 17 00:00:00 2001 From: duhui Date: Sat, 12 Jun 2021 18:07:13 +0800 Subject: [PATCH 04/42] =?UTF-8?q?=E6=83=8A=E5=96=9C=E7=A4=BC=E7=9B=92,?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/SuperBoxActivity.java | 61 +++++++++++-------- 1 file changed, 35 insertions(+), 26 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java index 04e932b24..a2392d61d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java @@ -12,6 +12,7 @@ import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.network.session.ISession; import config.SGlobalActivity; import config.SSurpriseBox; +import manager.STableManager; import util.TimeUtils; import java.util.*; @@ -48,16 +49,6 @@ public class SuperBoxActivity extends AbstractActivity { List list = boxMap.values().stream().mapToInt(SSurpriseBox::getId).boxed().collect(Collectors.toList()); // 初始化阶段奖励 ActivityLogic.getInstance().initOtherMission(mission, list); - - // 第一位的礼包初始化参数 - for (Map.Entry entry : mission.getActivityMissionMap().entrySet()) { - SSurpriseBox box = boxMap.get(entry.getKey()); - if (box != null && box.getLimitPackFId() == 0){ - entry.getValue().setProgrss(1); - break; - } - } - user.getActivityManager().getActivityMissionMap().put(id, mission); // 修改状态 updateState(user); @@ -99,15 +90,10 @@ public class SuperBoxActivity extends AbstractActivity { // 当前礼包状态处理 ActivityProgressInfo current = missionMap.get(box.getId()); if (current != null){ - current.setState(8); + current.setState(ActivityType.HAD_TAKED); + current.setProgrss(8); missionMap.put(box.getId(),current); } - // 下位礼包数据处理 - ActivityProgressInfo next = missionMap.get(box.getLimitPackBId()); - if (next != null){ - next.setProgrss(1); - missionMap.put(box.getId(),next); - } break; } } @@ -137,9 +123,9 @@ public class SuperBoxActivity extends AbstractActivity { for (Map.Entry entry : missionMap.entrySet()) { int k = entry.getKey(); ActivityProgressInfo v = entry.getValue(); - int state = v.getState(); + int progrss = v.getProgrss(); // 是否已购买 - if (state == 8){ + if (progrss == 8){ // 已购买 continue; } @@ -150,28 +136,28 @@ public class SuperBoxActivity extends AbstractActivity { // 已解锁, 可买天数 if (days >= box.getBuyDay()){ // 可买, 是否购买前置礼包 - if (v.getProgrss() == 1){ + if (checkBuyAgo(user,box.getId())){ // 已购买前置. 是否需要特权, 是否激活特权 - state = checkRule(user,box.getRule())?1:4; + progrss = checkRule(user,box.getRule())?1:4; }else { // 未购买前置 - state = 3; + progrss = 3; } }else { // 不可买 - state = 2; + progrss = 2; } }else { // 未解锁, 是否可见 if (days >= box.getVisibleDay()){ // 可见, 是否可预览 - state = days >= box.getViewDay()?6:7; + progrss = days >= box.getViewDay()?6:7; }else { // 不可见 - state = 5; + progrss = 5; } } - v.setState(state); + v.setProgrss(progrss); } // 客户端推送 @@ -179,6 +165,29 @@ public class SuperBoxActivity extends AbstractActivity { sendActivityProgress(session, mission, null); } + /** + * 验证前置礼包购买状态 + * @param user + * @param boxId + * @return + */ + private boolean checkBuyAgo(User user, int boxId){ + boolean result = true; + // 获取消息 + Map missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap(); + SSurpriseBox box = STableManager.getConfig(SSurpriseBox.class).get(boxId); + // 非空 + if (!missionMap.isEmpty() && box != null){ + // 前置礼包状态验证 + ActivityProgressInfo info = missionMap.get(box.getLimitPackFId()); + // info为null代表没有前置条件, state==2代表已买过 + if (info != null && info.getState() == ActivityType.WILL_TAKE){ + result = false; + } + } + return result; + } + /** * 检测特殊权限 * 0走默认 true From ddffe04d73c14ba947e6cd0e344e5bbaa8769e7b Mon Sep 17 00:00:00 2001 From: duhui Date: Wed, 16 Jun 2021 11:11:08 +0800 Subject: [PATCH 05/42] =?UTF-8?q?gm=E6=89=B6=E6=8C=81=E5=8F=91=E9=80=81?= =?UTF-8?q?=E7=A4=BC=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index 8f8813626..59fb73aaf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -172,7 +172,7 @@ public class BuyGoodsNewLogic { double priceTemp =config.getPrice(); int cfgType = SSpecialConfig.getIntegerValue(SSpecialConfig.EXCHANGE_FORCE_TYPE); double price = priceTemp==0?0: SExchangeRate.doubleIntegerHashMap.get(cfgType).get((int)priceTemp); - if(amount!=-999&&!MathUtils.doubleEquals(amount,price * 100)){ + if(amount!=-999&&!MathUtils.doubleEquals(amount,price * 100)&&!orderId.equals("support-order")){ resultRes.setResultCode(0); resultRes.setResultMsg("charge count error"); LOGGER.error("charge count error, uid={},the goodId={}, currentPrice={},realPrice={}",uid,goodsId, amount,price); From c610caaf416821e1dab52928a90e96bd7f1515c0 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Wed, 16 Jun 2021 16:09:20 +0800 Subject: [PATCH 06/42] =?UTF-8?q?=E6=96=B0=E6=8E=A8=E9=80=81=E7=A4=BC?= =?UTF-8?q?=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/handler/map/MapLogic.java | 5 ++-- .../handler/map/miniGame/CircleGame.java | 3 ++- .../HeroFiveStarGetEventHandler.java | 3 ++- .../PokemonFiveStarGetEventHandler.java | 3 ++- .../ljsd/jieling/logic/hero/HeroLogic.java | 3 ++- .../event/UserLevelEventProcessor.java | 3 ++- .../jieling/logic/store/BuyGoodsNewLogic.java | 3 ++- .../newRechargeInfo/PushRechargeType.java | 25 +++++++++++++++++++ 8 files changed, 40 insertions(+), 8 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/PushRechargeType.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java index 30bfd20ac..b0825d2c3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/MapLogic.java @@ -45,6 +45,7 @@ import com.ljsd.jieling.logic.store.BuyGoodsNewLogic; import com.ljsd.jieling.logic.store.StoreLogic; import com.ljsd.jieling.logic.store.StoreType; +import com.ljsd.jieling.logic.store.newRechargeInfo.PushRechargeType; import com.ljsd.jieling.network.session.ISession; import rpc.protocols.*; import com.ljsd.jieling.util.*; @@ -2190,7 +2191,7 @@ public class MapLogic { Poster.getPoster().dispatchEvent(new FightMainEvent(user.getId(),fightId)); Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.LEVEL_FIGHT.getType(),fightId)); user.getMainLevelManager().updateFight(updateFightId,state); - BuyGoodsNewLogic.openPush(session,user,1,fightId,0); + BuyGoodsNewLogic.openPush(session,user, PushRechargeType.main_line.getType(),fightId,0); if(state == -1){ //删除为0的 Map fightStateInfo = user.getMainLevelManager().getFightStateInfo(); @@ -2295,7 +2296,7 @@ public class MapLogic { ReportUtil.onReportEvent(user,ReportEventEnum.COMPLETE_XINMO.getType(),checkFightId,sFloodConfig.getMonster(),MonsterUtil.getMonsterForce(new int[]{sFloodConfig.getMonster()}),new Date(),"",null,null,"失败"); return; } - BuyGoodsNewLogic.openPush(session,user,2,sFloodConfig.getId(),0); + BuyGoodsNewLogic.openPush(session,user,PushRechargeType.tower.getType(),sFloodConfig.getId(),0); //排行榜 // String rankKey = RedisKey.getKey(RedisKey.MONSTER_ATTACK_RANK,"", false); // RedisUtil.getInstence().zsetAddOneOffsetByTime(rankKey, String.valueOf(user.getId()), checkFightId); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/CircleGame.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/CircleGame.java index d46b0eb75..87967f23d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/CircleGame.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/map/miniGame/CircleGame.java @@ -8,6 +8,7 @@ import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.redpacket.WelfareRedPackEvent; import com.ljsd.jieling.logic.redpacket.WelfareRedPacketType; import com.ljsd.jieling.logic.store.BuyGoodsNewLogic; +import com.ljsd.jieling.logic.store.newRechargeInfo.PushRechargeType; import com.ljsd.jieling.network.session.ISession; import config.SSpiritAnimal; import rpc.protocols.CommonProto; @@ -88,7 +89,7 @@ public class CircleGame extends ColorGame{ if(ssa != null && ssa.getQuality()==5){ Poster.getPoster().dispatchEvent(new WelfareRedPackEvent(user.getId(), WelfareRedPacketType.game_pokemon.getType(),1)); ISession session = OnlineUserManager.getSessionByUid(user.getId()); - BuyGoodsNewLogic.openPush(session,user,8,5,1); + BuyGoodsNewLogic.openPush(session,user, PushRechargeType.pokemon_quality.getType(),5,1); } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/HeroFiveStarGetEventHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/HeroFiveStarGetEventHandler.java index c3fc14a7d..f231b5fef 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/HeroFiveStarGetEventHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/HeroFiveStarGetEventHandler.java @@ -11,6 +11,7 @@ import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.store.BuyGoodsNewLogic; import com.ljsd.jieling.logic.store.newRechargeInfo.NewRechargeInfo; +import com.ljsd.jieling.logic.store.newRechargeInfo.PushRechargeType; import com.ljsd.jieling.network.session.ISession; import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; @@ -36,6 +37,6 @@ public class HeroFiveStarGetEventHandler implements IEventHandler { int star = ((HeroFiveStarGetEvent) event).getStar(); int num = ((HeroFiveStarGetEvent) event).getNum(); ISession session = OnlineUserManager.getSessionByUid(user.getId()); - BuyGoodsNewLogic.openPush(session,user,4,star,num); + BuyGoodsNewLogic.openPush(session,user, PushRechargeType.card_star.getType(),star,num); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/PokemonFiveStarGetEventHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/PokemonFiveStarGetEventHandler.java index bd470701c..0786a77a2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/PokemonFiveStarGetEventHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/eventhandler/PokemonFiveStarGetEventHandler.java @@ -7,6 +7,7 @@ import com.ljsd.jieling.logic.activity.event.PokemonFiveStarGetEvent; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.store.BuyGoodsNewLogic; +import com.ljsd.jieling.logic.store.newRechargeInfo.PushRechargeType; import com.ljsd.jieling.network.session.ISession; public class PokemonFiveStarGetEventHandler implements IEventHandler { @@ -20,6 +21,6 @@ public class PokemonFiveStarGetEventHandler implements IEventHandler { int star = ((PokemonFiveStarGetEvent) event).getStar(); int num = ((PokemonFiveStarGetEvent) event).getNum(); ISession session = OnlineUserManager.getSessionByUid(user.getId()); - BuyGoodsNewLogic.openPush(session,user,8,star,num); + BuyGoodsNewLogic.openPush(session,user, PushRechargeType.pokemon_quality.getType(),star,num); } } \ No newline at end of file diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 1d57c3584..084e1fe0d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -34,6 +34,7 @@ import com.ljsd.jieling.logic.player.PlayerLogic; import com.ljsd.jieling.logic.redpacket.WelfareRedPackEvent; import com.ljsd.jieling.logic.redpacket.WelfareRedPacketType; import com.ljsd.jieling.logic.store.BuyGoodsNewLogic; +import com.ljsd.jieling.logic.store.newRechargeInfo.PushRechargeType; import com.ljsd.jieling.network.server.ProtocolsManager; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.util.*; @@ -3693,7 +3694,7 @@ public class HeroLogic{ consumeBuilder.append(consume[0]).append("#").append(consume[1]); } ReportUtil.onReportEvent(user,ReportEventEnum.BEAST_STAR.getType(),pokemon.getTmpId(),oldStar,pokemon.getStar(),consumeBuilder.toString()); - BuyGoodsNewLogic.openPush(session,user,9,pokemon.getStar(),1); + BuyGoodsNewLogic.openPush(session,user, PushRechargeType.pokemon_star.getType(),pokemon.getStar(),1); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java index df8a69416..bf0511692 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mission/event/UserLevelEventProcessor.java @@ -10,6 +10,7 @@ import com.ljsd.jieling.logic.mission.main.MissionStateChangeInfo; import com.ljsd.jieling.logic.redpacket.WelfareRedPackEvent; import com.ljsd.jieling.logic.redpacket.WelfareRedPacketType; import com.ljsd.jieling.logic.store.BuyGoodsNewLogic; +import com.ljsd.jieling.logic.store.newRechargeInfo.PushRechargeType; import com.ljsd.jieling.network.session.ISession; import java.util.List; @@ -26,7 +27,7 @@ public class UserLevelEventProcessor implements BaseGameEventProcessor{ int upLevel = (int)parm[1]; ISession session = OnlineUserManager.getSessionByUid(user.getId()); - BuyGoodsNewLogic.openPush(session,user,3,upLevel,0); + BuyGoodsNewLogic.openPush(session,user, PushRechargeType.user_level.getType(),upLevel,0); BuyGoodsNewLogic.sendGiftGooodsIndication(user.getId()); Poster.getPoster().dispatchEvent(new WelfareRedPackEvent(user.getId(), WelfareRedPacketType.player_level.getType(),upLevel)); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index 8f8813626..f2f292fc2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -31,6 +31,7 @@ import com.ljsd.jieling.logic.mail.MailLogic; import com.ljsd.jieling.logic.mission.GameEvent; import com.ljsd.jieling.logic.player.PlayerLogic; import com.ljsd.jieling.logic.store.newRechargeInfo.NewRechargeInfo; +import com.ljsd.jieling.logic.store.newRechargeInfo.PushRechargeType; import com.ljsd.jieling.logic.store.newRechargeInfo.RechargeType; import com.ljsd.jieling.logic.store.newRechargeInfo.bean.*; import com.ljsd.jieling.logic.store.newRechargeInfo.rechargeHandler.RechargeHandler; @@ -239,7 +240,7 @@ public class BuyGoodsNewLogic { notifyPaySuccessFul(uid,goodsId,amount != -999); MongoUtil.getLjsdMongoTemplate().lastUpdate(); sendGiftGoodsWithoutJudge(uid); - + openPush(session,user, PushRechargeType.point_recharge.getType(),goodsId,1); // 扶持订单不需要上报 if(price>0 && !orderId.equals("support-order")){ // 以下为充值上报 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/PushRechargeType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/PushRechargeType.java new file mode 100644 index 000000000..243dad810 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/PushRechargeType.java @@ -0,0 +1,25 @@ +package com.ljsd.jieling.logic.store.newRechargeInfo; + +public enum PushRechargeType { + main_line(1), + tower(2), + user_level(3), + card_star(4), + fail(5), + tower_fail(6), + once_pay(7), + pokemon_quality(8), + pokemon_star(9), + point_recharge(10), + ; + + private int type; + + PushRechargeType(int type){ + this.type = type; + } + + public int getType() { + return type; + } +} From 84ce7b9a1b1f61296b4778168f0b65576e8885da Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Thu, 17 Jun 2021 15:00:08 +0800 Subject: [PATCH 07/42] =?UTF-8?q?=E5=B1=B1=E6=B2=B3=E7=A4=BE=E7=A8=B7?= =?UTF-8?q?=E8=AF=A5=E8=A1=A8=E5=AE=B9=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/hardStage/HardStageLogic.java | 34 ++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java index 8148b07b1..14e4b5eaf 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java @@ -9,10 +9,8 @@ import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.fight.specialparm.SpecialForTeamBuildEnum; import com.ljsd.jieling.logic.hero.HeroLogic; import com.ljsd.jieling.network.session.ISession; -import com.ljsd.jieling.util.ItemMap; import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; -import com.sun.codemodel.internal.JForEach; import config.*; import org.assertj.core.util.Lists; import org.slf4j.Logger; @@ -22,12 +20,8 @@ import rpc.protocols.MessageTypeProto; import rpc.protocols.PlayerInfoProto; import util.StringUtil; -import javax.swing.text.StyledEditorKit; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Arrays; -import java.util.stream.Stream; +import java.util.*; +import java.util.stream.Collectors; public class HardStageLogic { @@ -47,6 +41,30 @@ public class HardStageLogic { CommonProto.HardStageInfo.Builder builder = CommonProto.HardStageInfo.newBuilder(); int needSaveChapterId = 0; int needSaveStarNum = 0; + //对策划改表的容错 + //int maxChapter = map.keySet().stream().mapToInt(Integer::intValue).max().getAsInt(); + OptionalInt maxChapter = map.keySet().stream().mapToInt(Integer::intValue).max(); + if(maxChapter.isPresent()){ + if(map.containsKey(maxChapter.getAsInt())){ + int maxId = map.get(maxChapter.getAsInt()).getNodeList().stream().mapToInt(n->n.getId()).max().getAsInt(); + + if(map.get(maxChapter.getAsInt()).getNodeList().stream().filter(n -> n.getId()== maxId&& n.isHasPass()==true).collect(Collectors.toList()).size()>0){ + SHardStage config = SHardStage.getConfigMap().get(maxId); + if(config != null){ + if (SHardStage.getPreList(config.getId()) != null) { + SHardStage.getPreList(config.getId()).stream().forEach(n -> { + if (n != null) { + if(user.getHardStageManager().openNewNode(user.getPlayerInfoManager().getLevel(), n)){ + user.getHardStageManager().updateString("chapterMap." + maxChapter.getAsInt(), map.get(maxChapter.getAsInt())); + } + } + }); + } + } + } + } + } + for (Map.Entry entry : map.entrySet()) { //章节信息 CommonProto.HardStageChapter.Builder chapterBuilder = CommonProto.HardStageChapter.newBuilder(); From 04f03036722111963a0daeb889c6c75e3445ef27 Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 18 Jun 2021 10:32:45 +0800 Subject: [PATCH 08/42] =?UTF-8?q?=E6=83=8A=E5=96=9C=E7=A4=BC=E7=9B=92,=20?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E5=8C=BA=E6=9C=8D=E7=B1=BB=E5=9E=8B,?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/SuperBoxActivity.java | 48 +++++++++++++++++-- 1 file changed, 45 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java index a2392d61d..5ecd67a32 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java @@ -1,5 +1,6 @@ package com.ljsd.jieling.logic.activity; +import com.ljsd.GameApplication; import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; @@ -7,6 +8,7 @@ import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.activity.event.IEvent; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.SuperBoxEvent; +import com.ljsd.jieling.logic.dao.ServerConfig; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.network.session.ISession; @@ -107,14 +109,15 @@ public class SuperBoxActivity extends AbstractActivity { */ private void updateState(User user){ long now = TimeUtils.now(); - SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id); + long start = getSrartTime(); + long end = getEndTime(); // 验证活动是否开启 - if (now < activity.getStartTimeLong() || now > activity.getEndTimeLong()){ + if (now < start || now > end){ return; } ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id); // 计算过去了几天 - int days = TimeUtils.getSoFarWentDays(activity.getStartTimeLong(), now); + int days = TimeUtils.getSoFarWentDays(start, now); mission.setV(days); // mission 单个礼包 Map missionMap = mission.getActivityMissionMap(); @@ -165,6 +168,45 @@ public class SuperBoxActivity extends AbstractActivity { sendActivityProgress(session, mission, null); } + /** + * 开始时间 + * @return + */ + public long getSrartTime(){ + long startTime = 0; + SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id); + // 绝对时间 + if (activity.getType() == ActivityType.OPEN_TYPE_TIME){ + startTime = activity.getStartTimeLong(); + } + // 开服时间 + else if (activity.getType() == ActivityType.OPEN_TYPE_SERVER) { + String openTime = GameApplication.serverConfig.getOpenTime(); + startTime = TimeUtils.stringToTimeLong2(openTime); + } + return startTime; + } + + /** + * 结束时间 + * @return + */ + public long getEndTime(){ + long endTime = 0; + SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id); + // 绝对时间 + if (activity.getType() == ActivityType.OPEN_TYPE_TIME){ + endTime = activity.getEndTimeLong(); + } + // 开服时间 + else if (activity.getType() == ActivityType.OPEN_TYPE_SERVER) { + String openTime = GameApplication.serverConfig.getOpenTime(); + long timeLong2 = TimeUtils.stringToTimeLong2(openTime); + endTime = timeLong2 + activity.getEndTimeLong() * 1000; + } + return endTime; + } + /** * 验证前置礼包购买状态 * @param user From 0f6bc679c65f562db8e2301ef197b817920de742 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Tue, 22 Jun 2021 10:35:06 +0800 Subject: [PATCH 09/42] =?UTF-8?q?=E7=A4=BC=E5=8C=85=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index f2f292fc2..504534cc7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -503,12 +503,10 @@ public class BuyGoodsNewLogic { }else{ boolean open = true; if(System.currentTimeMillis() > bag.getStartTime()){ - if(bag.getType() != RechargeType.timeLimit.getType()){ - for(String[] con : bag.getCondition()){ - if(!judgeOpen(con,user)){ - open = false; - break; - } + for(String[] con : bag.getCondition()){ + if(!judgeOpen(con,user)){ + open = false; + break; } } }else { From 6cd02d8979ee5b11bb10f0fb962f801e5d73097f Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Tue, 22 Jun 2021 10:41:33 +0800 Subject: [PATCH 10/42] =?UTF-8?q?=E6=96=B0=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/activity/ActivityType.java | 1 + .../logic/activity/ActivityTypeEnum.java | 1 + .../logic/activity/HeroStarActivity.java | 92 +++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java index 8e843f8f7..3495704f7 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityType.java @@ -95,5 +95,6 @@ public interface ActivityType { int NEW_GENERAL_ATTACK = 200;//新将来袭 int SUPER_BOX = 69;//惊喜礼盒 + int HERO_STAR = 500; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java index a10f10292..adae8b9be 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityTypeEnum.java @@ -73,6 +73,7 @@ public enum ActivityTypeEnum { TA_SUI_LING_XIAO(ActivityType.TA_SUI_LING_XIAO,TaSuiLingXiaoActivity::new), CHOICE_DRAW_CRAD(ActivityType.CHOICE_DRAW_CRAD,ChoiceDrawCardActivity::new), SUPER_BOX(ActivityType.SUPER_BOX,SuperBoxActivity::new), + HERO_STAR(ActivityType.HERO_STAR,HeroStarActivity::new), ; private int type; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java new file mode 100644 index 000000000..8ebe13e7e --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java @@ -0,0 +1,92 @@ +package com.ljsd.jieling.logic.activity; + +import com.ljsd.jieling.jbean.ActivityMission; +import com.ljsd.jieling.jbean.ActivityProgressInfo; +import com.ljsd.jieling.logic.OnlineUserManager; +import com.ljsd.jieling.logic.activity.event.HeroUpStarEvent; +import com.ljsd.jieling.logic.activity.event.IEvent; +import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.dao.UserManager; +import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.network.session.ISession; +import config.SActivityRewardConfig; +import config.SGlobalActivity; + +import java.util.List; +import java.util.Map; + +public class HeroStarActivity extends AbstractActivity { + + public HeroStarActivity(int id) { + super(id); + Poster.getPoster().listenEvent(this, HeroUpStarEvent.class); + } + + @Override + public void onEvent(IEvent event) throws Exception { + if (!(event instanceof HeroUpStarEvent)) + return; + HeroUpStarEvent heroUpStarEvent = (HeroUpStarEvent) event; + User user = UserManager.getUser(heroUpStarEvent.getUid()); + ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); + if( null == activityMission){ + return; + } + Map activityProgressInfoMap = activityMission.getActivityMissionMap(); + List list = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); + int heroId = list.get(0).getValues()[0][0]; + if(heroUpStarEvent.getHeroTid() != heroId){ + return; + } + int maxstar = user.getHeroManager().getHeroHandBook().get(heroId); + for (SActivityRewardConfig sActivityRewardConfig : list) { + if (maxstar >= sActivityRewardConfig.getValues()[0][1]) { + ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(sActivityRewardConfig.getId(), null); + if (null == activityProgressInfo) + continue; + if(activityProgressInfo.getState()<1){ + activityProgressInfo.setState(1); + } + activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); + } + } + //更新进度 + ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId()); + sendActivityProgress(sessionByUid, activityMission, null); + } + + @Override + public void initActivity(User user) throws Exception { + SGlobalActivity globalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); + if(globalActivity == null){ + return; + } + ActivityLogic.getInstance().initAllActivityMission(user.getActivityManager().getActivityMissionMap(),globalActivity.getId()); + if(user.getActivityManager().getActivityMissionMap().get(globalActivity.getId()) == null){ + return; + } + ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); + if( null == activityMission){ + return; + } + Map activityProgressInfoMap = activityMission.getActivityMissionMap(); + List list = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); + int heroId = list.get(0).getValues()[0][0]; + Integer maxstar = user.getHeroManager().getHeroHandBook().get(heroId); + if(maxstar == null){ + return; + } + for (SActivityRewardConfig sActivityRewardConfig : list) { + if (maxstar.intValue() >= sActivityRewardConfig.getValues()[0][1]) { + ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(sActivityRewardConfig.getId(), null); + if (null == activityProgressInfo) + continue; + if(activityProgressInfo.getState()<1){ + activityProgressInfo.setState(1); + } + activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); + } + } + + } +} From bae043a10a45d07460ea637b27f9267b74e043e9 Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 18 Jun 2021 11:01:16 +0800 Subject: [PATCH 11/42] =?UTF-8?q?=E6=83=8A=E5=96=9C=E7=A4=BC=E7=9B=92,bug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/activity/SuperBoxActivity.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java index 5ecd67a32..d7f1fa296 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java @@ -176,11 +176,11 @@ public class SuperBoxActivity extends AbstractActivity { long startTime = 0; SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id); // 绝对时间 - if (activity.getType() == ActivityType.OPEN_TYPE_TIME){ + if (activity.getTime() == ActivityType.OPEN_TYPE_TIME){ startTime = activity.getStartTimeLong(); } // 开服时间 - else if (activity.getType() == ActivityType.OPEN_TYPE_SERVER) { + else if (activity.getTime() == ActivityType.OPEN_TYPE_SERVER) { String openTime = GameApplication.serverConfig.getOpenTime(); startTime = TimeUtils.stringToTimeLong2(openTime); } @@ -195,11 +195,11 @@ public class SuperBoxActivity extends AbstractActivity { long endTime = 0; SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id); // 绝对时间 - if (activity.getType() == ActivityType.OPEN_TYPE_TIME){ + if (activity.getTime() == ActivityType.OPEN_TYPE_TIME){ endTime = activity.getEndTimeLong(); } // 开服时间 - else if (activity.getType() == ActivityType.OPEN_TYPE_SERVER) { + else if (activity.getTime() == ActivityType.OPEN_TYPE_SERVER) { String openTime = GameApplication.serverConfig.getOpenTime(); long timeLong2 = TimeUtils.stringToTimeLong2(openTime); endTime = timeLong2 + activity.getEndTimeLong() * 1000; From 049908d67d5ab0f0c39d2ad3988fcfce826c53de Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 18 Jun 2021 13:01:14 +0800 Subject: [PATCH 12/42] =?UTF-8?q?=E6=8A=A5=E9=94=99=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java | 1 + 1 file changed, 1 insertion(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java index 28036d13d..2a971aaa4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java @@ -106,6 +106,7 @@ public class ArenaLogic { .setTeam(teamBuild) .build(); }else{ + LOGGER.info("有问题的enemyId{}",enemyId); User user = UserManager.getUser(enemyId); int totalForce = HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.TEAM_ARENA_DEFENSE,false); List teamPosHeroInfoList = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.TEAM_ARENA_DEFENSE); From 62f880ce59f12a695309b0de66a7e88dfa02ed37 Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 18 Jun 2021 13:55:35 +0800 Subject: [PATCH 13/42] =?UTF-8?q?=E6=83=8A=E5=96=9C=E7=A4=BC=E7=9B=92,?= =?UTF-8?q?=E5=BC=80=E5=90=AF=E5=A4=A9=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java index d7f1fa296..48ebe0491 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java @@ -117,7 +117,7 @@ public class SuperBoxActivity extends AbstractActivity { } ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id); // 计算过去了几天 - int days = TimeUtils.getSoFarWentDays(start, now); + int days = TimeUtils.getSoFarWentDays(start, now)+1; mission.setV(days); // mission 单个礼包 Map missionMap = mission.getActivityMissionMap(); From 9baf1760213c8db56e55baf481d4b751078e8421 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Wed, 23 Jun 2021 15:25:50 +0800 Subject: [PATCH 14/42] =?UTF-8?q?=E5=B7=85=E5=B3=B0=E8=B5=9BErrorCode?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=EF=BC=8C=E6=97=A5=E5=BF=97=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/exception/ErrorCode.java | 1 + .../jieling/handler/champion/ChampionBetInfoHandler.java | 9 ++++++--- .../jieling/handler/champion/ChampionGuessHandler.java | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/exception/ErrorCode.java b/serverlogic/src/main/java/com/ljsd/jieling/exception/ErrorCode.java index 65f58e7e5..c70286985 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/exception/ErrorCode.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/exception/ErrorCode.java @@ -170,6 +170,7 @@ public enum ErrorCode implements IErrorCode { LOCK_FILL(140,"锁定数量已满,无法刷新"), REDPACKET_DAILY_LIMIT(141,"今日福利红包已达领取上限"), + CHAMPION_BET_GUESS_OVER_TIME(142,"巅峰赛竞猜超时,请重新进入页面") ; private static final Set CodeSet = new HashSet<>(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/champion/ChampionBetInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/champion/ChampionBetInfoHandler.java index 61d3af2f1..329564471 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/champion/ChampionBetInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/champion/ChampionBetInfoHandler.java @@ -23,6 +23,8 @@ import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.MessageUtil; import config.SArenaRobotConfig; import manager.STableManager; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import rpc.protocols.ArenaInfoProto; import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; @@ -36,6 +38,9 @@ import java.util.Map; * 0 全量 1 : 只给ChampionBetInfo */ public class ChampionBetInfoHandler extends BaseHandler { + + private static final Logger LOGGER = LoggerFactory.getLogger(ChampionBetInfoHandler.class); + @Override public MessageTypeProto.MessageType getMessageCode() { return MessageTypeProto.MessageType.CHAMPION_BET_INFO_REQUEST; @@ -247,9 +252,7 @@ public class ChampionBetInfoHandler extends BaseHandler{},竞猜2uid{}",builder.getChampionBattleInfo().getMyInfo().getUid(),builder.getChampionBattleInfo().getEnemyInfo().getUid()); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/champion/ChampionGuessHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/champion/ChampionGuessHandler.java index b5f926d0c..79048251e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/champion/ChampionGuessHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/champion/ChampionGuessHandler.java @@ -67,7 +67,7 @@ public class ChampionGuessHandler extends BaseHandler Date: Tue, 22 Jun 2021 16:30:58 +0800 Subject: [PATCH 15/42] =?UTF-8?q?=E5=8D=87=E6=98=9F=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/HeroStarActivity.java | 65 +++++++++++++++---- .../activity/event/FiveStarGetEvent.java | 18 +++++ .../java/com/ljsd/jieling/util/ItemUtil.java | 13 ++-- 3 files changed, 80 insertions(+), 16 deletions(-) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/FiveStarGetEvent.java diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java index 8ebe13e7e..5f81489c0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java @@ -1,43 +1,57 @@ package com.ljsd.jieling.logic.activity; +import com.ljsd.jieling.exception.ErrorCode; +import com.ljsd.jieling.exception.ErrorCodeException; +import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.jbean.ActivityMission; import com.ljsd.jieling.jbean.ActivityProgressInfo; import com.ljsd.jieling.logic.OnlineUserManager; -import com.ljsd.jieling.logic.activity.event.HeroUpStarEvent; -import com.ljsd.jieling.logic.activity.event.IEvent; -import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.activity.event.*; import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.network.session.ISession; +import com.ljsd.jieling.util.ItemUtil; +import com.ljsd.jieling.util.MessageUtil; import config.SActivityRewardConfig; import config.SGlobalActivity; +import rpc.protocols.CommonProto; +import rpc.protocols.PlayerInfoProto; import java.util.List; import java.util.Map; public class HeroStarActivity extends AbstractActivity { + private int heroId; public HeroStarActivity(int id) { super(id); Poster.getPoster().listenEvent(this, HeroUpStarEvent.class); + Poster.getPoster().listenEvent(this, FiveStarGetEvent.class); } @Override public void onEvent(IEvent event) throws Exception { - if (!(event instanceof HeroUpStarEvent)) - return; - HeroUpStarEvent heroUpStarEvent = (HeroUpStarEvent) event; - User user = UserManager.getUser(heroUpStarEvent.getUid()); + User user = null; + if(event instanceof FiveStarGetEvent){ + FiveStarGetEvent fiveStarGetEvent = (FiveStarGetEvent)event; + if(heroId != fiveStarGetEvent.getHeroid()) + return; + user = UserManager.getUser(fiveStarGetEvent.getUid()); + }else if(event instanceof HeroUpStarEvent){ + HeroUpStarEvent heroUpStarEvent = (HeroUpStarEvent) event; + if(heroUpStarEvent.getHeroTid() != heroId){ + return; + } + user = UserManager.getUser(heroUpStarEvent.getUid()); + } + ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); if( null == activityMission){ return; } Map activityProgressInfoMap = activityMission.getActivityMissionMap(); List list = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); - int heroId = list.get(0).getValues()[0][0]; - if(heroUpStarEvent.getHeroTid() != heroId){ - return; - } + int maxstar = user.getHeroManager().getHeroHandBook().get(heroId); for (SActivityRewardConfig sActivityRewardConfig : list) { if (maxstar >= sActivityRewardConfig.getValues()[0][1]) { @@ -71,11 +85,12 @@ public class HeroStarActivity extends AbstractActivity { } Map activityProgressInfoMap = activityMission.getActivityMissionMap(); List list = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); - int heroId = list.get(0).getValues()[0][0]; + heroId = list.get(0).getValues()[0][0]; Integer maxstar = user.getHeroManager().getHeroHandBook().get(heroId); if(maxstar == null){ return; } + for (SActivityRewardConfig sActivityRewardConfig : list) { if (maxstar.intValue() >= sActivityRewardConfig.getValues()[0][1]) { ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(sActivityRewardConfig.getId(), null); @@ -89,4 +104,30 @@ public class HeroStarActivity extends AbstractActivity { } } + + @Override + public boolean takeReward(ISession session, int missionId) throws Exception { + PlayerInfoProto.TakeActivityRewardResponse build = null; + User user = UserManager.getUser(session.getUid()); + SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); + if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) { + throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); + } + ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id); + Map activityProgressInfoMap = activityMission.getActivityMissionMap(); + ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.get(missionId); + if (activityProgressInfo == null || activityProgressInfo.getState() == 2) { + throw new ErrorCodeException(ErrorCode.newDefineCode("活动奖励已经领取")); + } + activityProgressInfo.setState(2); + SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId); + if(sActivityRewardConfig==null){ + throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE); + } + sendActivityProgress(session, activityMission, null); + CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfig.getReward(), BIReason.TAKE_ACTIVITY_REWARD); + build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build(); + MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true); + return true; + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/FiveStarGetEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/FiveStarGetEvent.java new file mode 100644 index 000000000..6ed6bf89f --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/FiveStarGetEvent.java @@ -0,0 +1,18 @@ +package com.ljsd.jieling.logic.activity.event; + +public class FiveStarGetEvent implements IEvent { + private int uid; + private int heroid; + + public FiveStarGetEvent(int uid,int heroid){ + this.heroid = heroid; + } + + public int getHeroid() { + return heroid; + } + + public int getUid() { + return uid; + } +} 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 c7e142af9..3c30b441e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -20,10 +20,7 @@ import com.ljsd.jieling.ktbeans.ReportUtil; import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean; import com.ljsd.jieling.logic.OnlineUserManager; import com.ljsd.jieling.logic.activity.ActivityType; -import com.ljsd.jieling.logic.activity.event.HeroFiveStarGetEvent; -import com.ljsd.jieling.logic.activity.event.Poster; -import com.ljsd.jieling.logic.activity.event.UseItemEvent; -import com.ljsd.jieling.logic.activity.event.UserLevelEvent; +import com.ljsd.jieling.logic.activity.event.*; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.hero.HeroLogic; @@ -1262,6 +1259,7 @@ public class ItemUtil { SItem sItem = SItem.getsItemMap().get(entry.getKey()); extraDropAop(user,dropBuilder,sItem); } + fiveStarEvent(user,entry.getKey()); if(reason != BIReason.HERO_RANDOM){ fiveStarPushByCombine(user,entry.getKey(),count); } @@ -1728,4 +1726,11 @@ public class ItemUtil { } } + public static void fiveStarEvent(User user,int itemId){ + SCHero scHero = SCHero.getsCHero().get(itemId); + if(scHero != null && scHero.getStar()==5){ + Poster.getPoster().dispatchEvent(new FiveStarGetEvent(user.getId(),itemId)); + } + } + } From 4bed1f51f9348620c9877f0a0d456dc584931899 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Tue, 22 Jun 2021 18:21:50 +0800 Subject: [PATCH 16/42] =?UTF-8?q?=E5=8D=87=E6=98=9F=E6=B4=BB=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/handler/GetPlayerInfoHandler.java | 14 +++++++++++++- .../jieling/logic/activity/HeroStarActivity.java | 6 ++++-- .../logic/activity/event/FiveStarGetEvent.java | 1 + .../com/ljsd/jieling/logic/dao/HeroManager.java | 14 ++++++++++++++ .../com/ljsd/jieling/logic/hero/HeroLogic.java | 1 + 5 files changed, 33 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index bf2d74fdf..9264dba6c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -137,7 +137,7 @@ public class GetPlayerInfoHandler extends BaseHandler{ Map heroHandBook = heroManager.getHeroHandBook(); List heroHandBookList = new ArrayList<>(); heroHandBook.forEach((k,v)->heroHandBookList.add(CommonProto.EveryHeroHandBook.newBuilder().setHeroId(k).setMaxStar(v).build())); - + initHeroStar(user); Set equipHandBookSet = user.getEquipManager().getEquipHandBook().keySet(); int equipPool = user.getEquipManager().getSoulEquipPool(); List goodsBagInfo = new ArrayList<>(SRechargeCommodityNewConfig.configMap.size()); @@ -235,5 +235,17 @@ public class GetPlayerInfoHandler extends BaseHandler{ } } + /** + * 初始化英雄星级map(针对老号) + * @param user + */ + private void initHeroStar(User user){ + if(user.getHeroManager().getHeroStarMap().size()>1){ + return; + } + for(Hero hero : user.getHeroManager().getHeroMap().values()){ + user.getHeroManager().addHeroStar(hero.getTemplateId(),hero.getStar()); + } + } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java index 5f81489c0..6246ff0a2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/HeroStarActivity.java @@ -52,7 +52,7 @@ public class HeroStarActivity extends AbstractActivity { Map activityProgressInfoMap = activityMission.getActivityMissionMap(); List list = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); - int maxstar = user.getHeroManager().getHeroHandBook().get(heroId); + int maxstar = user.getHeroManager().getHeroStarMap().get(heroId); for (SActivityRewardConfig sActivityRewardConfig : list) { if (maxstar >= sActivityRewardConfig.getValues()[0][1]) { ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(sActivityRewardConfig.getId(), null); @@ -60,6 +60,8 @@ public class HeroStarActivity extends AbstractActivity { continue; if(activityProgressInfo.getState()<1){ activityProgressInfo.setState(1); + }else{ + continue; } activityMission.getActivityMissionMap().put(sActivityRewardConfig.getId(), activityProgressInfo); } @@ -86,7 +88,7 @@ public class HeroStarActivity extends AbstractActivity { Map activityProgressInfoMap = activityMission.getActivityMissionMap(); List list = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id); heroId = list.get(0).getValues()[0][0]; - Integer maxstar = user.getHeroManager().getHeroHandBook().get(heroId); + Integer maxstar = user.getHeroManager().getHeroStarMap().get(heroId); if(maxstar == null){ return; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/FiveStarGetEvent.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/FiveStarGetEvent.java index 6ed6bf89f..62bd2c239 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/FiveStarGetEvent.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/event/FiveStarGetEvent.java @@ -5,6 +5,7 @@ public class FiveStarGetEvent implements IEvent { private int heroid; public FiveStarGetEvent(int uid,int heroid){ + this.uid = uid; this.heroid = heroid; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java index 82b67695a..6341701f2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/HeroManager.java @@ -30,6 +30,7 @@ public class HeroManager extends MongoBase { private Map heroHandBook = new HashMap<>(); private Set heroHandBookEnabled = new HashSet<>(); + private Map heroStarMap = new HashMap<>(); private Map endlessHeroInfo = new HashMap<>(); @@ -96,6 +97,7 @@ public class HeroManager extends MongoBase { updateString("heroMap." + hero.getId(), hero); heroMap.put(hero.getId(), hero); addHeroHandBook(hero.getTemplateId(),hero.getStar()); + addHeroStar(hero.getTemplateId(),hero.getStar()); } public Hero getHero(String heroId) { @@ -136,6 +138,18 @@ public class HeroManager extends MongoBase { return heroHandBook; } + public void addHeroStar(int heroId,int star){ + if(heroStarMap.getOrDefault(heroId,0) >= star){ + return; + } + heroStarMap.put(heroId,Math.max(heroStarMap.getOrDefault(heroId,0),star)); + updateString("heroStarMap." + heroId, star); + } + + public Map getHeroStarMap(){ + return heroStarMap; + } + public int getFirstTenth() { return firstTenth; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java index 084e1fe0d..ded261855 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hero/HeroLogic.java @@ -1150,6 +1150,7 @@ public class HeroLogic{ ItemUtil.itemCost(user,removeItemMap,BIReason.COMPLEX_EQUIP_CONSUME,0); rankUpHeroExecute(targetHero); + user.getHeroManager().addHeroStar(targetHero.getTemplateId(),targetHero.getStar()); Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getTemplateId(),targetHero.getStar())); targetHero.setStarBreakId(scHeroRankUpConfig.getId()); From 22b776da9b4cd8bf067f3040627cf8ebb6fbc724 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Tue, 22 Jun 2021 18:50:58 +0800 Subject: [PATCH 17/42] =?UTF-8?q?=E6=97=A7=E7=BA=A2=E5=8C=85bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/logic/family/GuildLogic.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 f5284bf69..6e9fe089c 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 @@ -1445,7 +1445,7 @@ public class GuildLogic { } } RedPackage packInfo = RedisUtil.getInstence().getMapValue(RedisKey.FAMILY_RED_PACKAGE, String.valueOf(guildId), String.valueOf(redId), RedPackage.class); - PlayerManager playerInfoManager = UserManager.getUser(session.getUid()).getPlayerInfoManager(); + PlayerManager playerInfoManager = UserManager.getUser(packInfo.getUid()).getPlayerInfoManager(); builder.setSendName(playerInfoManager.getNickName()) .setHead(playerInfoManager.getHead()) .setHeadFrame(playerInfoManager.getHeadFrame()) From b2ec86a39dd34125e900e0b2d6efded1ce3f0aeb Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Sat, 19 Jun 2021 15:57:02 +0800 Subject: [PATCH 18/42] =?UTF-8?q?=E7=AD=96=E5=88=92hardstageBuff=20?= =?UTF-8?q?=E6=94=B9=E8=A1=A8=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/hardStage/HardStageLogic.java | 5 ++++- .../src/main/java/com/ljsd/jieling/util/CBean2Proto.java | 5 ++++- tablemanager/src/main/java/config/SHardStageBuff.java | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java index 14e4b5eaf..bd715fbfc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java @@ -224,7 +224,10 @@ public class HardStageLogic { if (nodeConfig.getHardStageBuff() != 0) { buff = SHardStageBuff.getConfigMap().get(nodeConfig.getHardStageBuff()); if (buff.getType() == 2 || buff.getType() == 3) { - skillSb.append(buff.getPassiveSkillLogic()).append("#"); + //skillSb.append(buff.getPassiveSkillLogic()).append("#"); + for (int passiveId:buff.getPassiveSkillLogic()) { + skillSb.append(passiveId).append("#"); + } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index ddf20d7f9..a69eac5f9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -461,7 +461,10 @@ public class CBean2Proto { if(nodeConfig.getHardStageBuff() != 0){ SHardStageBuff buff = SHardStageBuff.getConfigMap().get(nodeConfig.getHardStageBuff()); if(buff.getType()==1 || buff.getType()==3){ - monsterSkillList.append(buff.getPassiveSkillLogic()).append("#"); + //monsterSkillList.append(buff.getPassiveSkillLogic()).append("#"); + for (int passiveId:buff.getPassiveSkillLogic()) { + monsterSkillList.append(passiveId).append("#"); + } } } diff --git a/tablemanager/src/main/java/config/SHardStageBuff.java b/tablemanager/src/main/java/config/SHardStageBuff.java index ae2349e2e..00be2fed2 100644 --- a/tablemanager/src/main/java/config/SHardStageBuff.java +++ b/tablemanager/src/main/java/config/SHardStageBuff.java @@ -10,7 +10,7 @@ public class SHardStageBuff implements BaseConfig { private int id; private int type; - private int passiveSkillLogic; + private int[] passiveSkillLogic; private int[] vocation; private static Map configMap ; @@ -32,7 +32,7 @@ public class SHardStageBuff implements BaseConfig { return type; } - public int getPassiveSkillLogic() { + public int[] getPassiveSkillLogic() { return passiveSkillLogic; } From 186fc061565ca96ecac3f4214f937fb85df6b020 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Sat, 19 Jun 2021 16:17:41 +0800 Subject: [PATCH 19/42] =?UTF-8?q?hardstageBuff=E8=A1=A8=E6=94=B9=E5=8A=A8?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/hardStage/HardStageLogic.java | 6 +++--- .../src/main/java/com/ljsd/jieling/util/CBean2Proto.java | 6 +++--- tablemanager/src/main/java/config/SHardStageBuff.java | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java index bd715fbfc..2693a6b1a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hardStage/HardStageLogic.java @@ -224,10 +224,10 @@ public class HardStageLogic { if (nodeConfig.getHardStageBuff() != 0) { buff = SHardStageBuff.getConfigMap().get(nodeConfig.getHardStageBuff()); if (buff.getType() == 2 || buff.getType() == 3) { - //skillSb.append(buff.getPassiveSkillLogic()).append("#"); - for (int passiveId:buff.getPassiveSkillLogic()) { + skillSb.append(buff.getPassiveSkillLogic()).append("#"); + /*for (int passiveId:buff.getPassiveSkillLogic()) { skillSb.append(passiveId).append("#"); - } + }*/ } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java index a69eac5f9..5f459f863 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/CBean2Proto.java @@ -461,10 +461,10 @@ public class CBean2Proto { if(nodeConfig.getHardStageBuff() != 0){ SHardStageBuff buff = SHardStageBuff.getConfigMap().get(nodeConfig.getHardStageBuff()); if(buff.getType()==1 || buff.getType()==3){ - //monsterSkillList.append(buff.getPassiveSkillLogic()).append("#"); - for (int passiveId:buff.getPassiveSkillLogic()) { + monsterSkillList.append(buff.getPassiveSkillLogic()).append("#"); + /*for (int passiveId:buff.getPassiveSkillLogic()) { monsterSkillList.append(passiveId).append("#"); - } + }*/ } } diff --git a/tablemanager/src/main/java/config/SHardStageBuff.java b/tablemanager/src/main/java/config/SHardStageBuff.java index 00be2fed2..ae2349e2e 100644 --- a/tablemanager/src/main/java/config/SHardStageBuff.java +++ b/tablemanager/src/main/java/config/SHardStageBuff.java @@ -10,7 +10,7 @@ public class SHardStageBuff implements BaseConfig { private int id; private int type; - private int[] passiveSkillLogic; + private int passiveSkillLogic; private int[] vocation; private static Map configMap ; @@ -32,7 +32,7 @@ public class SHardStageBuff implements BaseConfig { return type; } - public int[] getPassiveSkillLogic() { + public int getPassiveSkillLogic() { return passiveSkillLogic; } From a98918bdf6bf093b3b7aa362d40041b7aed4b73f Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Mon, 21 Jun 2021 11:23:19 +0800 Subject: [PATCH 20/42] =?UTF-8?q?=E7=A6=8F=E5=88=A9=E7=BA=A2=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/family/GuildLogic.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) 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 6e9fe089c..4e5af4f43 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 @@ -1259,9 +1259,12 @@ public class GuildLogic { }); for(SGuildRedPackConfig c : serise){ if(config.getGroupId() == 1){ - Integer state = redPacketsMap.get(c.getRuleId()[0]); - if(state != null && c.getId() == config.getId()){ - redPacketsMap.put(c.getRuleId()[0],1); + Integer state = redPacketsMap.get(c.getId()); + if(state != null && state == -1){ + continue; + } + if(c.getId() == config.getId()){ + redPacketsMap.put(c.getId(),1); } break; } From 6a08e5edd1e1a986a622460d6b74844d5f83911c Mon Sep 17 00:00:00 2001 From: lvxinran Date: Mon, 21 Jun 2021 16:01:02 +0800 Subject: [PATCH 21/42] =?UTF-8?q?=E7=A6=8F=E5=88=A9=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/logic/family/GuildLogic.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 6e9fe089c..7235021cd 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 @@ -1190,6 +1190,7 @@ public class GuildLogic { }else{ map.put(redId,old-1); } + LOGGER.info("发送红包剩余:redId:{} userId{} lastNum{}",config.getId(),user.getId(),map.get(redId)); user.getPlayerInfoManager().setWelfareRedPackets(map); PlayerInfoProto.WelfareRedPacketSendResponse.Builder build = PlayerInfoProto.WelfareRedPacketSendResponse.newBuilder(); @@ -1232,6 +1233,7 @@ public class GuildLogic { if(config==null || config.getBaseType() != 2){ return; } + LOGGER.info("添加福利红包:redId:{} userId{}",config.getId(),user.getId()); Map redPacketsMap = user.getPlayerInfoManager().getWelfareRedPackets(); switch (config.getRuleType()){ case 1: @@ -1272,7 +1274,6 @@ public class GuildLogic { if(c.getId() == config.getId()){ break; } - continue; }else{ if(c.getId() == config.getId()){ redPacketsMap.put(config.getId(),1); @@ -1326,8 +1327,10 @@ public class GuildLogic { int num = user.getMapManager().getLastMonsterAttack(); for(SGuildRedPackConfig config1 : SGuildRedPackConfig.welfareRedPackBySerise.get(config.getRuleId()[0])){ if(num >= config1.getRuleId()[1]){ + LOGGER.info("系列红包初始化1:redId:{} userName:{} userId{}",config.getId(),user.getPlayerInfoManager().getNickName(),user.getId()); redPacketsMap.put(config.getId(),1); }else{ + LOGGER.info("系列红包初始化0:redId:{} userName:{} userId{}",config.getId(),user.getPlayerInfoManager().getNickName(),user.getId()); redPacketsMap.put(config.getId(),0); break; } From 66e33baa24ec47cccf59c8cdf9c5bd87af3ae52c Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Mon, 21 Jun 2021 16:23:17 +0800 Subject: [PATCH 22/42] =?UTF-8?q?=E7=A6=8F=E5=88=A9=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/family/GuildLogic.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) 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 4e5af4f43..b67044a01 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 @@ -1227,6 +1227,7 @@ public class GuildLogic { * @throws Exception */ public static void addWelfareRedPacket(int uid,int redId) throws Exception { + LOGGER.info("添加福利礼包,uid:{},redId:{}",uid,redId); User user = UserManager.getUser(uid); SGuildRedPackConfig config = SGuildRedPackConfig.sGuildRedPackConfigMap.get(redId); if(config==null || config.getBaseType() != 2){ @@ -1292,8 +1293,8 @@ public class GuildLogic { } public static void sendWelfareRedPacketInfo(User user){ - Map redPacketsMap = user.getPlayerInfoManager().getWelfareRedPackets(); initWelfareRedPacketInfo(user); + Map redPacketsMap = user.getPlayerInfoManager().getWelfareRedPackets(); PlayerInfoProto.WelfareRedPacketPush.Builder build = PlayerInfoProto.WelfareRedPacketPush.newBuilder(); for(Map.Entry entry : redPacketsMap.entrySet()){ if(entry.getValue() >= 0){ @@ -1326,14 +1327,9 @@ public class GuildLogic { continue; if(config.getRuleType() == 3){ if(config.getGroupId() == 2){ - int num = user.getMapManager().getLastMonsterAttack(); for(SGuildRedPackConfig config1 : SGuildRedPackConfig.welfareRedPackBySerise.get(config.getRuleId()[0])){ - if(num >= config1.getRuleId()[1]){ - redPacketsMap.put(config.getId(),1); - }else{ - redPacketsMap.put(config.getId(),0); - break; - } + redPacketsMap.put(config.getId(),0); + break; } }else{ if(config.getId()==SGuildRedPackConfig.welfareRedPackBySerise.get(config.getRuleId()[0]).get(0).getId()) @@ -1343,6 +1339,7 @@ public class GuildLogic { redPacketsMap.put(config.getId(),0); } } + user.getPlayerInfoManager().setWelfareRedPackets(redPacketsMap); } /** From 1413a7ba82960c0505084c3f8af75ea3b99987c0 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Mon, 21 Jun 2021 16:56:54 +0800 Subject: [PATCH 23/42] =?UTF-8?q?=E7=83=AD=E6=9B=B4=E7=A6=8F=E5=88=A9?= =?UTF-8?q?=E7=BA=A2=E5=8C=85=E5=B7=A5=E4=BC=9A2Jbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/family/GuildLogic.java | 26 +++---------------- 1 file changed, 3 insertions(+), 23 deletions(-) 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 7235021cd..36a8607c0 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 @@ -1190,7 +1190,6 @@ public class GuildLogic { }else{ map.put(redId,old-1); } - LOGGER.info("发送红包剩余:redId:{} userId{} lastNum{}",config.getId(),user.getId(),map.get(redId)); user.getPlayerInfoManager().setWelfareRedPackets(map); PlayerInfoProto.WelfareRedPacketSendResponse.Builder build = PlayerInfoProto.WelfareRedPacketSendResponse.newBuilder(); @@ -1233,7 +1232,6 @@ public class GuildLogic { if(config==null || config.getBaseType() != 2){ return; } - LOGGER.info("添加福利红包:redId:{} userId{}",config.getId(),user.getId()); Map redPacketsMap = user.getPlayerInfoManager().getWelfareRedPackets(); switch (config.getRuleType()){ case 1: @@ -1290,8 +1288,8 @@ public class GuildLogic { } public static void sendWelfareRedPacketInfo(User user){ - Map redPacketsMap = user.getPlayerInfoManager().getWelfareRedPackets(); initWelfareRedPacketInfo(user); + Map redPacketsMap = user.getPlayerInfoManager().getWelfareRedPackets(); PlayerInfoProto.WelfareRedPacketPush.Builder build = PlayerInfoProto.WelfareRedPacketPush.newBuilder(); for(Map.Entry entry : redPacketsMap.entrySet()){ if(entry.getValue() >= 0){ @@ -1322,27 +1320,9 @@ public class GuildLogic { for(SGuildRedPackConfig config : SGuildRedPackConfig.sWelfareRedPackByRule.values()){ if(redPacketsMap.containsKey(config.getId())) continue; - if(config.getRuleType() == 3){ - if(config.getGroupId() == 2){ - int num = user.getMapManager().getLastMonsterAttack(); - for(SGuildRedPackConfig config1 : SGuildRedPackConfig.welfareRedPackBySerise.get(config.getRuleId()[0])){ - if(num >= config1.getRuleId()[1]){ - LOGGER.info("系列红包初始化1:redId:{} userName:{} userId{}",config.getId(),user.getPlayerInfoManager().getNickName(),user.getId()); - redPacketsMap.put(config.getId(),1); - }else{ - LOGGER.info("系列红包初始化0:redId:{} userName:{} userId{}",config.getId(),user.getPlayerInfoManager().getNickName(),user.getId()); - redPacketsMap.put(config.getId(),0); - break; - } - } - }else{ - if(config.getId()==SGuildRedPackConfig.welfareRedPackBySerise.get(config.getRuleId()[0]).get(0).getId()) - redPacketsMap.put(config.getId(),0); - } - }else{ - redPacketsMap.put(config.getId(),0); - } + redPacketsMap.put(config.getId(),0); } + user.getPlayerInfoManager().setWelfareRedPackets(redPacketsMap); } /** From d32845a60296616bc58f4dfde9186b1898f94ed0 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Mon, 21 Jun 2021 17:46:59 +0800 Subject: [PATCH 24/42] =?UTF-8?q?=E7=A6=8F=E5=88=A9=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/family/GuildLogic.java | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) 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 b67044a01..fcc7a5fe6 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 @@ -1325,19 +1325,7 @@ public class GuildLogic { for(SGuildRedPackConfig config : SGuildRedPackConfig.sWelfareRedPackByRule.values()){ if(redPacketsMap.containsKey(config.getId())) continue; - if(config.getRuleType() == 3){ - if(config.getGroupId() == 2){ - for(SGuildRedPackConfig config1 : SGuildRedPackConfig.welfareRedPackBySerise.get(config.getRuleId()[0])){ - redPacketsMap.put(config.getId(),0); - break; - } - }else{ - if(config.getId()==SGuildRedPackConfig.welfareRedPackBySerise.get(config.getRuleId()[0]).get(0).getId()) - redPacketsMap.put(config.getId(),0); - } - }else{ - redPacketsMap.put(config.getId(),0); - } + redPacketsMap.put(config.getId(),0); } user.getPlayerInfoManager().setWelfareRedPackets(redPacketsMap); } From e281e9322309232f3cf8022dabe7918db2331db2 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Mon, 21 Jun 2021 18:49:18 +0800 Subject: [PATCH 25/42] =?UTF-8?q?=E7=A6=8F=E5=88=A9=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E7=A6=BB=E5=BC=80=E5=85=AC=E4=BC=9A=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/family/GuildLogic.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) 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 fcc7a5fe6..c474ef315 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 @@ -669,7 +669,7 @@ public class GuildLogic { guildInfo.removeDefendInfo(targetUid); } targetUser.getPlayerInfoManager().setGuildId(0); - targetUser.getPlayerInfoManager().setWelfareRedPackets(new HashMap()); + targetUser.getPlayerInfoManager().setWelfareRedPackets(clearRedPacketMap(user)); targetUser.getGuildMyInfo().clearOfLevelGuild(); addGuildLog(guildInfo.getId(),GuildDef.Log.KICK,targetUser.getPlayerInfoManager().getNickName()); // Family.FamilyKickIndication build = Family.FamilyKickIndication.newBuilder().setType(1).build(); @@ -944,7 +944,7 @@ public class GuildLogic { RedisUtil.getInstence().putMapEntry(RedisKey.PLAYER_INFO_CACHE,"",String.valueOf(uid),cache); guildInfo.removeMember(uidType,uid); user.getPlayerInfoManager().setGuildId(0); - user.getPlayerInfoManager().setWelfareRedPackets(new HashMap()); + user.getPlayerInfoManager().setWelfareRedPackets(clearRedPacketMap(user)); user.getGuildMyInfo().clearOfLevelGuild(); addGuildLog(guildInfo.getId(),GuildDef.Log.LEVEL,user.getPlayerInfoManager().getNickName()); MessageUtil.sendMessage(session,1,msgId,null,true); @@ -1741,4 +1741,16 @@ public class GuildLogic { } } + private static Map clearRedPacketMap(User user){ + Map map = user.getPlayerInfoManager().getWelfareRedPackets(); + for(Map.Entry entry : map.entrySet()){ + if(entry.getValue().intValue() == -1){ + continue; + }else{ + entry.setValue(0); + } + } + return map; + } + } From 95be325af72f9df84b4f251cf72962bce4259666 Mon Sep 17 00:00:00 2001 From: duhui Date: Tue, 22 Jun 2021 17:37:51 +0800 Subject: [PATCH 26/42] =?UTF-8?q?=E6=89=B6=E6=8C=81=E5=8F=91=E5=A5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index 41935a434..2249b8cf9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -170,7 +170,7 @@ public class BuyGoodsNewLogic { double priceTemp =config.getPrice(); int cfgType = SSpecialConfig.getIntegerValue(SSpecialConfig.EXCHANGE_FORCE_TYPE); double price = priceTemp==0?0: SExchangeRate.doubleIntegerHashMap.get(cfgType).get((int)priceTemp); - if(amount!=-999&&!MathUtils.doubleEquals(amount,price * 100)){ + if(amount!=-999&&!MathUtils.doubleEquals(amount,price * 100)&&!"support-order".equals(orderId)){ resultRes.setResultCode(0); resultRes.setResultMsg("charge count error"); LOGGER.error("charge count error, uid={},the goodId={}, currentPrice={},realPrice={}",uid,goodsId, amount,price); From a660a1b5bf59e23d48f301bd75194d650444db6b Mon Sep 17 00:00:00 2001 From: duhui Date: Tue, 22 Jun 2021 17:39:47 +0800 Subject: [PATCH 27/42] =?UTF-8?q?=E6=89=B6=E6=8C=81=E5=8F=91=E5=A5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index 41935a434..2249b8cf9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -170,7 +170,7 @@ public class BuyGoodsNewLogic { double priceTemp =config.getPrice(); int cfgType = SSpecialConfig.getIntegerValue(SSpecialConfig.EXCHANGE_FORCE_TYPE); double price = priceTemp==0?0: SExchangeRate.doubleIntegerHashMap.get(cfgType).get((int)priceTemp); - if(amount!=-999&&!MathUtils.doubleEquals(amount,price * 100)){ + if(amount!=-999&&!MathUtils.doubleEquals(amount,price * 100)&&!"support-order".equals(orderId)){ resultRes.setResultCode(0); resultRes.setResultMsg("charge count error"); LOGGER.error("charge count error, uid={},the goodId={}, currentPrice={},realPrice={}",uid,goodsId, amount,price); From 33bcd9be80f868fae692a1c36fb16437a5db0d5f Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Wed, 23 Jun 2021 11:53:57 +0800 Subject: [PATCH 28/42] =?UTF-8?q?appid=E6=9A=82=E6=97=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index 2249b8cf9..373e68b78 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -310,7 +310,8 @@ public class BuyGoodsNewLogic { rechargeEvent.setModule("GameAnalysis"); rechargeEvent.setIp(""); rechargeEvent.setName("charge"); - rechargeEvent.setIndex(GameApplication.serverProperties.getAppId()==null?"APPID":GameApplication.serverProperties.getAppId()); + //rechargeEvent.setIndex(GameApplication.serverProperties.getAppId()==null?"APPID":GameApplication.serverProperties.getAppId()); + rechargeEvent.setIndex("98k3j3yxkb8ux2zj"); rechargeEvent.setIdentify(String.valueOf(user.getPlayerInfoManager().getOpenId())); rechargeEvent.setProperties(new RechargeEventProp(orderId,amount*100,virtualAmount,currency_type,"","")); String s = DataMessageUtils.sendRechargePost(rechargeEvent); From 7331168ef539a718f7b724d590de1e0be973eba3 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Wed, 23 Jun 2021 15:23:48 +0800 Subject: [PATCH 29/42] =?UTF-8?q?onlineUserReport=E4=BA=94=E5=88=86?= =?UTF-8?q?=E9=92=9F=E4=B8=8A=E6=8A=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/store/BuyGoodsNewLogic.java | 3 +-- .../com/ljsd/jieling/thread/ThreadManager.java | 6 +++--- .../jieling/thread/task/OnlineUserReportTask.java | 15 ++++++++++++++- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java index 373e68b78..2249b8cf9 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/BuyGoodsNewLogic.java @@ -310,8 +310,7 @@ public class BuyGoodsNewLogic { rechargeEvent.setModule("GameAnalysis"); rechargeEvent.setIp(""); rechargeEvent.setName("charge"); - //rechargeEvent.setIndex(GameApplication.serverProperties.getAppId()==null?"APPID":GameApplication.serverProperties.getAppId()); - rechargeEvent.setIndex("98k3j3yxkb8ux2zj"); + rechargeEvent.setIndex(GameApplication.serverProperties.getAppId()==null?"APPID":GameApplication.serverProperties.getAppId()); rechargeEvent.setIdentify(String.valueOf(user.getPlayerInfoManager().getOpenId())); rechargeEvent.setProperties(new RechargeEventProp(orderId,amount*100,virtualAmount,currency_type,"","")); String s = DataMessageUtils.sendRechargePost(rechargeEvent); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/ThreadManager.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/ThreadManager.java index 2378aec38..9ac0f2560 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/ThreadManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/ThreadManager.java @@ -29,7 +29,7 @@ public class ThreadManager implements IManager { private static MongoDataHandlerTask mongoDataHandlerTask; private static ItemLogTask itemLogTask; public static int SLEEP_INTEVAL_TIME = 60; //每1分钟检查一次 - private static OnlineUserTapTask onlineUserTapTask;//5分钟上报一次 + //private static OnlineUserTapTask onlineUserTapTask;//5分钟上报一次 private static Set> scheduledFutureSets = new HashSet<>(); @@ -42,13 +42,13 @@ public class ThreadManager implements IManager { mongoDataHandlerTask = ConfigurableApplicationContextManager.getBean(MongoDataHandlerTask.class); dataReportTask = ConfigurableApplicationContextManager.getBean(DataReportTask.class); itemLogTask = ConfigurableApplicationContextManager.getBean(ItemLogTask.class); - onlineUserTapTask = ConfigurableApplicationContextManager.getBean(OnlineUserTapTask.class); + //onlineUserTapTask = ConfigurableApplicationContextManager.getBean(OnlineUserTapTask.class); new RetrySendIndicationThread("retry-indi").start(); mongoDataHandlerTask.start(); dataReportTask.start(); itemLogTask.start(); - onlineUserTapTask.start(); + //onlineUserTapTask.start(); scheduledExecutor = new ScheduledThreadPoolExecutor(8, new ScheduleThreadFactory()); scheduledExecutor.setExecuteExistingDelayedTasksAfterShutdownPolicy(false); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/OnlineUserReportTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/OnlineUserReportTask.java index 80f90a88d..eecea22cc 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/OnlineUserReportTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/OnlineUserReportTask.java @@ -1,6 +1,9 @@ package com.ljsd.jieling.thread.task; import com.ljsd.GameApplication; +import com.ljsd.jieling.config.reportData.DataMessageUtils; +import com.ljsd.jieling.ktbeans.OnlineProp; +import com.ljsd.jieling.ktbeans.OnlineUserCalEvent; import com.ljsd.jieling.ktbeans.ReportUtil; import com.ljsd.jieling.ktbeans.sendbeans.ReportServerEvent; import com.ljsd.jieling.logic.OnlineUserManager; @@ -8,7 +11,7 @@ import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.User; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - +import util.TimeUtils; import java.util.Date; import java.util.HashMap; import java.util.Map; @@ -30,6 +33,16 @@ public class OnlineUserReportTask extends Thread { @Override public void run() { try{ + //5分钟上报一次 + if(TimeUtils.getMiunte()%5 == 0){ + int serverId = GameApplication.serverId; + Set uids = OnlineUserManager.sessionMap.keySet(); + OnlineUserCalEvent onlineUserCalEvent = new OnlineUserCalEvent(); + onlineUserCalEvent.setAppid(GameApplication.serverProperties.getAppId()==null?"APPID":GameApplication.serverProperties.getAppId()); + onlineUserCalEvent.setOnlines(new OnlineProp[]{new OnlineProp(String.valueOf(serverId),uids.size(), TimeUtils.now()/1000)}); + DataMessageUtils.sendOnlinePost(onlineUserCalEvent); + } + Set uids = OnlineUserManager.sessionMap.keySet(); Map channelMap = new HashMap<>(); for(int uid:uids){ From ff2bb3013b489fd325851856addbb039f0a6a360 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Wed, 23 Jun 2021 16:17:47 +0800 Subject: [PATCH 30/42] =?UTF-8?q?=E7=A6=8F=E5=88=A9=E7=BA=A2=E5=8C=85?= =?UTF-8?q?=E4=BC=9A=E9=95=BF=E6=96=B0=E4=BA=BA=E7=BA=A2=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/family/GuildLogic.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) 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 864fd59b0..680a105b5 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 @@ -625,7 +625,7 @@ public class GuildLogic { } targetUser.getGuildMyInfo().setJoinTime(TimeUtils.nowInt()); ReportUtil.onReportEvent(targetUser, ReportEventEnum.JOIN_GUILD.getType(),String.valueOf(guildInfo.getId()),guildInfo.getName(),guildInfo.getLevel(),guildInfo.getTotalMembers()); - sendNewGuyRedPacket(guildInfo); + sendNewGuyRedPacket(guildInfo,applyId); } /** @@ -1715,18 +1715,18 @@ public class GuildLogic { return true; } - private static void sendNewGuyRedPacket(GuildInfo guildInfo) throws Exception{ + private static void sendNewGuyRedPacket(GuildInfo guildInfo,int userId) throws Exception{ for(int id : guildInfo.getMembers().get(GlobalsDef.CHAIRMAN)){ - User user = UserManager.getUser(id); - if(user == null) + User chairman = UserManager.getUser(id); + if(chairman == null) continue; - if(guildInfo.getHistoryMember().contains(user.getId())){ + if(guildInfo.getHistoryMember().contains(userId)){ return; }else{ - guildInfo.getHistoryMember().add(user.getId()); + guildInfo.getHistoryMember().add(userId); guildInfo.updateHistoryMember(); } - Poster.getPoster().dispatchEvent(new WelfareRedPackEvent(user.getId(), WelfareRedPacketType.newfish_come.getType(),0)); + Poster.getPoster().dispatchEvent(new WelfareRedPackEvent(chairman.getId(), WelfareRedPacketType.newfish_come.getType(),0)); } } From 611dc9cdc89c4396919d6e04d7616c808fff8b03 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Thu, 24 Jun 2021 11:24:03 +0800 Subject: [PATCH 31/42] =?UTF-8?q?=E5=A4=A9=E7=9C=BClog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java | 1 + 1 file changed, 1 insertion(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java index 4bbb53d26..ad2032ff2 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java @@ -497,6 +497,7 @@ public class MessageUtil { if(url == null){ return v3; } + LOGGER.info("天眼封禁URL:{}",url); skyEyeExtraMap.put("url",url); v3.setExtra(JSON.toJSONString(skyEyeExtraMap)); return v3; From 0711bfd7525d448bfdff0af3939fd0d5cd94e772 Mon Sep 17 00:00:00 2001 From: mengchengzhen <13682025901@163.com> Date: Thu, 24 Jun 2021 11:49:52 +0800 Subject: [PATCH 32/42] =?UTF-8?q?=E5=A4=A9=E7=9C=BClog?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/util/MessageUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java index ad2032ff2..19a112a89 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/MessageUtil.java @@ -497,7 +497,7 @@ public class MessageUtil { if(url == null){ return v3; } - LOGGER.info("天眼封禁URL:{}",url); + LOGGER.info("天眼封禁userId:{},zonId:{},content:{},URL:{}",me.getId(),String.valueOf(GameApplication.serverId),msg,url); skyEyeExtraMap.put("url",url); v3.setExtra(JSON.toJSONString(skyEyeExtraMap)); return v3; From e0568b2717c41dafa1eefc818eb7fe90728de36b Mon Sep 17 00:00:00 2001 From: lvxinran Date: Sat, 26 Jun 2021 14:04:01 +0800 Subject: [PATCH 33/42] =?UTF-8?q?=E5=B7=85=E5=B3=B0=E8=B5=9B=E7=AB=9E?= =?UTF-8?q?=E7=8C=9C=E5=B8=81=E6=8D=A2=E6=88=90=E9=82=AE=E4=BB=B6=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/championship/ChampionshipLogic.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java index a822cf724..fc8545527 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/championship/ChampionshipLogic.java @@ -444,10 +444,13 @@ public class ChampionshipLogic { costs[0] = new int[2]; costs[0][0] = arenaItemId; costs[0][1] = itemNum; +// Map itemReward = new HashMap<>(1); +// itemReward.put(rewardItemId, (long) (itemNum / sChampionshipSetting.getExchangeItem())); + String title = SErrorCodeEerverConfig.getI18NMessage("champion_bet_title"); + String content = SErrorCodeEerverConfig.getI18NMessage("champion_bet_content"); + MailLogic.getInstance().sendMail(user.getId(),title,content,rewardItemId+"#"+(itemNum / sChampionshipSetting.getExchangeItem()),TimeUtils.nowInt(),Global.MAIL_EFFECTIVE_TIME); ItemUtil.itemCost(user, costs, BIReason.CHAMPIONM_EXCHANGE_CONSUME, sendId); - Map itemReward = new HashMap<>(1); - itemReward.put(rewardItemId, (long) (itemNum / sChampionshipSetting.getExchangeItem())); - ItemUtil.addItem(user, itemReward, null, BIReason.CHAMPIONM_EXCHANGE_REWARD); +// ItemUtil.addItem(user, itemReward, null, BIReason.CHAMPIONM_EXCHANGE_REWARD); } LOGGER.info("the uid={},send rewardnum={}", itemNum / sChampionshipSetting.getExchangeItem()); From d9e4e29bb641eb07f375593c55c9f20ac72f11b7 Mon Sep 17 00:00:00 2001 From: duhui Date: Sun, 27 Jun 2021 22:59:52 +0800 Subject: [PATCH 34/42] =?UTF-8?q?=E6=83=8A=E5=96=9C=E7=A4=BC=E7=9B=92,bug?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java | 2 ++ .../java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java index 9264dba6c..3653f0d2b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -14,6 +14,7 @@ import com.ljsd.jieling.logic.activity.ActivityLogic; import com.ljsd.jieling.logic.activity.event.NewWelfareEvent; import com.ljsd.jieling.logic.activity.event.NewWelfareTypeEnum; import com.ljsd.jieling.logic.activity.event.Poster; +import com.ljsd.jieling.logic.activity.event.SuperBoxEvent; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.GlobalSystemControl; import com.ljsd.jieling.logic.dao.root.User; @@ -221,6 +222,7 @@ public class GetPlayerInfoHandler extends BaseHandler{ ReportUtil.onReportEvent(user, ReportEventEnum.APP_LOGIN.getType()); try { //hotfix + Poster.getPoster().dispatchEvent(new SuperBoxEvent(user.getId(),-1)); user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_TASK_TYPE,0,user); MessageUtil.sendIndicationMessage(iSession, 1, MessageTypeProto.MessageType.WorldLevelIndication_VALUE, PlayerInfoProto.WorldLevelIndication.newBuilder().setWorldLeve(GlobleSystemLogic.getGloableWorldLeveCache()).build(), true); MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_PLAYERINFO_RESPONSE_VALUE, getPlayerInfoResponse, true); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java index 48ebe0491..0ef35ae6c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java @@ -161,8 +161,11 @@ public class SuperBoxActivity extends AbstractActivity { } } v.setProgrss(progrss); + mission.getActivityMissionMap().put(k,v); } + LOGGER.info("========================惊喜礼盒状态刷新,uid={}",user.getId()); + // 客户端推送 ISession session = OnlineUserManager.getSessionByUid(user.getId()); sendActivityProgress(session, mission, null); From b3a35321d6a7ac67316494eda12a3ff69f73871d Mon Sep 17 00:00:00 2001 From: duhui Date: Mon, 28 Jun 2021 10:46:27 +0800 Subject: [PATCH 35/42] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E9=9D=9E=E7=A9=BA?= =?UTF-8?q?=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/activity/SuperBoxActivity.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java index 0ef35ae6c..a1594e738 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/SuperBoxActivity.java @@ -84,7 +84,11 @@ public class SuperBoxActivity extends AbstractActivity { return; } - Map missionMap = user.getActivityManager().getActivityMissionMap().get(id).getActivityMissionMap(); + ActivityMission mission = user.getActivityManager().getActivityMissionMap().get(id); + if (mission == null){ + return; + } + Map missionMap = mission.getActivityMissionMap(); Collection boxes = SSurpriseBox.map.getOrDefault(id, new HashMap<>(0)).values(); for (SSurpriseBox box : boxes) { From b7d90178eef37c7700fa2391363966357063f989 Mon Sep 17 00:00:00 2001 From: duhui Date: Mon, 28 Jun 2021 11:50:12 +0800 Subject: [PATCH 36/42] =?UTF-8?q?=E6=88=98=E6=8A=A5=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/kefu/Cmd_fightrecord.java | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_fightrecord.java b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_fightrecord.java index 0aaf1bf7c..6d45c2145 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_fightrecord.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/kefu/Cmd_fightrecord.java @@ -13,23 +13,21 @@ public class Cmd_fightrecord extends GmAbstract { @Override public String exec2(String[] args){ - if (args.length < 2){ - return ""; - } // 获取玩家战报系统 - String content = Optional.ofNullable(args[0]).orElse(""); - String parm = Optional.ofNullable(args[1]).orElse(""); + String sign = Optional.ofNullable(args[0]).orElse(""); + String content = Optional.ofNullable(args[1]).orElse(""); String result = ""; - if (content.equals("delete")){ + if (sign.equals("delete")){ FightRecordLogic.getInstance().delete(); + LOGGER.info("战报信息,delete"); } - else if (content.equals("all")){ - result = FightRecordLogic.getInstance().getAll(Integer.parseInt(parm)); - System.out.printf("战报信息,all:{%s}",result); + else if (sign.equals("all")){ + result = FightRecordLogic.getInstance().getAll(Integer.parseInt(content)); + LOGGER.info("战报信息,all:{}",result); } else { result = FightRecordLogic.getInstance().getOneRecord(content); - System.out.printf("战报信息,OneRecord:{%s}",result); + LOGGER.info("战报信息,OneRecord:{}",result); } return result; From 937cc3d235e4b8521c7b3ceb05996ea5606db176 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Tue, 29 Jun 2021 11:36:25 +0800 Subject: [PATCH 37/42] =?UTF-8?q?=E5=B1=B1=E6=B2=B3=E5=9F=8B=E7=82=B9?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/hardStage/StartHardStageRequestHandler.java | 8 ++++++++ .../java/com/ljsd/jieling/ktbeans/ReportEventEnum.java | 2 ++ 2 files changed, 10 insertions(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java index 88177cb69..c4cfbdde4 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java @@ -81,6 +81,14 @@ public class StartHardStageRequestHandler extends BaseHandler teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId); PlayerInfoProto.HardStageFightResponse.Builder fightStartResponse = PlayerInfoProto.HardStageFightResponse.newBuilder(); + //山河社稷埋点 + int logType ; + int logSectionId; + int logResult; + int logStarNum; + + logType = nodeConfig.getChapter(); + logSectionId = nodeConfig.getSection(); //直接发奖励 if (nodeConfig.getStageType() == 2) { Map chapt = user.getHardStageManager().getChapterMap(user); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java index 0f3749a89..bb338bde8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/ReportEventEnum.java @@ -108,6 +108,8 @@ public enum ReportEventEnum { COMPLETE_TRAVEL(73,"complete_travel",CommonEventHandler.getInstance(),new String[]{"stage_id_travel"}), // 新将来袭 TA_SUI_LING_XIAO(74,"tasuilingxiao_boss",CommonEventHandler.getInstance(),new String[]{"boss_id","damage_num","reward_nums_list"}), + //山河社稷图 + HARD_STAGE(75 ,"Sunvo_figure",CommonEventHandler.getInstance(),new String[]{"Sunvo_figure_type","Sunvo_figure_id","combat_results","get_star"}), VIP_LEVEL_UP(100,"", new VipLevelUpEventHandler(),new String[]{""}); From d6cf251701a037b503039e913a5cacc4b512e07f Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Tue, 29 Jun 2021 14:16:23 +0800 Subject: [PATCH 38/42] =?UTF-8?q?=E5=B1=B1=E6=B2=B3=E7=A4=BE=E7=A8=B7?= =?UTF-8?q?=E5=9F=8B=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StartHardStageRequestHandler.java | 20 +++++++++---------- .../logic/hardStage/HardStageLogic.java | 9 ++++++--- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java index c4cfbdde4..3c34cefff 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java @@ -11,6 +11,8 @@ import com.ljsd.jieling.globals.BIReason; import com.ljsd.jieling.globals.Global; import com.ljsd.jieling.handler.BaseHandler; import com.ljsd.jieling.handler.map.behavior.BehaviorUtil; +import com.ljsd.jieling.ktbeans.ReportEventEnum; +import com.ljsd.jieling.ktbeans.ReportUtil; import com.ljsd.jieling.logic.activity.event.Poster; import com.ljsd.jieling.logic.activity.event.ShanHeSheJiTuStarEvent; import com.ljsd.jieling.logic.dao.TeamPosHeroInfo; @@ -82,13 +84,10 @@ public class StartHardStageRequestHandler extends BaseHandler teamPosHeroInfos = user.getTeamPosManager().getTeamPosForHero().get(teamId); PlayerInfoProto.HardStageFightResponse.Builder fightStartResponse = PlayerInfoProto.HardStageFightResponse.newBuilder(); //山河社稷埋点 - int logType ; - int logSectionId; - int logResult; - int logStarNum; - - logType = nodeConfig.getChapter(); - logSectionId = nodeConfig.getSection(); + int logType = nodeConfig.getChapter(); + int logSectionId = nodeConfig.getSection(); + int logResult = 0; + int logStarNum = 0; //直接发奖励 if (nodeConfig.getStageType() == 2) { Map chapt = user.getHardStageManager().getChapterMap(user); @@ -98,6 +97,7 @@ public class StartHardStageRequestHandler extends BaseHandler dropList) throws Exception { + public static int passNode(ISession iSession, SHardStage nodeConfig, int[] resultNum, List dropList) throws Exception { User user = UserManager.getUser(iSession.getUid()); if (user == null) { - return; + return 0; } Map chapterMap = user.getHardStageManager().getChapterMap(user); HardStageNode node = chapterMap.get(nodeConfig.getChapter()).getNode(nodeConfig.getId()); + int star = 0; if (node.getType() == 1) {//大节点 - int star = passReward(user, node, resultNum, dropList);//星级通关奖励 + star = passReward(user, node, resultNum, dropList);//星级通关奖励 chapterMap.get(nodeConfig.getChapter()).addStars(star); if (!node.isHasPass()) { node.setHasPass(true); @@ -291,8 +292,10 @@ public class HardStageLogic { updateChapterAndNodeLevel(user,nodeConfig); user.getHardStageManager().updateString("chapterMap." + nodeConfig.getChapter(), chapterMap.get(nodeConfig.getChapter())); } + } sendHardStageIndication(user); + return star; } public static void updateChapterAndNodeLevel(User user, SHardStage nodeConfig ){ if( nodeConfig.getChapter() >=user.getHardStageManager().getCurChapter()){ From 90f8cba2200a2b6372f1c6d91a35ca49b5af22a8 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 2 Jul 2021 18:22:35 +0800 Subject: [PATCH 39/42] =?UTF-8?q?=E6=8A=BD=E5=8D=A1=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=90=8C=E9=98=B5=E8=90=A5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/activity/ActivityLogic.java | 11 +++++---- .../main/java/config/SWishActivityPool.java | 24 ++++++++++++++----- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index 0cad7184c..5c506c136 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -1608,15 +1608,16 @@ public class ActivityLogic implements IEventHandler{ int count = mission.getV(); // up奖励id int upRewardId = mission.getChoiceRewardId(); - - // 排序权重map - Map weight = new TreeMap<>(SWishActivityPool.weight); - // 常驻卡池 - Map poolMap = SWishActivityPool.map; // 根据活动获取本期得全部up信息 Map up = SWishActivityUp.upMap.get(activityId); // 根据玩家选取得up奖励id获取详细信息 int[] incs = up.get(upRewardId); + //拿到当前阵营 + int camp = incs[3]; + // 排序权重map + Map weight = new TreeMap<>(SWishActivityPool.weight.get(camp)); + // 常驻卡池 + Map poolMap = SWishActivityPool.map; // 讲up奖励id得权重加入到整个卡池权重中 weight.put(weight.size()+1,incs[2]); // 计算总权重 diff --git a/tablemanager/src/main/java/config/SWishActivityPool.java b/tablemanager/src/main/java/config/SWishActivityPool.java index d43030cc9..e143ec996 100644 --- a/tablemanager/src/main/java/config/SWishActivityPool.java +++ b/tablemanager/src/main/java/config/SWishActivityPool.java @@ -3,9 +3,7 @@ package config; import manager.STableManager; import manager.Table; -import java.util.HashMap; -import java.util.Map; -import java.util.TreeMap; +import java.util.*; @Table(name ="WishActivityPool") public class SWishActivityPool implements BaseConfig { @@ -16,17 +14,29 @@ public class SWishActivityPool implements BaseConfig { private int getRate; - public static Map weight = new TreeMap<>(); + private int camp; + + public static Map> weight = new TreeMap<>(); public static Map map = new HashMap<>(); @Override public void init() throws Exception { Map config = STableManager.getConfig(SWishActivityPool.class); + List allCamp = new ArrayList<>(10); + Map> mapTemp = new HashMap<>(); config.values().forEach(v->{ map.put(v.getId(),v); - weight.put(v.getId(),v.getGetRate()); + //weight修改成只有当前卡池和对应权重 + if(v.getCamp()!=0){ + mapTemp.putIfAbsent(v.getCamp(),new HashMap<>()); + mapTemp.get(v.getCamp()).put(v.getId(),v.getGetRate()); + }else{ + allCamp.add(v.getId()); + } }); + //把0权重的放进去 + allCamp.forEach(i->mapTemp.forEach((k,v)->v.put(i,map.get(i).getGetRate()))); } @@ -42,5 +52,7 @@ public class SWishActivityPool implements BaseConfig { return getRate; } - + public int getCamp() { + return camp; + } } \ No newline at end of file From d70deeeed3529a195cff945f52594bdcec537aa1 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 2 Jul 2021 18:25:31 +0800 Subject: [PATCH 40/42] =?UTF-8?q?=E5=90=8C=E7=B3=BB=E5=8D=A1=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tablemanager/src/main/java/config/SWishActivityPool.java | 1 + 1 file changed, 1 insertion(+) diff --git a/tablemanager/src/main/java/config/SWishActivityPool.java b/tablemanager/src/main/java/config/SWishActivityPool.java index e143ec996..0cf2c1213 100644 --- a/tablemanager/src/main/java/config/SWishActivityPool.java +++ b/tablemanager/src/main/java/config/SWishActivityPool.java @@ -37,6 +37,7 @@ public class SWishActivityPool implements BaseConfig { }); //把0权重的放进去 allCamp.forEach(i->mapTemp.forEach((k,v)->v.put(i,map.get(i).getGetRate()))); + weight = mapTemp; } From 610087bc1da9a4f44e483ba84868eb325214988e Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 2 Jul 2021 18:27:01 +0800 Subject: [PATCH 41/42] =?UTF-8?q?=E6=B3=A8=E9=87=8A=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tablemanager/src/main/java/config/SWishActivityPool.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tablemanager/src/main/java/config/SWishActivityPool.java b/tablemanager/src/main/java/config/SWishActivityPool.java index 0cf2c1213..451fc1c5d 100644 --- a/tablemanager/src/main/java/config/SWishActivityPool.java +++ b/tablemanager/src/main/java/config/SWishActivityPool.java @@ -35,8 +35,9 @@ public class SWishActivityPool implements BaseConfig { allCamp.add(v.getId()); } }); - //把0权重的放进去 + //把通用系的的放进去 allCamp.forEach(i->mapTemp.forEach((k,v)->v.put(i,map.get(i).getGetRate()))); + //最后再赋值 weight = mapTemp; } From d72acbcea7666ae76f5517d27008c895d9bcce40 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Fri, 2 Jul 2021 20:19:33 +0800 Subject: [PATCH 42/42] =?UTF-8?q?=E5=A5=96=E6=B1=A0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/activity/ActivityLogic.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java index 5c506c136..11fc1fefa 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/ActivityLogic.java @@ -1613,13 +1613,13 @@ public class ActivityLogic implements IEventHandler{ // 根据玩家选取得up奖励id获取详细信息 int[] incs = up.get(upRewardId); //拿到当前阵营 - int camp = incs[3]; + int camp = incs[4]; // 排序权重map Map weight = new TreeMap<>(SWishActivityPool.weight.get(camp)); // 常驻卡池 Map poolMap = SWishActivityPool.map; - // 讲up奖励id得权重加入到整个卡池权重中 - weight.put(weight.size()+1,incs[2]); + // 将up奖励id得权重加入到整个卡池权重中 + weight.put(-1,incs[2]); // 计算总权重 int totalWeight = weight.values().stream().mapToInt(Integer::intValue).sum();