|  |  | 
 |  |  | import com.zy.acs.manager.manager.service.TaskStsService; | 
 |  |  |  | 
 |  |  | import java.util.Arrays; | 
 |  |  | import java.util.EnumMap; | 
 |  |  | import java.util.List; | 
 |  |  | import java.util.Map; | 
 |  |  | import java.util.stream.Collectors; | 
 |  |  |  | 
 |  |  | public enum TaskStsType implements DataFieldSortFunc { | 
 |  |  | 
 |  |  |     ASSIGN(3), | 
 |  |  |     PROGRESS(4), | 
 |  |  |     COMPLETE(5), | 
 |  |  |     CANCEL(6), | 
 |  |  |     ; | 
 |  |  |  | 
 |  |  |     public int dataSort; | 
 |  |  | 
 |  |  |         this.dataSort = dataSort; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private static final Map<TaskStsType, Long> cache = new EnumMap<>(TaskStsType.class); | 
 |  |  |  | 
 |  |  |     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(); | 
 |  |  |         return cache.computeIfAbsent(this, key -> { | 
 |  |  |             TaskStsService service = SpringUtils.getBean(TaskStsService.class); | 
 |  |  |             TaskSts taskSts = service.selectByUuid(key.toString()); | 
 |  |  |             if (taskSts == null) { | 
 |  |  |                 throw new BusinessException("TaskStsType Error for " + key); | 
 |  |  |             } | 
 |  |  |             return taskSts.getId(); | 
 |  |  |         }); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<String> getDataFieldSort() { | 
 |  |  |         return Arrays.stream(BusStsType.values()) | 
 |  |  |         return Arrays.stream(TaskStsType.values()) | 
 |  |  |                 .sorted((e1, e2) -> Integer.compare(e1.dataSort, e2.dataSort)) | 
 |  |  |                 .map(Enum::name) | 
 |  |  |                 .collect(Collectors.toList()); |