From cc43c55367f9d851100e85022a926858ab62c0ba Mon Sep 17 00:00:00 2001 From: wangyuan Date: Fri, 16 Aug 2019 13:49:12 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=B7=A5=E5=9D=8A=E7=AD=89=E7=BA=A7?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java index 5b8459301..0409a7a29 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/item/WorkShopLogic.java @@ -49,7 +49,7 @@ public class WorkShopLogic { oldLevl = workShopController.getTechnologyMap().get(profession).get(techId); } SWorkShopTechnology sWorkShopTechnology = SWorkShopTechnology.getsWorkTechMapByTechIdAndLevel(techId, oldLevl); - if(sWorkShopTechnology == null){ + if(sWorkShopTechnology == null || sWorkShopTechnology.getConsume().length<=0){ MessageUtil.sendErrorResponse(iSession,0,msgId,"maxLevel"); return; } From 10470c3dc89b3171dc00eda1c386f0a8f91e7437 Mon Sep 17 00:00:00 2001 From: zhangshanxue Date: Wed, 21 Aug 2019 08:56:02 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=8E=A9=E5=AE=B6?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/handler/GetPlayerInfoHandler.java | 2 + .../ljsd/jieling/logic/dao/PlayerManager.java | 13 ++++ .../com/ljsd/jieling/logic/hotfix/DoFix.java | 59 +++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 serverlogic/src/main/java/com/ljsd/jieling/logic/hotfix/DoFix.java 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 3020a277b..18f107c08 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/GetPlayerInfoHandler.java @@ -9,6 +9,7 @@ import com.ljsd.jieling.logic.GlobalDataManaager; import com.ljsd.jieling.logic.activity.ActivityLogic; import com.ljsd.jieling.logic.dao.*; import com.ljsd.jieling.logic.dao.root.User; +import com.ljsd.jieling.logic.hotfix.DoFix; import com.ljsd.jieling.logic.player.PlayerLogic; import com.ljsd.jieling.logic.store.BuyGoodsLogic; import com.ljsd.jieling.netty.cocdex.PacketNetData; @@ -126,6 +127,7 @@ public class GetPlayerInfoHandler extends BaseHandler{ try { MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_PLAYERINFO_RESPONSE_VALUE, getPlayerInfoResponse, true); ActivityLogic.getInstance().flushForLogin(user); + DoFix.getInstance().loginFix(user); RedisUtil.getInstence().set(RedisKey.USER_LOGIN_URL + userId, RPCServerTask.userCallBackUrl); LOGGER.info("back to client!"); if(user.getPlayerInfoManager().getGuidePoints().get(1)!=-1){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java index 1d1cd5a3a..659152087 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java @@ -74,6 +74,8 @@ public class PlayerManager extends MongoBase { private int rechargedaily; + private Set fixIds = new CopyOnWriteArraySet<>(); + public PlayerManager(){ this.setRootCollection(User._COLLECTION_NAME); } @@ -409,4 +411,15 @@ public class PlayerManager extends MongoBase { public void addRechargedaily(int rechargedaily) { this.rechargedaily += rechargedaily; } + + + public Set getFixIds() { + return fixIds; + } + + public void setFixIds(Set fixIds) { + updateString("fixIds", fixIds); + this.fixIds = fixIds; + } + } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/hotfix/DoFix.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/hotfix/DoFix.java new file mode 100644 index 000000000..577e00a28 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/hotfix/DoFix.java @@ -0,0 +1,59 @@ +package com.ljsd.jieling.logic.hotfix; + +import com.ljsd.jieling.logic.dao.ActivityManager; +import com.ljsd.jieling.logic.dao.ActivityMission; +import com.ljsd.jieling.logic.dao.ActivityProgressInfo; +import com.ljsd.jieling.logic.dao.root.User; + +import java.util.Map; +import java.util.Set; + +public class DoFix { + + /** + * 存储被热修复的记录 + * fix id 10000 修复活动记录值缺失 + */ + public static class Holder { + public final static DoFix instance = new DoFix(); + } + + public static DoFix getInstance() { + return DoFix.Holder.instance; + } + + private static int fixIndex = 10002; + + public void loginFix(User user) throws Exception { + + Set fixIds = user.getPlayerInfoManager().getFixIds(); + if (fixIds.contains(10004)) { + return; + } + fixIds.add(fixIndex); + user.getPlayerInfoManager().setFixIds(fixIds); + + fixActivityValue(user); + } + + private void fixActivityValue(User user) throws Exception { + int activityId = 14; + ActivityManager activityManager = user.getActivityManager(); + ActivityMission activityMission = activityManager.getActivityMissionMap().get(activityId); + if(activityMission.getValue()!=0){ + return; + } + int sum = 0; + for (Map.Entry entry : activityMission.getActivityProgressInfoMap().entrySet()) { + if (entry.getValue().getProgrss() == 1) { + sum++; + } + } + if(sum==0){ + return; + } + activityMission.setValue(sum); + } + + +} From 95e7381a2e8ef508e1589b87a641f7f6d508ee11 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Thu, 15 Aug 2019 16:49:19 +0800 Subject: [PATCH 3/3] print tlog --- .../com/ljsd/jieling/config/SRechargeCommodityConfig.java | 5 +++++ .../main/java/com/ljsd/jieling/ktbeans/KtEventUtils.java | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/SRechargeCommodityConfig.java b/serverlogic/src/main/java/com/ljsd/jieling/config/SRechargeCommodityConfig.java index 437e80bdc..d2188926e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/SRechargeCommodityConfig.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/SRechargeCommodityConfig.java @@ -15,6 +15,8 @@ public class SRechargeCommodityConfig implements BaseConfig { private int id; + private String name; + private int type; private int price; @@ -186,6 +188,9 @@ public class SRechargeCommodityConfig implements BaseConfig { return contiueDays; } + public String getName() { + return name; + } public void setStartTimeLong(long startTimeLong) { this.startTimeLong = startTimeLong; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/KtEventUtils.java b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/KtEventUtils.java index 0bbd07149..a2ae381d1 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/KtEventUtils.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/ktbeans/KtEventUtils.java @@ -73,7 +73,11 @@ public class KtEventUtils { int costTotal = (int)parm[4]; paramEventBean.add(String.valueOf(storeId)); paramEventBean.add(String.valueOf(buyItemId)); - paramEventBean.add(currencyMap.get(goldType)); + if(currencyMap.containsKey(goldType)){ + paramEventBean.add(currencyMap.get(goldType)); + }else{ + paramEventBean.add(Integer.toString(goldType)); + } paramEventBean.add(String.valueOf(buyTimes)); paramEventBean.add(String.valueOf(costTotal/buyTimes)); paramEventBean.add(String.valueOf(costTotal)); @@ -84,7 +88,7 @@ public class KtEventUtils { String payValid = payResult[(int)parm[2]]; String amount = String.valueOf( ((int)parm[3]/10)); SRechargeCommodityConfig sRechargeCommodityConfig = SRechargeCommodityConfig.rechargeCommodityConfigMap.get(goodsId); - paramEventBean.add("IN_GAME_"+sRechargeCommodityConfig.getType()); + paramEventBean.add(sRechargeCommodityConfig.getName()); paramEventBean.add(orderId); paramEventBean.add(payValid); paramEventBean.add(amount);