-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
問題点
UniverseEconomyAPI側ではマイナスであるときにエラーを投げると書いているが、実際には0のときにもエラーが投げられている
Lines 30 to 42 in aabae19
| /** | |
| * 指定したプレイヤーの所持金を追加する | |
| * | |
| * @param player プレイヤー | |
| * @param amount お金の量 | |
| * @throws UserNotFoundException ユーザーデータが存在しない | |
| * @throws MoneyNotFoundException お金データが存在しない | |
| * @throws CanNotAddMoneyException 桁数が多い | |
| * @throws ParameterException マイナスを指定している | |
| */ | |
| public void addMoney(Player player, Long amount) throws UserNotFoundException, MoneyNotFoundException, CanNotAddMoneyException, ParameterException { | |
| this.baseAddMoney(player, amount, "原因不明"); | |
| } |
Lines 32 to 52 in aabae19
| protected void baseAddMoney(Player player, Long amount, String reason) throws UserNotFoundException, MoneyNotFoundException, CanNotAddMoneyException, ParameterException { | |
| Long user_id; | |
| Money money_model; | |
| user_id = userRepository.getPrimaryKeyFromUUID(player.getUniqueId()); | |
| money_model = moneyRepository.getMoneyFromUserId(user_id); | |
| if (!baseCanAddMoney(money_model, amount)) { | |
| throw new CanNotAddMoneyException(); | |
| } | |
| if(amount <= 0){ | |
| throw new ParameterException("amountが0以下です。"); | |
| } | |
| Long money = money_model.getMoney(); | |
| money_model.setMoney(money + amount); | |
| if(reason == null){ | |
| moneyRepository.updateMoney(money_model, amount); | |
| } | |
| moneyRepository.updateMoney(money_model, amount, reason); | |
| } |
解決策
コードかドキュメントかのどちらかを修正し統一させる
Metadata
Metadata
Assignees
Labels
No labels