QuestionSubmitStatusEnum.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package com.example.onlinejudge.model.enums;
  2. import org.apache.commons.lang3.ObjectUtils;
  3. import java.util.Arrays;
  4. import java.util.List;
  5. import java.util.stream.Collectors;
  6. public enum QuestionSubmitStatusEnum {
  7. // 0 - 待判题、1 - 判题中、2 - 成功、3 - 失败
  8. WAITING("等待中", 0),
  9. RUNNING("判题中", 1),
  10. SUCCEED("成功", 2),
  11. FAILED("失败", 3);
  12. private final String text;
  13. private final Integer value;
  14. QuestionSubmitStatusEnum(String text, Integer value) {
  15. this.text = text;
  16. this.value = value;
  17. }
  18. /**
  19. * 获取值列表
  20. *
  21. * @return
  22. */
  23. public static List<Integer> getValues() {
  24. return Arrays.stream(values()).map(item -> item.value).collect(Collectors.toList());
  25. }
  26. /**
  27. * 根据 value 获取枚举
  28. *
  29. * @param value
  30. * @return
  31. */
  32. public static QuestionSubmitStatusEnum getEnumByValue(Integer value) {
  33. if (ObjectUtils.isEmpty(value)) {
  34. return null;
  35. }
  36. for (QuestionSubmitStatusEnum anEnum : QuestionSubmitStatusEnum.values()) {
  37. if (anEnum.value.equals(value)) {
  38. return anEnum;
  39. }
  40. }
  41. return null;
  42. }
  43. public Integer getValue() {
  44. return value;
  45. }
  46. public String getText() {
  47. return text;
  48. }
  49. }