package com.guo.learningprogresstracker.enums; import lombok.AllArgsConstructor; import java.util.Arrays; import java.util.Locale; @AllArgsConstructor public enum TaskApplicationStatusEnum { TODO("TODO", "待应用"), DOING("DOING", "应用中"), DONE("DONE", "已完成"); private final String code; private final String description; public String getCode() { return code; } public String getDescription() { return description; } public static TaskApplicationStatusEnum fromCodeOrDefault(String code) { if (code == null || code.trim().isEmpty()) { return TODO; } String normalized = code.trim().toUpperCase(Locale.ROOT); return Arrays.stream(values()) .filter(status -> status.code.equals(normalized)) .findFirst() .orElse(TODO); } }