| | |
| | | |
| | | 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.BusSts; |
| | | import com.zy.acs.manager.manager.service.BusStsService; |
| | | |
| | | public enum BusStsType { |
| | | import java.util.Arrays; |
| | | import java.util.EnumMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | RECEIVE, |
| | | PROGRESS, |
| | | FINISH, |
| | | CANCEL, |
| | | public enum BusStsType implements DataFieldSortFunc { |
| | | |
| | | RECEIVE(1), |
| | | PROGRESS(2), |
| | | FINISH(3), |
| | | CANCEL(4), |
| | | ; |
| | | |
| | | BusStsType() { |
| | | public int dataSort; |
| | | |
| | | BusStsType(int dataSort) { |
| | | this.dataSort = dataSort; |
| | | } |
| | | |
| | | private static final Map<BusStsType, Long> cache = new EnumMap<>(BusStsType.class); |
| | | |
| | | public long val() { |
| | | BusStsService service = SpringUtils.getBean(BusStsService.class); |
| | | BusSts busSts = service.selectByUuid(this.toString()); |
| | | if (busSts == null) { |
| | | throw new BusinessException("BusStsType Error!"); |
| | | } |
| | | return busSts.getId(); |
| | | return cache.computeIfAbsent(this, key -> { |
| | | BusStsService service = SpringUtils.getBean(BusStsService.class); |
| | | BusSts busSts = service.selectByUuid(this.toString()); |
| | | if (busSts == null) { |
| | | throw new BusinessException("BusStsType Error!"); |
| | | } |
| | | return busSts.getId(); |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public List<String> getDataFieldSort() { |
| | | return Arrays.stream(BusStsType.values()) |
| | | .sorted((e1, e2) -> Integer.compare(e1.dataSort, e2.dataSort)) |
| | | .map(Enum::name) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | |
| | | } |