Skip to content

Commit

Permalink
[BE-REFACTOR] 기술 리스트에 타입과 카테고리 영어 이름 포함 (#268)
Browse files Browse the repository at this point in the history
* refactor: 기술 리스트 조회 api 반환 값 변경

* refactor: 기술 타입, 카테고리 이미지 url 저장값 변경

* refactor: 불필요한 import 제거

* refactor: 이미지 url에서 확장자 제거

* refactor: 기술 카테고리 이미지 getter 수정
  • Loading branch information
jongmee authored Aug 21, 2024
1 parent d8da7b8 commit d5abb02
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 50 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public List<MoveResponse> findMovesByPokemon(Integer pokedexNumber) {
.toList();

return battleMoves.stream()
.map(this::toMoveResponseWithLogo)
.map(MoveResponse::from)
.toList();
}

Expand All @@ -51,15 +51,6 @@ private BattleMove findMoveById(String id) {
.orElseThrow(() -> new GlobalCustomException(ErrorMessage.MOVE_NOT_FOUND));
}

private MoveResponse toMoveResponseWithLogo(BattleMove battleMove) {
Type moveType = battleMove.type();
String typeLogo = moveType.getImage();
MoveCategory moveCategory = battleMove.category();
String categoryLogo = moveCategory.getImage();

return MoveResponse.of(battleMove, typeLogo, categoryLogo);
}

public BattleResultResponse calculateBattleResult(
String weatherId,
String myPokemonId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@
@Getter
public enum MoveCategory {

STATUS("변화", "status", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/move-category/status.png"),
STATUS("변화", "status", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/move-category/status"),
SPECIAL("특수", "special",
"https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/move-category/special.png"),
"https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/move-category/special"),
PHYSICAL("물리", "physical",
"https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/move-category/physical.png"),
"https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/move-category/physical"),
;

private final String name;
Expand All @@ -33,4 +33,8 @@ public static Optional<MoveCategory> findByEngName(String name) {
private boolean hasSameEngName(String name) {
return this.engName.equals(name);
}

public String getImage() {
return image + ".png";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,26 @@
public record MoveResponse(
String id,
String name,
String typeEngName,
String typeLogo,
String categoryEngName,
String categoryLogo,
Integer power,
Integer accuracy,
String effect
) {

public static MoveResponse of(BattleMove battleMove, String typeLogo, String categoryLogo) {
public static MoveResponse from(BattleMove battleMove) {
Type type = battleMove.type();
MoveCategory moveCategory = battleMove.category();

return new MoveResponse(
battleMove.id(),
battleMove.name(),
typeLogo,
categoryLogo,
type.getEngName(),
type.getImage(),
moveCategory.getEngName(),
moveCategory.getImage(),
battleMove.power(),
battleMove.accuracy(),
battleMove.effect()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
package com.pokerogue.helper.battle;

import com.pokerogue.helper.global.exception.ErrorMessage;
import com.pokerogue.helper.global.exception.GlobalCustomException;
import java.util.Arrays;
import java.util.Optional;
import lombok.Getter;

@Getter
public enum Type {

GRASS("grass", "풀", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/grass-1"),
POISON("poison", "독", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/poison-1"),
FIRE("fire", "불꽃", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/fire-1"),
WATER("water", "물", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/water-1"),
ELECTRIC("electric", "전기", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/electric-1"),
NORMAL("normal", "노말", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/normal-1"),
FAIRY("fairy", "페어리", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/fairy-1"),
BUG("bug", "벌레", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/bug-1"),
DARK("dark", "악", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/dark-1"),
DRAGON("dragon", "드래곤", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/dragon-1"),
FIGHTING("fighting", "격투", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/fighting-1"),
FLYING("flying", "비행", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/flying-1"),
GHOST("ghost", "고스트", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/ghost-1"),
GROUND("ground", "땅", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/ground-1"),
ICE("ice", "얼음", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/ice-1"),
ROCK("rock", "바위", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/rock-1"),
PSYCHIC("psychic", "에스퍼", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/psychic-1"),
STEEL("steel", "강철", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/steel-1"),
STELLAR("stellar", "스텔라", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/stellar-1"),
UNKNOWN("unknown", "언노운", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/unknown-1"),
GRASS("grass", "풀", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/grass"),
POISON("poison", "독", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/poison"),
FIRE("fire", "불꽃", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/fire"),
WATER("water", "물", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/water"),
ELECTRIC("electric", "전기", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/electric"),
NORMAL("normal", "노말", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/normal"),
FAIRY("fairy", "페어리", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/fairy"),
BUG("bug", "벌레", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/bug"),
DARK("dark", "악", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/dark"),
DRAGON("dragon", "드래곤", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/dragon"),
FIGHTING("fighting", "격투", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/fighting"),
FLYING("flying", "비행", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/flying"),
GHOST("ghost", "고스트", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/ghost"),
GROUND("ground", "땅", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/ground"),
ICE("ice", "얼음", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/ice"),
ROCK("rock", "바위", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/rock"),
PSYCHIC("psychic", "에스퍼", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/psychic"),
STEEL("steel", "강철", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/steel"),
STELLAR("stellar", "스텔라", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/stellar"),
UNKNOWN("unknown", "언노운", "https://dl70s9ccojnge.cloudfront.net/pokerogue-helper/pokerogue/type/unknown"),
;

private final String engName;
Expand All @@ -50,16 +50,4 @@ public static Optional<Type> findByEngName(String engName) {
.filter(type -> type.engName.equals(engName))
.findAny();
}

public String getImage() {
return image + ".png";
}

public String getName() {
return name;
}

public String getEngName() {
return engName;
}
}

0 comments on commit d5abb02

Please sign in to comment.