Merge pull request 'enum 코드 조회 수정' (#119) from feat/dev_251201 into develop
Reviewed-on: https://kamco.gitea.gs.dabeeo.com/dabeeo/kamco-dabeeo-backoffice/pulls/119
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package com.kamco.cd.kamcoback.common.enums;
|
package com.kamco.cd.kamcoback.common.enums;
|
||||||
|
|
||||||
import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose;
|
import com.kamco.cd.kamcoback.common.utils.enums.CodeExpose;
|
||||||
|
import com.kamco.cd.kamcoback.common.utils.enums.CodeHidden;
|
||||||
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
|
import com.kamco.cd.kamcoback.common.utils.enums.EnumType;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
@@ -9,11 +10,13 @@ import lombok.Getter;
|
|||||||
@Getter
|
@Getter
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public enum SyncStateType implements EnumType {
|
public enum SyncStateType implements EnumType {
|
||||||
|
@CodeHidden
|
||||||
NOTYET("미처리"),
|
NOTYET("미처리"),
|
||||||
NOFILE("파일없음"),
|
NOFILE("파일없음"),
|
||||||
NOTPAIR("페어파일누락"),
|
NOTPAIR("페어파일누락"),
|
||||||
DUPLICATE("파일중복"),
|
DUPLICATE("파일중복"),
|
||||||
TYPEERROR("손상파일"),
|
TYPEERROR("손상파일"),
|
||||||
|
@CodeHidden
|
||||||
DONE("완료");
|
DONE("완료");
|
||||||
|
|
||||||
private final String desc;
|
private final String desc;
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package com.kamco.cd.kamcoback.common.utils.enums;
|
||||||
|
|
||||||
|
import java.lang.annotation.ElementType;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.RetentionPolicy;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
@Retention(RetentionPolicy.RUNTIME)
|
||||||
|
@Target(ElementType.FIELD)
|
||||||
|
public @interface CodeHidden {}
|
||||||
@@ -35,10 +35,19 @@ public class Enums {
|
|||||||
|
|
||||||
return Arrays.stream(enums)
|
return Arrays.stream(enums)
|
||||||
.map(e -> (EnumType) e)
|
.map(e -> (EnumType) e)
|
||||||
|
.filter(e -> !isHidden(enumClass, (Enum<?>) e))
|
||||||
.map(e -> new CodeDto(e.getId(), e.getText()))
|
.map(e -> new CodeDto(e.getId(), e.getText()))
|
||||||
.toList();
|
.toList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isHidden(Class<? extends Enum<?>> enumClass, Enum<?> e) {
|
||||||
|
try {
|
||||||
|
return enumClass.getField(e.name()).isAnnotationPresent(CodeHidden.class);
|
||||||
|
} catch (NoSuchFieldException ex) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** 특정 타입(enum)만 조회 /codes/{type} -> type = RoleType 같은 값 */
|
/** 특정 타입(enum)만 조회 /codes/{type} -> type = RoleType 같은 값 */
|
||||||
public static List<CodeDto> getCodes(String type) {
|
public static List<CodeDto> getCodes(String type) {
|
||||||
Class<? extends Enum<?>> enumClass = exposedEnumMap.get(type);
|
Class<? extends Enum<?>> enumClass = exposedEnumMap.get(type);
|
||||||
|
|||||||
Reference in New Issue
Block a user