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.ActionSts; import com.zy.acs.manager.manager.service.ActionStsService; import java.util.EnumMap; import java.util.Map; public enum ActionStsType { PREPARE, ISSUED, FINISH, EXPIRED, ; ActionStsType() { } private static final Map cache = new EnumMap<>(ActionStsType.class); public long val() { return cache.computeIfAbsent(this, key -> { ActionStsService service = SpringUtils.getBean(ActionStsService.class); ActionSts actionSts = service.selectByUuid(this.toString()); if (actionSts == null) { throw new BusinessException("ActionStsType Error!"); } return actionSts.getId(); }); } }