| 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.manager.entity.AgvModel; | 
| import com.zy.acs.manager.manager.service.AgvModelService; | 
|   | 
| import java.util.EnumMap; | 
| import java.util.Map; | 
|   | 
| public enum AgvModelType { | 
|   | 
|     CTU_BOX_TRANSPORT_AGV, | 
|     UNDERDRIVE_AGV, | 
|     HEAVY_LOAD_STACKING_ROBOT, | 
|     FORKLIFT_AGV, | 
|     TOW_TRACTOR_AGV, | 
|     ; | 
|   | 
|     AgvModelType() { | 
|     } | 
|   | 
|     private static final Map<AgvModelType, Long> cache = new EnumMap<>(AgvModelType.class); | 
|   | 
|     public long val() { | 
|         return cache.computeIfAbsent(this, key -> { | 
|             AgvModelService service = SpringUtils.getBean(AgvModelService.class); | 
|             AgvModel agvModel = service.selectByType(this.toString()); | 
|             if (agvModel == null) { | 
|                 throw new BusinessException("AgvModelType Error!"); | 
|             } | 
|             return agvModel.getId(); | 
|         }); | 
|     } | 
|   | 
| } |