#
vincentlu
2025-05-13 ebd2f4397a92c6a5096de1b86d59154363344720
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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();
        });
    }
 
}