package com.zy.acs.manager.manager.enums; import com.zy.acs.framework.common.SpringUtils; import com.zy.acs.manager.common.exception.BusinessException; import com.zy.acs.manager.common.utils.DataFieldSortFunc; import com.zy.acs.manager.manager.entity.TaskSts; import com.zy.acs.manager.manager.service.TaskStsService; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public enum TaskStsType implements DataFieldSortFunc { INIT(1), WAITING(2), ASSIGN(3), PROGRESS(4), COMPLETE(5), CANCEL(6), ; public int dataSort; TaskStsType(int dataSort) { this.dataSort = dataSort; } public long val() { TaskStsService service = SpringUtils.getBean(TaskStsService.class); TaskSts taskSts = service.selectByUuid(this.toString()); if (taskSts == null) { throw new BusinessException("TaskStsType Error!"); } return taskSts.getId(); } @Override public List getDataFieldSort() { return Arrays.stream(TaskStsType.values()) .sorted((e1, e2) -> Integer.compare(e1.dataSort, e2.dataSort)) .map(Enum::name) .collect(Collectors.toList()); } }