From f61459300773ab4a3bb2fe0b2c7448f07f126486 Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 15 Oct 2021 13:57:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E6=AC=A1=E6=8A=BC=E6=B3=A8=E4=B8=8D?= =?UTF-8?q?=E6=B6=88=E8=80=97=E9=81=93=E5=85=B7=E9=97=AE=E9=A2=98=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/ridingSward/RidingSwardLogic.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/ridingSward/RidingSwardLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/ridingSward/RidingSwardLogic.java index fce9234a3..7d46bcf20 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/ridingSward/RidingSwardLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/ridingSward/RidingSwardLogic.java @@ -301,6 +301,17 @@ public class RidingSwardLogic{ User user = verifyUser(uid); // 配置 SRidingSwardConfig config = STableManager.getConfig(SRidingSwardConfig.class).get(1); + // 验证道具数量 + if (proto.getCostNum() > config.getMaxRaiseNum()[1] || proto.getCostNum() < config.getJoinCost()[1]){ + throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH,"押注道具不满足最低或最高上限"); + } + // 道具消耗检验 + HashMap map = new HashMap<>(); + map.put(config.getMaxRaiseNum()[0],proto.getCostNum()); + boolean cost = ItemUtil.checkCost(user, map); + if (!cost){ + throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); + } // 投注记录,key:时间戳,value:竞猜记录信息 Map> recordMap = getRecordList(uid); // 获取下一场 @@ -312,17 +323,6 @@ public class RidingSwardLogic{ if (betNum >= config.getJoinCount()){ throw new ErrorCodeException(ErrorCode.REFRESH_WHEL_TIME_NOT); } - // 验证道具数量 - if (proto.getCostNum() > config.getMaxRaiseNum()[1] || proto.getCostNum() < config.getJoinCost()[1]){ - throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH,"押注道具不满足最低或最高上限"); - } - // 道具消耗 - HashMap map = new HashMap<>(); - map.put(config.getMaxRaiseNum()[0],proto.getCostNum()); - boolean checkCost = ItemUtil.itemCost(user, map, BIReason.RIDING_SWARD_BET,0); - if (!checkCost){ - throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH); - } RidingSwardRecord record = new RidingSwardRecord(nextTime,proto.getSwardId(),proto.getCostNum()); records.add(record); // 记录押注次数 @@ -343,6 +343,8 @@ public class RidingSwardLogic{ if (!records.isEmpty()){ RedisUtil.getInstence().putMapEntry(RedisKey.RIDING_SWARD_RECORD, String.valueOf(uid),String.valueOf(nextTime),records); } + // 道具消耗 + ItemUtil.itemCost(user, map, BIReason.RIDING_SWARD_BET,0); // 返回消息 sendRidingSwardInfo(uid); }