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.LocSts; import com.zy.acs.manager.manager.service.LocStsService; import java.util.EnumMap; import java.util.Map; public enum LocStsType { IDLE, STOCK, PAKIN, PAKOUT, DISABLED, OTHER, ; LocStsType() { } private static final Map cache = new EnumMap<>(LocStsType.class); public long val() { return cache.computeIfAbsent(this, key -> { LocStsService service = SpringUtils.getBean(LocStsService.class); LocSts locSts = service.selectByUuid(this.toString()); if (locSts == null) { throw new BusinessException("LocStsType Error!"); } return locSts.getId(); }); } }