From e607cb442d029fbcca601d4fcc01e17052d6d072 Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Thu, 11 Apr 2024 16:17:16 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=B3=95=E5=AE=9D=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=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/dao/Hero.java | 4 ++-- .../ljsd/jieling/logic/equip/EquipLogic.java | 24 ++++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java index 6264beea2..e772a3849 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Hero.java @@ -601,8 +601,8 @@ public class Hero extends MongoBase implements Comparable,Cloneable { return this.level; } - public void setBauBlesId(String bauBlesId) { - this.bauBlesId = bauBlesId; + public void setBauBlesId(String bauBles) { + this.bauBlesId = bauBles; updateString("bauBlesId", bauBlesId); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java index 664640e86..9ac7234de 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java @@ -839,10 +839,9 @@ public class EquipLogic { if (hero == null){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE, "英雄不存在"); } - + String heroBauBlesId = hero.getBauBlesId(); if (baublesId.isEmpty()){ // 卸下 - String heroBauBlesId = hero.getBauBlesId(); Baubles baubles = equipManager.getBaubles(heroBauBlesId); hero.setBauBlesId(""); baubles.setHeroId(""); @@ -853,16 +852,23 @@ public class EquipLogic { if (baubles == null || !StringUtil.isEmpty(baubles.getMasterId())){ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE, "法宝不存在或者处于庇佑状态"); } + // 检查英雄和法宝是否各有装备 + if (!StringUtil.isEmpty(heroBauBlesId)){ + hero.setBauBlesId(""); + Baubles heroBauBles = equipManager.getBaubles(heroBauBlesId); + if (heroBauBles != null){ + heroBauBles.setHeroId(""); + } + } String baublesHeroId = baubles.getHeroId(); if (!StringUtil.isEmpty(baublesHeroId)){ - Hero hero1 = heroManager.getHero(baublesHeroId); - hero1.setBauBlesId(""); - } - String heroBauBlesId = hero.getBauBlesId(); - if (!StringUtil.isEmpty(heroBauBlesId)){ - Baubles baubles1 = equipManager.getBaubles(heroBauBlesId); - baubles1.setHeroId(""); + baubles.setHeroId(""); + Hero baublesHero = heroManager.getHero(baublesHeroId); + if (baublesHero != null){ + baublesHero.setBauBlesId(""); + } } + // 装备法宝,双向索引 hero.setBauBlesId(baublesId); baubles.setHeroId(heroId); } From da13ea697f85bd7693a5d2d959e49af789370818 Mon Sep 17 00:00:00 2001 From: grimm <1769111741@qq.com> Date: Mon, 15 Apr 2024 17:27:00 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=A4=BC=E7=89=A9=E5=8D=87=E6=98=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/ljsd/jieling/logic/dao/Item.java | 6 +++--- .../main/java/com/ljsd/jieling/logic/dao/ItemManager.java | 2 -- .../main/java/com/ljsd/jieling/logic/equip/EquipLogic.java | 3 ++- .../src/main/java/com/ljsd/jieling/util/ItemUtil.java | 5 +++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java index f64412bda..0876d691e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/Item.java @@ -29,8 +29,8 @@ public class Item extends MongoBase { } public void setItemId(int itemId){ - updateString("itemId", itemId); this.itemId = itemId; + updateString("itemId", itemId); } public long getItemNum() { @@ -38,8 +38,8 @@ public class Item extends MongoBase { } public void setItemNum(long itemNum){ - updateString("itemNum", itemNum); this.itemNum = itemNum; + updateString("itemNum", itemNum); } public int getEndingTime() { @@ -47,7 +47,7 @@ public class Item extends MongoBase { } public void setEndingTime(int endingTime){ - updateString("endingTime", endingTime); this.endingTime = endingTime; + updateString("endingTime", endingTime); } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java index be7d956e5..5c877d332 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/ItemManager.java @@ -48,8 +48,6 @@ public class ItemManager extends MongoBase { updateString("equipBookEnabled", equipBookEnabled); } - - public ItemManager() { this.setRootCollection(User._COLLECTION_NAME); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java index 9ac7234de..325066341 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/equip/EquipLogic.java @@ -637,8 +637,9 @@ public class EquipLogic { if (!cost){ throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); } + CommonProto.Drop.Builder drop = ItemUtil.drop(user, new int[][]{{giftId, 1}}, BIReason.GIFT_UP_STAR_GET); - ItemUtil.itemCost(user, costList, BIReason.GIFT_EQUIP_UP_COST, 0); + ItemUtil.itemCost(user, costList, BIReason.GIFT_UP_STAR_COST, 0); HeroInfoProto.GiftEquipUpStarResponse.Builder builder = HeroInfoProto.GiftEquipUpStarResponse.newBuilder().setDrop(drop); MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GiftEquipUpStarResponse_VALUE, builder.build(), true); } 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 cd6c2ba5c..d5781564b 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/ItemUtil.java @@ -1102,7 +1102,7 @@ public class ItemUtil { switch (itemId){ case ReportUtil.COIN_ID: if(type==1){ - item =ReportEventEnum.GET_COINS; + item = ReportEventEnum.GET_COINS; }else{ item = ReportEventEnum.COST_COINS; } @@ -1122,7 +1122,8 @@ public class ItemUtil { } break; default: - return; + item = ReportEventEnum.GET_ITEM; + break; } ReportUtil.onReportEvent(user,item.getType(),itemNum,String.valueOf(reason));