diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/UseAndPriceItemHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/UseAndPriceItemHandler.java index e8ebc4490..9819d0843 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/UseAndPriceItemHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/UseAndPriceItemHandler.java @@ -11,6 +11,7 @@ import com.ljsd.jieling.logic.item.ItemLogic; 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.javafx.collections.MappingChange; import config.SItem; import config.SMainLevelConfig; @@ -68,12 +69,21 @@ public class UseAndPriceItemHandler extends BaseHandlercostMap=new HashMap<>(); + costMap.put(itemId,useNum); int[][]rewardArr=SItem.getsItemMap().get(itemId).getUseGain(); int uid = iSession.getUid(); User user = UserManager.getUser(uid); + boolean isCost= ItemUtil.itemCost(user, costMap, BIReason.USER_ITEM, 0); + if (!isCost){ + LOGGER.error("资源包道具消耗失败"); + throw new ErrorCodeException(ErrorCode.HANDLE_FAILED); + } long[][]dropArr=useItemGetHookReward(user,rewardArr,useNum); ItemUtil.drop(user,dropArr,BIReason.USER_ITEM); + CommonProto.Drop.Builder drop = ItemUtil.drop(user, dropArr, BIReason.USER_ITEM); + ItemLogic.sendUseAndPriceItemMessage(iSession, MessageTypeProto.MessageType.USER_AND_PRICE_ITEM_RESPONSE_VALUE, drop); } else{ throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);