From 4c11a6db16d8e31e49adb615b0a1fa9c5e8cf0e1 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Thu, 25 Nov 2021 16:34:50 +0800 Subject: [PATCH 1/6] log --- .../java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java | 4 ++++ .../main/java/com/ljsd/jieling/thread/task/MinuteTask.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java index d193d7a64..a07da74f5 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java @@ -194,14 +194,18 @@ public class CrossLingmaiLogic { //TODO 之后删除 public void fixBug(){ + LOGGER.error("lingmaimijing6"); //初始化数据 int crossGroup = GlobleSystemLogic.getInstence().getCrossGroup(); if (crossGroup == -1) { + LOGGER.error("lingmaifenzu:"+crossGroup); return; } Map lingMaiMap1 = RedisUtil.getInstence().getMapValues(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + 1, String.class, LingMaiSecretArea.class); Map lingMaiMap2 = RedisUtil.getInstence().getMapValues(RedisKey.CROSS_LINGMAISECRET_INFO, crossGroup + RedisKey.Delimiter_colon + 2, String.class, LingMaiSecretArea.class); + LOGGER.error("lingmaimijing4"); fixBugUpdateLingmaiData(lingMaiMap1,crossGroup,1); + LOGGER.error("lingmaimijing5"); fixBugUpdateLingmaiData(lingMaiMap2,crossGroup,2); LOGGER.error("lingmaimijing1"); //排行榜删除 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java index 410c8e3c8..ad5e07f57 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java @@ -337,7 +337,7 @@ public class MinuteTask extends Thread { //bug 修复 if(w==4){ - if(hour ==10 && minute ==20){ + if(hour ==10 && minute ==50){ LOGGER.error("lingmaimijing0 000000"); CrossLingmaiLogic.getInstance().fixBug(); } From 17e32849ae5b6007b80f1da1f37b64b4c89ebc01 Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Thu, 25 Nov 2021 16:39:23 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E7=81=B5=E5=85=BD=E5=AE=9D=E9=98=81?= =?UTF-8?q?=E9=A2=86=E5=8F=96bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/jieling/logic/activity/AbstractActivity.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java index 0c226df3f..b279be07a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java @@ -176,14 +176,19 @@ public abstract class AbstractActivity implements IActivity, IEventHandler { SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id); //up miss - int[][] reward = new int[1][2]; + int[][] reward=sActivityRewardConfig.getReward(); if(sGlobalActivity.getType() == ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY) { + int[][] monReward = new int[1][2]; int summonId=activityMission.getActivityMissionMap().get(0).getProgrss(); if (summonId>0){ SSpiritAnimalSummon summonConfig=STableManager.getConfig(SSpiritAnimalSummon.class).get(summonId); - reward[0][0]=summonConfig.getOriginalItem(); - reward[0][1]=sActivityRewardConfig.getReward()[0][1]; + monReward[0][0]=summonConfig.getOriginalItem(); + monReward[0][1]=reward[0][1]; + }else{ + monReward[0][0]=reward[0][0]; + monReward[0][1]=reward[0][1]; } + reward=monReward; } CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD); checkAndSetProgress(activityMission, activityProgressInfo, missionId); From f8501013228afdd646929ff7bf0899a4d0e74dca Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Thu, 25 Nov 2021 16:56:36 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E7=81=B5=E5=85=BD=E5=AE=9D=E9=98=81bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ljsd/jieling/logic/activity/AbstractActivity.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java index b279be07a..3c63b47ba 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/AbstractActivity.java @@ -178,17 +178,14 @@ public abstract class AbstractActivity implements IActivity, IEventHandler { //up miss int[][] reward=sActivityRewardConfig.getReward(); if(sGlobalActivity.getType() == ActivityType.SPECIAL_MONSTER_RANDOM_ACTIVITY) { - int[][] monReward = new int[1][2]; int summonId=activityMission.getActivityMissionMap().get(0).getProgrss(); if (summonId>0){ + int[][] monReward = new int[1][2]; SSpiritAnimalSummon summonConfig=STableManager.getConfig(SSpiritAnimalSummon.class).get(summonId); monReward[0][0]=summonConfig.getOriginalItem(); monReward[0][1]=reward[0][1]; - }else{ - monReward[0][0]=reward[0][0]; - monReward[0][1]=reward[0][1]; + reward=monReward; } - reward=monReward; } CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD); checkAndSetProgress(activityMission, activityProgressInfo, missionId); From af0b9547c504bc60ea29dc3d4c0e706bb1daafbc Mon Sep 17 00:00:00 2001 From: jiahuiwen Date: Thu, 25 Nov 2021 17:41:32 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=88=A0=20RechargeCommo?= =?UTF-8?q?dityConfig?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/store/BuyGoodsNewLogic.java | 61 +++++++++++++++++-- .../newRechargeInfo/NewRechargeInfo.java | 21 ++++++- 2 files changed, 73 insertions(+), 9 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 387221167..518d3733e 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 @@ -496,7 +496,7 @@ public class BuyGoodsNewLogic { } }else{ if(bag.getType() == RechargeType.push.getType() && !bag.isOpen()){ - user.getPlayerInfoManager().getNewRechargeInfo().removePush((PushWelfareBag) bag); + user.getPlayerInfoManager().getNewRechargeInfo().removePush(bag.getModId()); return true; } if(bag.getType() == RechargeType.timeLimit.getType()){ @@ -586,7 +586,7 @@ public class BuyGoodsNewLogic { bag.setLastBuyTime(0); bag.setBuyTimes(0); if(bag.getType() == RechargeType.push.getType()){ - user.getPlayerInfoManager().getNewRechargeInfo().removePush((PushWelfareBag) bag); + user.getPlayerInfoManager().getNewRechargeInfo().removePush(bag.getModId()); } } @@ -640,26 +640,71 @@ public class BuyGoodsNewLogic { User user = UserManager.getUser(uid); boolean needChange = refreshWelfareState(user); NewRechargeInfo rechargeInfo = user.getPlayerInfoManager().getNewRechargeInfo(); + Set needRemoveIds = new HashSet<>(); for(AbstractWelfareBag bag : rechargeInfo.getPerpetualMap().values()){ if(bag.isOpen()){ - giftGoodsInfoList.add(buildGoodsInfo(bag)); + CommonProto.GiftGoodsInfo giftGoodsInfo = buildGoodsInfo(bag); + if (giftGoodsInfo == null) { + needRemoveIds.add(bag.getModId()); + continue; + } + giftGoodsInfoList.add(giftGoodsInfo); } } + if (!needRemoveIds.isEmpty()) { + for (Integer needRemoveId : needRemoveIds) { + rechargeInfo.removePerpetualMap(needRemoveId); + } + needRemoveIds.clear(); + } for(AbstractWelfareBag bag : rechargeInfo.getTimeLimitMap().values()){ if(bag.isOpen()){ - giftGoodsInfoList.add(buildGoodsInfo(bag)); + CommonProto.GiftGoodsInfo giftGoodsInfo = buildGoodsInfo(bag); + if (giftGoodsInfo == null) { + needRemoveIds.add(bag.getModId()); + continue; + } + giftGoodsInfoList.add(giftGoodsInfo); } } + if (!needRemoveIds.isEmpty()) { + for (Integer needRemoveId : needRemoveIds) { + rechargeInfo.removeTimeLimitMap(needRemoveId); + } + needRemoveIds.clear(); + } for(AbstractWelfareBag bag : rechargeInfo.getReceiveMap().values()){ if(bag.isOpen()){ - giftGoodsInfoList.add(buildGoodsInfo(bag)); + CommonProto.GiftGoodsInfo giftGoodsInfo = buildGoodsInfo(bag); + if (giftGoodsInfo == null) { + needRemoveIds.add(bag.getModId()); + continue; + } + giftGoodsInfoList.add(giftGoodsInfo); } } + if (!needRemoveIds.isEmpty()) { + for (Integer needRemoveId : needRemoveIds) { + rechargeInfo.removeReceiveMap(needRemoveId); + } + needRemoveIds.clear(); + } for(AbstractWelfareBag bag : rechargeInfo.getPushMap().values()){ if(bag.isOpen()){ - giftGoodsInfoList.add(buildGoodsInfo(bag)); + CommonProto.GiftGoodsInfo giftGoodsInfo = buildGoodsInfo(bag); + if (giftGoodsInfo == null) { + needRemoveIds.add(bag.getModId()); + continue; + } + giftGoodsInfoList.add(giftGoodsInfo); } } + if (!needRemoveIds.isEmpty()) { + for (Integer needRemoveId : needRemoveIds) { + rechargeInfo.removePush(needRemoveId); + } + needRemoveIds.clear(); + } giftGoodsInfoList.sort((o1, o2) -> { if(o1.getGoodsId() > o2.getGoodsId()){ return 1; @@ -770,6 +815,10 @@ public class BuyGoodsNewLogic { } public static CommonProto.GiftGoodsInfo buildGoodsInfo(AbstractWelfareBag bag){ + SRechargeCommodityNewConfig configById = SRechargeCommodityNewConfig.getConfigById(bag.getModId()); + if (configById == null) { + return null; + } CommonProto.GiftGoodsInfo.Builder builder = CommonProto.GiftGoodsInfo.newBuilder(); builder.setGoodsId(bag.getModId()); builder.setBuyTimes(bag.getBuyTimes()); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/NewRechargeInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/NewRechargeInfo.java index b296d99e9..4940a3f4f 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/NewRechargeInfo.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/newRechargeInfo/NewRechargeInfo.java @@ -204,9 +204,24 @@ public class NewRechargeInfo extends MongoBase { updateString("pushMap."+bag.getModId(),bag); } - public void removePush(PushWelfareBag bag){ - pushMap.remove(bag.getModId()); - removeString(getMongoKey() + ".pushMap."+bag.getModId()); + public void removePerpetualMap(int modId){ + perpetualMap.remove(modId); + removeString(getMongoKey() + ".perpetualMap."+modId); + } + + public void removeTimeLimitMap(int modId){ + timeLimitMap.remove(modId); + removeString(getMongoKey() + ".timeLimitMap."+modId); + } + + public void removeReceiveMap(int modId){ + receiveMap.remove(modId); + removeString(getMongoKey() + ".receiveMap."+modId); + } + + public void removePush(int modId){ + pushMap.remove(modId); + removeString(getMongoKey() + ".pushMap."+modId); } public int getMainLineLost() { From 609bea38bd9f4e063a270ee40f991635d8f2236d Mon Sep 17 00:00:00 2001 From: yuanshuai <243578945@qq.com> Date: Thu, 25 Nov 2021 17:49:29 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/activity/ActivityType.java | 43 +++++++++---------- 1 file changed, 20 insertions(+), 23 deletions(-) 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 e93a81462..658f69b6d 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 @@ -47,11 +47,9 @@ public interface ActivityType { int EXPEDITION_EXPERT = 26;//天宫达人 int THREE_WORLD_NEW = 27;//新版三界降魔活动 - - int LUCK_WHEEL= 30;//幸运转盘 int LUCK_WHEEL_ADVANCE= 31;//高级幸运转盘 - + int DEMON_TREASURE = 36;//降妖夺宝 int ESPECIALEQUIP_EXPERT = 37;//法宝达人 int SOULEQUIP_EXPERT = 38;//魂印达人 @@ -76,36 +74,22 @@ public interface ActivityType { int NEW_EIGHT_LOGIN = 56;//新的八日登录 int SIGN_BOX= 57;//累计签到宝箱 int JADE_DYNASTY_RECHARGE_SUM = 58;//破阵诛仙累充 - int TA_SUI_LING_XIAO = 66;//踏碎凌霄 - int JADE_DYNASTY_MISSION = 20000;//破阵诛仙任务 - int JADE_DYNASTY_SHOP = 20001;//破阵诛仙限时商市 - int JADE_DYNASTY_RARE_SHOP = 20002;//破阵诛仙珍奇宝阁 - int CHOICE_DRAW_CRAD = 20003;//心愿抽奖(选择抽卡) - int LING_LONG_PAVILION = 20005;//玲珑宝阁 - int ITEMS_STORE= 6000;//百宝商会 - int TRIAL_EXPERT = 70;//幻境达人 + int SHEJI_ACTIVITY = 60;//社稷大典 int GOOD_LUCK= 61;//扭转乾坤 int COW_FLY_SKY = 62;//牛气冲天 int LUCKY_GET = 63;//福星高照 int FIFTEEN_LOGIN = 64;//十五日签到 int EQUIP_UPLEVEL = 65;//云游商人 - int HARD_STAGE_EXERCISE = 68;//山河试炼 - - int SUB_ACTIVITY = 8000;//易经宝库 - int SKIN_RECHARGE_ACTIVITY = 71; - int SPECIAL_MONSTER_RANDOM_ACTIVITY = 100;//灵兽限时抽卡 - int SPECIAL_MONSTER_GIFT_ACTIVITY = 101;//灵兽礼包 - - int DEMON_TREASURE = 36;//降妖夺宝 - int NEW_GENERAL_ATTACK = 200;//新将来袭 - + int TA_SUI_LING_XIAO = 66;//踏碎凌霄 int QI_MEN_DUN_JIA = 67;//奇门遁甲 + int HARD_STAGE_EXERCISE = 68;//山河试炼 int SUPER_BOX = 69;//惊喜礼盒 + int TRIAL_EXPERT = 70;//幻境达人 + int SKIN_RECHARGE_ACTIVITY = 71; int MISTY_TRIP = 72;//缥缈之旅 int SUPER_DISCOUNT_SKIN = 73;//特惠神装 - int HERO_STAR = 500; - + int TRUMP_GACHA_ACTIVITY=74;//天地洪炉(法宝聚灵抽奖活动) int SUPERFUND128 = 78;//超值基金128 int SUPERFUND328 = 79;//超值基金328 int PREPARE_FIFTEEN_ACTIVITY = 80;//15日登陆预告 @@ -114,6 +98,19 @@ public interface ActivityType { int SEVEN_WORLD_TREASURE = 83;//七界秘宝 int RIDING_SWARD = 84;//御剑飞行 + int SPECIAL_MONSTER_RANDOM_ACTIVITY = 100;//灵兽宝阁活动 + int SPECIAL_MONSTER_GIFT_ACTIVITY = 101;//灵兽礼包 + + + int NEW_GENERAL_ATTACK = 200;//新将来袭 + int HERO_STAR = 500; + int ITEMS_STORE= 6000;//百宝商会 int ITEMS_STORE_NEW = 6001;//新百宝商会 + int SUB_ACTIVITY = 8000;//易经宝库 + int JADE_DYNASTY_MISSION = 20000;//破阵诛仙任务 + int JADE_DYNASTY_SHOP = 20001;//破阵诛仙限时商市 + int JADE_DYNASTY_RARE_SHOP = 20002;//破阵诛仙珍奇宝阁 + int CHOICE_DRAW_CRAD = 20003;//心愿抽奖(选择抽卡) + int LING_LONG_PAVILION = 20005;//玲珑宝阁 } From c11813b44e0766f272565e6d0cf4a3b9f874ec27 Mon Sep 17 00:00:00 2001 From: jiahuiwen Date: Thu, 25 Nov 2021 19:27:52 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=9C=88=E7=A4=BC=E5=8C=85=E7=89=B9?= =?UTF-8?q?=E6=AE=8A=E5=A4=84=E7=90=86=EF=BC=8C=E5=8F=AF=E6=AF=8F=E6=97=A5?= =?UTF-8?q?=E9=83=BD=E5=88=B7=E6=96=B0=E8=B4=AD=E4=B9=B0=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/store/BuyGoodsNewLogic.java | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 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 518d3733e..0448ba51d 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 @@ -485,15 +485,27 @@ public class BuyGoodsNewLogic { SRechargeCommodityNewConfig configById = SRechargeCommodityNewConfig.getConfigById(bag.getModId()); boolean result = false; //判断刷新时间 - if(bag.getRefreshTime() != 0 && bag.getRefreshTime() < System.currentTimeMillis()){ + long now = TimeUtils.now(); + if(bag.getRefreshTime() != 0 && bag.getRefreshTime() < now){ bag.refresh(); result = true; } if(bag.isOpen()){ - if(bag.getType() != 1 && bag.getEndTime() != 0 && System.currentTimeMillis() > bag.getEndTime()){ + if(bag.getType() != 1 && bag.getEndTime() != 0 && now > bag.getEndTime()){ bagTimeUp(user,bag); result = true; } + // 月礼包 特殊处理,需要每日都刷新 + if (configById.getTime() == 8 && configById.getDailyUpdate() == 1) { + if (!TimeUtils.isSameDay(now, bag.getStartTime())) { + bag.setStartTime(now); + if (bag.getBuyTimes() > 0) { + bag.setBuyTimes(0); + } + bag.setOpen(true); + result = true; + } + } }else{ if(bag.getType() == RechargeType.push.getType() && !bag.isOpen()){ user.getPlayerInfoManager().getNewRechargeInfo().removePush(bag.getModId()); @@ -513,7 +525,7 @@ public class BuyGoodsNewLogic { } } }else{ - if(bag.getTimeType() == 9){ + if (bag.getTimeType() == 9) { boolean init = true; for(String[] con : bag.getCondition()){ if(!judgeOpen(con,user)){ @@ -528,7 +540,7 @@ public class BuyGoodsNewLogic { endTime = Long.parseLong(con[2])*1000; } } - bag.setStartTime(System.currentTimeMillis()); + bag.setStartTime(now); if(endTime != 0){ bag.setEndTime(bag.getStartTime() + endTime); } @@ -537,7 +549,7 @@ public class BuyGoodsNewLogic { } }else{ boolean open = true; - if(System.currentTimeMillis() > bag.getStartTime()){ + if(now > bag.getStartTime()){ for(String[] con : bag.getCondition()){ if(!judgeOpen(con,user)){ open = false;