| | |
| | | |
| | | 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; |
| | | |
| | | public enum TaskStsType { |
| | | import java.util.Arrays; |
| | | import java.util.EnumMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | INIT, |
| | | WAITING, |
| | | ASSIGN, |
| | | PROGRESS, |
| | | COMPLETE, |
| | | public enum TaskStsType implements DataFieldSortFunc { |
| | | |
| | | INIT(1), |
| | | WAITING(2), |
| | | ASSIGN(3), |
| | | PROGRESS(4), |
| | | COMPLETE(5), |
| | | CANCEL(6), |
| | | ; |
| | | |
| | | TaskStsType() { |
| | | public int dataSort; |
| | | |
| | | TaskStsType(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(TaskStsType.values()) |
| | | .sorted((e1, e2) -> Integer.compare(e1.dataSort, e2.dataSort)) |
| | | .map(Enum::name) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | |
| | | } |