106 lines
2.1 KiB
Java
106 lines
2.1 KiB
Java
package com.bestsch.classicalchinese.enums;
|
|
|
|
import lombok.Data;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.EnumSet;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
|
|
public enum Subject
|
|
{
|
|
YW(40,"语文","SUB01"),
|
|
SX(41,"数学","SUB02"),
|
|
YY(42,"英语","SUB03"),
|
|
WL(74,"物理","SUB04"),
|
|
HX(75,"化学","SUB05"),
|
|
SW(76,"生物","SUB06"),
|
|
XX(111,"信息","SUB7"),
|
|
PD(112,"道法","SUB8"),
|
|
TY(113,"体育","SUB9"),
|
|
MS(114,"美术","SUB10"),
|
|
KX(115,"科学","SUB11"),
|
|
LJ(116,"劳技","SUB12"),
|
|
LS(117,"历史","SUB13"),
|
|
DL(118,"地理","SUB14"),
|
|
ZZ(119,"政治","SUB15");
|
|
|
|
private int id;
|
|
private String name;
|
|
private String code;
|
|
|
|
Subject(int id, String name, String code)
|
|
{
|
|
this.id = id;
|
|
this.name = name;
|
|
this.code = code;
|
|
}
|
|
|
|
public int getId()
|
|
{
|
|
return id;
|
|
}
|
|
|
|
public String getName()
|
|
{
|
|
return name;
|
|
}
|
|
|
|
public String getCode()
|
|
{
|
|
return code;
|
|
}
|
|
|
|
public static Subject getByCode(String code)
|
|
{
|
|
return codeMap.get(code);
|
|
}
|
|
|
|
private static List<Subject> list;
|
|
private static Map<String, Subject> codeMap;
|
|
public static List<Subject> list()
|
|
{
|
|
if (list != null) return list;
|
|
EnumSet<Subject> statusSet = EnumSet.allOf(Subject.class);
|
|
list = new ArrayList<>(statusSet);
|
|
codeMap = list.stream().collect(Collectors.toMap(Subject::getCode, Subject -> Subject));
|
|
return list;
|
|
}
|
|
|
|
static
|
|
{
|
|
list();
|
|
}
|
|
|
|
@Data
|
|
public static class Dto
|
|
{
|
|
private int id;
|
|
private String name;
|
|
private String code;
|
|
}
|
|
|
|
public Dto toDto()
|
|
{
|
|
Dto dto = new Dto();
|
|
dto.setId(id);
|
|
dto.setName(name);
|
|
dto.setCode(code);
|
|
return dto;
|
|
}
|
|
|
|
private static List<Dto> dtoList;
|
|
public static List<Dto> dtoList()
|
|
{
|
|
if (dtoList != null) return dtoList;
|
|
List<Dto> dtoList = new ArrayList<>();
|
|
|
|
for (Subject subject: list())
|
|
dtoList.add(subject.toDto());
|
|
|
|
return dtoList;
|
|
}
|
|
|
|
}
|